【发布时间】:2017-03-03 20:41:41
【问题描述】:
我试图弄清楚如何在用户登录后显示用户信息。我不确定是否应该创建一个单独的 php 文件来根据会话显示用户信息,或者我应该为不同的会话创建不同的文件用户。我也无法抓住标题。
这是我的 login.php 代码
<?php
session_start();
require 'dbh.php';
$username = $_POST['uname'];
$password = $_POST['pwd'];
$sql = "SELECT * FROM registeredusers WHERE UserName = '$username'";
$result = mysqli_query($connection,$sql);
$row = mysqli_fetch_assoc($result);
$hashed_Password = $row['Password'];
$Dehash = password_verify($password,$hashed_Password);
if($Dehash == 0){
echo "username or password is incorrect";
exit();
} else{
$sql = "SELECT * FROM registeredusers WHERE UserName='$username' AND Password='$hashed_Password'";
$result = mysqli_query($connection,$sql);
if (!$row=mysqli_fetch_assoc($result)){
echo "Your User Name or Password is incorrect";
}
else {
$userid = $row['id'];
$_SESSION['UserName'] = $row['UserName'];
header("Location: userhomepage.php?user_id=".$userid);
}
}
?>
以下代码重定向到 userhomepage.php 并且用户 ID 在 url 中,有人还可以告诉我如何从 url 中获取用户 ID?我一周前才开始用 PHP 编码,我还是个新手,所以如果有人对我有任何指示,那就太好了。
【问题讨论】:
-
警告:编写自己的访问控制层并不容易,而且有很多机会会严重错误。当任何现代的development framework(如Laravel)带有强大的authentication system 内置时,请不要编写自己的身份验证系统。