2013-04-09 129 views
-1

這就是我如何工作的人應該只有你前面的文字,所以我不會通過數據庫使它:致命錯誤:調用未定義的方法 - 錯誤

致命錯誤:調用未定義的方法mebe :: admin_tekst()在/ home/jesperbo /的public_html/blabla.dk上線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; 
      }  

    } 

/admin_forside.php當我得到它是這樣的:

<?php 

        $admin_tekst = $mebe->admin_tekst(); 

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

       ?> 

更新工作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

你需要解釋這更好的。你在代碼片段之間跳轉而不解釋它們之間的相互關係。你的代碼片段是「當我得到它就像這樣」整個腳本?這是一個片段嗎? – 2013-04-09 16:21:43

+0

可能會跟着你。我直接向文件/功能消失的地方進食。 – 2013-04-09 16:26:35

回答

0

儘量使類mebe內公開你的功能是這樣的:

在你的代碼
public function admin_tekst() 


class mebe 
{ 

    private $mysqli; 

    function db_c() 
    { 
    ... 
    } 


    public function admin_tekst() 
    { ... 
+0

我有幾個函數的文件剛剛超過2000行代碼。 – 2013-04-09 16:50:18

+0

解析錯誤:語法錯誤,意外的T_PUBLIC在/home/jesperbo/public_html/blabla.dk/indhold/inc/fun_db.php上線2015 'public function forside_select()' – 2013-04-09 16:55:57

+0

第一個錯誤:致命錯誤:調用undefined方法mebe :: admin_tekst() – 2013-04-09 17:04:14

相關問題