2017-10-08 168 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工作.. –

相关问题