2013-12-07 150 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 - 那是有效的,我在函数中声明了它。 –