【发布时间】:2015-12-20 13:08:36
【问题描述】:
我正在创建一个用户会话,但就像代码在某个地方出错并且没有保持会话一样,我只是将用户重定向到一个空白页面,我在其中回显会话持有者的用户 ID 以检查它是否工作。它们对表或数据库没有问题,因为注册页面工作正常并且数据存储在数据库中。我的login.php
<?php
$con = mysqli_connect("localhost","root","","findfriends") or die ("Connection not established");
?>
<?php
if(isset($_POST['login'])){
$username = strip_tags(@$_POST['user_login']);
$password = strip_tags(@$_POST['password_login']);
$result = $con->query("SELECT * FROM users WHERE username='$username' AND password='$password'");
$row = $result->fetch_array(mysqli_both);
session_start();
$_SESSION["userid"] = $row['userid'];
header("Location: test12.php");
}
?>
<h2>Already a member? Login Below</h2>
<form action="" method="POST">
<input type="text" name="user_login" size="25" placeholder="Username"/><br><br>
<input type="password" name="password_login" size="30" placeholder="Passsword"/><br><br>
<input type="submit" name="login" value="Login">
</form>
test.php 用于检查会话
<?php
$con = mysqli_connect("localhost","root","","findfriends") or die ("Connection not established");
?>
<?php
session_start();
?>
<div style="margin-left:30px;margin-right:400px;border:1px solid #000;">
<h2>User id is:</h2>
<?php echo $_SESSION["userid"]; ?>
</div>
【问题讨论】:
-
您得到的是一个完全空白的页面还是仍然显示 HTML / H2 / 其他文本?如果它是一个完全空白的页面,您会收到服务器错误,您是否打开了错误报告?
-
h2 是否正是我输入的“用户 ID 是”但用户 ID 没有回显
-
正如@AwaisTahir 在他的回答下的 cmets 中提到的,尝试做一个
var_dump($row['userid']);看看它是否有任何价值, -
在
login.php中的确切位置以及从login.php中删除的代码部分 -
放在login.php中,只要放在
header('Location:...');上方即可