2013-04-09 2 views
-1

Это, как я работаю на что нужно только ваш фронт текста, так что я не буду делать это через базу данных:Фатальная ошибка: Вызов неопределенной метода - ошибка

Фатальная ошибка: Вызов неопределенной метода МЕБЕ :: admin_tekst() в/главная/jesperbo/public_html/blabla.dk/admin_forside.php на линии 30

function admin_tekst() 
    { 
      if ($stmt = $this->mysqli->prepare('SELECT `tekst` FROM `forside_tekst`')) 
      { 
       $stmt->execute(); 
       $stmt->store_result(); 

       $stmt->bind_result($tekst); 

       while ($stmt->fetch()) { 
       ?> 
       <form action="#" method="post"> 
        <textarea name="tekst" cols="20" rows="15" class="new" style="width:100%;"><?php echo $tekst;?></textarea> 
        <input type="submit" name="opret" value="Opret Blog" class="new"> 
       </form> 
       <?php 
       } 
       $stmt->close(); 

      } else { 
       echo 'Der opstod en fejl i erklæringen: ' . $this->mysqli->error; 
      }  

    } 

Когда я его это так:

<?php 

        $admin_tekst = $mebe->admin_tekst(); 

        if(isset($_POST["opret"])) 
        { 
         $updater_forside = $mebe->updater_forside(); 
        } 

       ?> 

Updater работает Perfec теперь без проблем.

это admin_tekst(), который является проблемой

Когда я получаю информацию на странице:

session_start(); 
require_once("indhold/inc/fun_db.php"); 
$mebe = new mebe; 
$db = $mebe->db_c(); 

так вот, кажется, начало моего файла функции:

if(IN_DEBUG_MODE){ 
    ini_set("display_startup_errors", "on"); 
    ini_set("display_errors", "on"); 
     ini_set("html_errors", "false"); 
    error_reporting(-1); // -1 viser alle slags fejl beskeder 
    ini_set("ignore_repeated_errors", 0); 
} 
else{ 
    error_reporting(0); 
} 

class mebe 
{ 

private $mysqli; 
    function db_c() 
    { 
     $mysqli = new mysqli('localhost', '..', '..', '..'); 

     if ($mysqli->connect_errno) { 
      die('Fejl : ' . $mysqli->connect_errno); 
     } 
     mysqli_set_charset($mysqli, "utf8"); 
     $this->mysqli = $mysqli; 
    } 


    function admin_tekst() 
    { 
      if ($stmt = $this->mysqli->prepare('SELECT `tekst` FROM `forside_tekst`')) 
      { 
       $stmt->execute(); 
       $stmt->store_result(); 

       $stmt->bind_result($tekst); 

       while ($stmt->fetch()) { 
       ?> 
       <form action="#" method="post"> 
        <textarea name="tekst" cols="20" rows="15" class="new" style="width:100%;"><?php echo $tekst;?></textarea> 
        <input type="submit" name="opret" value="Opret Blog" class="new"> 
       </form> 
       <?php 
       } 
       $stmt->close(); 

      } else { 
       echo 'Der opstod en fejl i erklæringen: ' . $this->mysqli->error; 
      }  

    } 


    } 

} 

Вся другая функция работает нормально пример:

function updater_forside() 
    { 
     if ($stmt = $this->mysqli->prepare('UPDATE `forside_tekst` SET `tekst`=? WHERE `id`=?')) 
     { 
      $stmt->bind_param('si', $tekst, $id); 

      $tekst = $_POST["tekst"]; 
      $id = 1; 

      $stmt->execute(); 

      $stmt->close(); 

     } 
     else 
     { 
      echo 'Der opstod en fejl i erklæringen: ' . $this->mysqli->error; 
     } 
    } 

он также принесет admin_forside.php и работает без проблем. Не будет никакой неисправности !.

+0

Вы должны объяснить это лучше. вы прыгаете между фрагментами кода, не объясняя вообще, как они соотносятся друг с другом. Является ли ваш фрагмент кода «Когда я понял, что это похоже» на весь скрипт? это фрагмент? –

+0

может следовать за вами. Я кухня прямо туда, где файлы/функция ушла. –

ответ

0

Попробуйте обнародует вашу функцию внутри класса МЕБЕ так:

public function admin_tekst() 

в вашем коде:

class mebe 
{ 

    private $mysqli; 

    function db_c() 
    { 
    ... 
    } 


    public function admin_tekst() 
    { ... 
+0

У меня есть несколько функций файла, это всего лишь более 2000 строк кода. –

+0

Ошибка анализа: ошибка синтаксиса, неожиданный T_PUBLIC в /home/jesperbo/public_html/blabla.dk/indhold/inc/fun_db.php в строке 2015 'public function forside_select()' –

+0

Первая ошибка: Неустранимая ошибка: вызов в неопределенный метод mebe :: admin_tekst() –

Смежные вопросы