2017-10-08 170 views
0
<?php 
session_start(); 
ob_start(); 
include '../config.php'; 
if (isset($_POST['email']) && isset($_POST['password'])) { 
$username = $_POST['email']; 
$password = $_POST['password'];`enter code here` 
$username = mysqli_real_escape_string($conn , $username); 
$password = mysqli_real_escape_string($conn , $password); 
$password_md5 = md5($password); 
$query = "select * from admin where `email` = '$username' AND `password` = '$password_md5'"; 
$result = mysqli_query($conn , $query); 
$row = mysqli_fetch_array($result , MYSQLI_NUM); 
$rows = mysqli_num_rows($result); 
if ($rows == 1) { 
$_SESSION["id"] = $row['id']; 
$_SESSION["role_id"] = $row['role_id']; 
//$_SESSION["role"] = $row['role']; 
$_SESSION["email"] = $row['email']; 
//$_SESSION['admin'] = "admin"; 
header("Location: dashboard.php?page=dashboard"); 
}else{ 
$fmsg = "invalid username and password"; 
} 
} 
?> 



<?php 
$login_session = $_SESSION['id']; 
$query = "select * from admin where id = '$login_session'"; 
$result = mysqli_query($conn , "$query"); 
$row = mysqli_fetch_array($result , MYSQLI_NUM); 
?> 

我正在嘗試登錄session.I登錄成功,但會話值未傳遞到下一頁。我已經嘗試了很多時間,任何人都可以幫助解決問題。會話值不會傳遞到下一頁

+0

你接着說:在session_start()鍵;'在接下來的頁面? –

+0

我也開始在下一頁的頂部會話當我var_dump(); - > array(4){[「id」] => NULL [「role_id」] => NULL [「role」] => NULL [「email」] => NULL} –

+0

請考慮使用更慢的哈希算法。 MD5對密碼「哈希」沒有用處! – jens1o

回答

1

您在使用mysqli_fetch_array獲取數據時遇到問題。如您所指定的MYSQLI_NUM它將返回數字陣列。你想關聯數組因爲進一步您正在使用其

$row = mysqli_fetch_array($result , MYSQLI_ASSOC); //<----change here 
$rows = mysqli_num_rows($result); 
if ($rows == 1) { 
$_SESSION["id"] = $row['id']; 
$_SESSION["role_id"] = $row['role_id']; 
//$_SESSION["role"] = $row['role']; 
$_SESSION["email"] = $row['email']; 
//$_SESSION['admin'] = "admin"; 
header("Location: dashboard.php?page=dashboard"); 
}else{ 
$fmsg = "invalid username and password"; 
} 
+0

感謝您的幫助。 B.Desai先生。 itss工作.. –

相關問題