2017-02-16 5 views
0

로그인 후 동일한 페이지로 리디렉션하는 동안 정의되지 않은 색인 오류가 처음 발생합니다. 어떻게이 문제를 해결할 수 있습니까?정의되지 않은 색인 오류

<?php 
session_start(); 
$username = $_POST['username']; 
$password = $_POST['password']; 
if($username =='' || $password == '') { 
    $error = "Username or Password cant' be empty......"; 
    header("location: index.php"); 
} else { 
    $data = mysql_query("select * from tbl_user where username='$username' && password='$password'", $conn); 
    $num = mysql_num_rows($data); 
    if($num==1) { 
     $row = mysql_fetch_array($data); 
     $_SESSION['name'] = $row['name']; 
     $_SESSION['id'] = $row['id']; 
     $_SESSION['user'] = $row['username']; 
     exit; 
    } else { 
     $error= "Either Username or Password wrong!!!"; 
     header("location: index.php"); 
    } 
} 
$_SESSION['error'] = $error; 
?> 

내가에서 오류 메시지를 표시 할

<?php 
session_start(); 
$error = $_SESSION['error']; 
$conn = mysql_connect("localhost", "root", ""); 
mysql_select_db("db_food", $conn); 
$row = mysql_query("select * from tbl_temp order by id DESC", $conn); 
$row = mysql_fetch_array($row); 
$user = $row['user']; 
$pass = $row['pass']; 
?> 

페이지에 대한 코드 양식 제출 후 인덱스 페이지에

코드 :

다음은 내 코드입니다 색인 페이지.

+1

하여 SQL 주입 방법을 방지하는 방법에 대해 읽어 보시기 바랍니다. 기본 보안 원칙을 이해하지 못하면 SQL을 사용하지 마십시오. –

+1

색인의 두 번째 줄에서'$ error = $ _SESSION [ 'error'];를'$ error = isset ($ _ SESSION [ 'error'])로 대체 하시겠습니까? $ _SESSION [ 'error'] : null;' –

+0

@still_learning이 뭐라고 말합니까? 더 이상 mysql_ * 함수를 사용하지 마십시오. –

답변

1

체크 첫째 isset

$error = ""; 
if(isset($_SESSION['error'])){ 
    $error = $_SESSION['error']; 
} 
+0

감사합니다 .. 나는 이것을 시도했습니다 .. –

관련 문제