我希望有人可以帮助我。我试图在用户成功登录后将用户重定向回索引页面。我只能看到一个没有错误的白色空白屏幕。
感谢您的帮助
<?php
include('includes/functions.php');
session_start();
if(isset($_POST['login'])) {
if(isset($_POST['username'])) {
if(isset($_POST['password'])) {
$username = $_POST['username'];
$query = mysqli_query($link,"SELECT * FROM users_cust WHERE username = $username") or die(mysql_error());
$user = mysql_fetch_array($query);
if(md5($_POST['password']) == $user['password']) {
echo("Login Successful!");
$_SESSION['user'] = $user['username'];
header("Location:/index.php") or die(mysql_error());
} else {
echo("Please check your login details");
include('login.php');
}
} else {
echo("Please check your password");
include('login.php');
}
} else {
echo("Please check your username");
include('login.php');
}
} else {
echo("Please check that you filled out the login form");
include('login.php');
}
?>
和我的主要登录页面一样
<?php
session_start();
if(isset($_SESSION['user'])){
header("Location:index.php");
} else {?>
<html>
<head>
<title> Login Area
</title>
</head>
<body>
<form action="dologin.php" method="post">
<label for="username">Username:</label>
<input type="text" name="username">
<label for="password">Password:</label>
<input type="password" name="password">
<input type="submit" name="login" value="submit">
</form>
</body>
</html>
<?php } ?>
答案 0 :(得分:2)
您没有名为'user'的会话,因此此会话将不断返回任何值,我相信它需要更新到此...
if(isset($_SESSION['username'])){
修改强>
或者,您可以创建一个名为“LoggedIN”的新会话,在第一页的代码中添加这段代码..
$_SESSION['LoggedIN'] = true;
哪会低于您之前的会话
然后在第二页上,您可以简单地说:
if (isset($_SESSION['LoggedIN']) && $_SESSION['LoggedIN'] == true) {
header("Location:index.php");
}
答案 1 :(得分:0)
在您的第一页上,您有$ _SESSION ['用户名'],而在另一页上是$ _SESSION ['user']。
决定使用其中一个,它应该可以工作。
答案 2 :(得分:0)
只需尝试标题(“位置:index.php”);
而不是header(“Location:/index.php”)或die(mysql_error());出口();
在第二页上检查$ _SESSION ['username']而不是$ _SESSION ['user']
答案 3 :(得分:0)
我在第一页中没有看到$_SESSION['user']
,我认为您需要将其更改为$_SESSION['username']
,这应该会很好!
作为旁注,我一直认为使用javascript进行验证是最好的!
答案 4 :(得分:-1)
$query = mysqli_query($link,"SELECT * FROM users_cust WHERE username = $username") or die(mysql_error());
查询部分应该是这样的:
...WHERE username = '$username'"