php - $_SESSION ['id'] 为空

标签 php mysql session

我正在尝试在 php 脚本中更新密码,但是 $_SESSION['id'] 为空。这是通过 var_dump 函数显示的。因此我无法更新它

<?php
session_start();
require "../init.php";
ini_set('display_errors', 1);


if(isset($_POST['update'])){
    $password = $_POST['user_pass'];
    $passwordEncrypted = sha1($user_pass); 

    $confpassword = $_POST['confirm_pass'];
    $confPasswordEncrypted = sha1($confirmPass);  
    if($password !== $confpassword){
       echo "Passwords don't match!";
    }else{
        $select_query = "SELECT id FROM user_info";
        $run_select_query = mysqli_query($con,$select_query); 
        while ($row_post=mysqli_fetch_array($run_select_query)){

            $_SESSION['id'] = $row['id'];
            $user_id = $_SESSION['id'];
            var_dump($user_id);

        }

        $update_posts = "UPDATE user_info SET user_pass='$passwordEncrypted',confirm_pass ='$confPasswordEncrypted' WHERE id='$user_id'";  
        $run_update = mysqli_query($con,$update_posts); 
        echo "<script>alert('Post Has been Updated!')</script>";
    }

}
?>

有什么想法吗?谢谢。

最佳答案

您在为 session 变量赋值时使用了错误的变量 $row

while ($row_post=mysqli_fetch_array($run_select_query)){
    $_SESSION['id'] = $row_post['id'];
    $user_id = $_SESSION['id'];
    var_dump($user_id);
}

关于php - $_SESSION ['id'] 为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36776891/

相关文章:

php - 可以创建数据库表列标题数组吗?

php - pdo LastInsertedId() 返回 0

php - PHP项目中 "Source files"和 "Include path"有什么区别?

php - Symfony2 - app.user 未与数据库同步

java - 在 session 中存储对象

php - 如何编辑我的 json 以不包含行号

php - 数据库中的触发器应该更改不同数据库中表中的值?

mysql - 通过不返回我所期望的来多次加入 order by 和 group

sql - 在mysql中存储二进制数据

java - 使用 Servlet 处理 Cookie