2017-02-16 127 views
0

登录后第一次出现未定义的索引错误,同时重定向到同一页面,我该如何解决这个问题?

这里是我的代码:索引页面上未定义索引错误

代码

<?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']; 
?> 

的网页代码提交表单后

<?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; 
?> 

我想显示的错误消息索引页面。第一

+1

请阅读有关SQL注入,以及如何预防它们。如果您不了解基本的安全原则,请不要使用SQL。 –

+1

在索引的第二行,用'$ error = isset($ _ SESSION ['error'])替换'$ error = $ _SESSION ['error'];'? $ _SESSION ['error']:null;' –

+0

@still_learning说什么。并且不要再使用mysql_ *函数。 –

回答

1

检查由isset

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

谢谢..我已经试过了.. –