3 回答
TA贡献1744条经验 获得超4个赞
如前所述,您必须在要使用会话的每个文件的开头启动会话。
如果要设置会话,请使用以下命令:
session_start();
$_SESSION[NAME] = VALUE;
并在检查会话是否设置后重定向,您可以这样做:
session_start();
if (isset($_SESSION[NAME]){
header(‘Location: index.php‘;
}
TA贡献1863条经验 获得超2个赞
试一试。
// ensure to add session_start at the beginning of
// all scripts that require use of $_SESSION[]
session_start();
if($sql->rowCount()){
$entrou = $_SESSION['entrou'];
header('location: panel.php');
}
if(isset($_SESSION['entrou'])){
unset($_SESSION['entrou']);
header('location: index.php');
}
TA贡献1784条经验 获得超2个赞
在这里试试这个
<?php
session_start();
...
if($sql->RowCount()>0){
$_SESSION['entrou'] = true;
header('location: panel.php');
}
else {
header('location: index.php'); // "no user in the db!"
}
...
if (!isset($_SESSION['entrou']) {
header('location: index.php');
}
?>
但当然,如果你想检查用户是否存在于数据库中,你应该做这样的事情
<?php
$data = $sql->query('SELECT * WHERE username=$_SESSION["username"]') // where "username" is the username column
if ($data == "") {
header('location: index.php'); // user is non-existent
}
else {
header('location: panel.php'); // the user is in the database
}
// note this only applies if you're using SQLite
- 3 回答
- 0 关注
- 168 浏览
添加回答
举报