【发布时间】:2016-08-11 23:44:17
【问题描述】:
会话在我的代码中不起作用。我有一个登录表单,当用户在 db 上时,页面会在 main.php 中重定向他,但它不起作用
//index.php
<?php
session_start();
include('connect.php');
if(isset($_POST['submit'])){
$username = mysqli_real_escape_string($dbCon, $_POST['username']);
$password = mysqli_real_escape_string($dbCon, $_POST['password']);
$sql = "select username, password from users where username='$username'";
$res = mysqli_query($dbCon, $sql);
if(!$res){
die(mysqli_errno);
}
while ($row = mysqli_fetch_assoc($res)){
$usr = $row['username'];
$pass = $row['password'];
}
if($username == $usr && $password == $pass){
$_SESSION["username"] = $username;
header("Location: main.php");
exit();
} else {
$error = "Invalid username or password";
}
}
?>
这是我的 main.php
//main.php
<?php
if(isset($_SESSION["username"])) {
$username = $_SESSION["username"];
} else {
header('Location: index.php');
die();
}
?>
谢谢
【问题讨论】:
-
session_start();在main.php中缺失,要使用会话,您应该在此之前启动它 -
肯定是
index.php产生了错误,偶尔看看你的php错误日志 -
感谢 kmlnvm 这是问题所在