2017-02-16 123 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

謝謝..我已經試過了.. –