2013-12-07 2 views
0

변수가 정의되면 정의되지 않은 변수 오류가 발생합니다. 울부 짖는 소리는 매개 변수로 전달하거나 global 키워드를 사용하지 않으면, 따라서이 함수 내에서 사용할 수 없습니다변수가 정의 될 때 정의되지 않은 변수 오류가 발생합니다.

<?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] ''는 (는) [ 'content']}''PHP가 배열을 적절하게 구문 분석 할 수있게 해줍니다. – ceejayoz

답변

1

$imagepath이 함수의 외부에서 선언 내 코드입니다. 당신은 우리에게 이야기하는 것을 잊었다 Variable Scope

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

또는

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

John 덕분에 효과가있었습니다. –

관련 문제