2013-12-07 160 views
0

定義變量時出現未定義變量錯誤。波紋管是我的代碼定義變量時出現未定義變量錯誤

<?php 
$imagepath = $_SESSION['path']; 
require_once('class-db.php'); 

if (!class_exists('INSERT')) { 
    class INSERT { 
     public function post($postdata) { 
      global $db; 

      $query = " 
          INSERT INTO posts (title, content, subcontent, date, category, image) 
          VALUES ('$postdata[title]', '$postdata[content]', '$postdata[subcontent]', '$postdata[date]', '$postdata[category]', '$imagepath') 
         "; 

      return $db->insert($query); 
     } 
    } 
} 

$insert = new INSERT; 

?> 
+0

你忘了告訴我們錯誤消息 –

+0

** **警告你的代碼很容易受到SQL注入攻擊! –

+0

'VALUES('$ postdata [title]','$ postdata [content]''不會起作用,必須是'VALUES('{$ postdata ['title']}','{$ postdata ['content']}''用於PHP正確解析數組。 – ceejayoz

回答

1

$imagepath是你的函數之外聲明,因此,除非你把它作爲一個參數或使用global關鍵字是不可用自己的函數中。見Variable Scope

public function post($postdata, $imagepath) { 
    global $db; 

public function post($postdata) { 
    global $db, $imagepath; 
+0

感謝John - 那是有效的,我在函數中聲明瞭它。 –