Php 用户id未存储在会话中
当有人登录时,它只存储用户名而不存储id。有人能帮我吗。您希望Php 用户id未存储在会话中,php,html,Php,Html,当有人登录时,它只存储用户名而不存储id。有人能帮我吗。您希望$row['user\u id']包含什么?查看您的选择查询: <?php if(isset($_POST['username'], $_POST['password'])){ require '../connect.php'; $query = $conn->prepare("SELECT username, password FROM users WHERE username=:username AN
$row['user\u id']
包含什么?查看您的选择查询:
<?php
if(isset($_POST['username'], $_POST['password'])){
require '../connect.php';
$query = $conn->prepare("SELECT username, password FROM users WHERE username=:username AND password=:password");
$query->bindParam(':username', $_POST['username']);
$query->bindParam(':password', $_POST['password']);
$query->execute();
if($row = $query->fetch()){
$_SESSION['user_id'] = $row['user_id'];
$_SESSION['username'] = $row['username'];
header("Location: ../index.php");
}
}
?>
您没有选择用户id
,因此您没有用户id
。您可能要选择它:
SELECT username, password FROM users WHERE username=:username AND password=:password
还有,旁注从不以纯文本形式存储用户密码。没有任何理由这样做。密码应该是单向散列的,任何人都不可读。请停止对用户不负责任。是session\u start()代码>加载?如果没有,请不要这样做。当使用会话时,它是必需的,并且必须位于使用会话的所有页面内。PSA;会话不是started@DarylGill通常我会同意,但OP表明用户名已成功存储在会话中。这表明会话是在发布的代码之外启动的。
SELECT user_id, username, password FROM users WHERE username=:username AND password=:password