2014-01-23 4 views
-4
<?php 

     if($_SESSION['username'] == NULL) 
     { 
      print "Нямаш права да си тука"; 

     } 
     else 
     { 
     if(isset($_POST['add'])) 


    { 
     $time = time(); 
     $title = htmlspecialchars($_POST['title']); 
     $content = strip_tags($_POST['content']); 
     $q = "INSERT INTO posts(title,content,author,added) VALUES('$title','$content','Papazov','$time')"; 
     mysql_query($q) or die (mysql_error()); 
     ?> 

그것이 말하는 이유왜 내 색인을 읽을 수 없습니까?

공지 사항 : 정의되지 않은 인덱스 : C에서 사용자 이름 : \ XAMPP \ htdocs를 \ MatchZone2 \ Addpost.php 구걸의 세션에서 인덱스

라인 (17)에?

+2

에 들어? ** 모든 초보자 하나가 그것에 대해 묻습니다, 당신은 고유하지 않습니다. – zerkms

+0

Note # 1 : PHP가로드 할 때마다 세션을 올바르게 "시작"하십시오. 그렇지 않으면 데이터가 실종 될 것입니다. – user2864740

+0

참고 # 2 : SQL 스 니펫은 근본적으로 결함이 있습니다. [PHP에서 SQL 삽입을 방지하는 방법은 무엇입니까?] (http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php) – user2864740

답변

1

$ _SESSION [ 'username']은 (는) 정의되지 않았으므로 정의되지 않았습니다.

이 올바른 것입니다 : 당신은 $_SESSION 배열에 존재하지 않는 인덱스를 읽기 위해 노력하고

if(isset($_SESSION['username'])) { 

} 
+0

내 대답;) 제발 무시 – jboneca

1

. if(!isset($_SESSION['username']))

귀하의 코드는 다음이 될 것입니다 추가 :

if(!isset($_SESSION['username']) 
{ 
    // I can't read the following, but I assume it should be displayed if the username is missing. 
    print "Нямаш права да си тука"; 

} 
else 
{ 

} 

당신이 이러한 오류 메시지가 Google에 시도 해 봤나보다 isset

관련 문제