【问题标题】:Session value not passing to next page会话值未传递到下一页
【发布时间】:2017-10-08 05:31:27
【问题描述】:
<?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_start();
  • 我也在下一页开始会话当我 var_dump(); ->array(4) { ["id"]=> NULL ["role_id"]=> NULL ["role"]=> NULL ["email"]=> NULL }
  • 请考虑使用更慢的散列算法。 MD5 对密码“散列”没有用处!

标签: php session session-variables


【解决方案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";
}

【讨论】:

    猜你喜欢
    • 2016-11-22
    • 2013-05-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多