<?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,有人可以帮助我。
答案 0 :(得分:1)
您希望$row['user_id']
包含哪些内容?查看您的SELECT
查询:
SELECT username, password FROM users WHERE username=:username AND password=:password
您 选择 user_id
,因此您 user_id
。您可能想要选择它:
SELECT user_id, username, password FROM users WHERE username=:username AND password=:password
此外,附注... 从不 以纯文本格式存储用户密码。 没有 有理由这样做。密码应为单向散列且 不可被任何人阅读 。请停止对您的用户严重不负责任。