【发布时间】:2012-10-10 12:29:18
【问题描述】:
它应该如何工作: Index.php 是安全页面。它包括 check.php,它检查您是否有一个会话 = 好。如果还没有,您没有登录 -> 注销,删除会话。但是不管用,总是注销,就像我没登录一样……
index.php
include ‘check.php’;
echo "logged in";
check.php
session_start();
if($_SESSION[‘login’] != ‘good’) {
unset($_SESSION[‘login’]);
unset($_SESSION[‘name’]);
header(‘Location: login.php?logoff’);
exit();
}
Login.php
if(isset($_POST[‘login’])) {
$gb = array();
$gb[‘user1’] = ‘pass1’;
$gb[‘user2’] = ‘pass2’;
if(isset($gb[$_POST[‘username’]]) && $gb[$_POST[‘username’]] == $_POST[‘password’])
{
$_SESSION[‘login’] = ‘good’;
$_SESSION[‘name’] = $_POST[‘name’];
header("Location: index.php");
} else {
header("Location: login.php?wrongpass");
}
} else { ?>
Login Form
<?php } ?>
希望有人能帮帮我!
【问题讨论】:
-
login.php是否包含session_start();? -
您的单引号看起来不对,是复制/粘贴问题还是您设置它们的方式,
‘和’应该是'或 @ 987654329@ -
当您的登录声明为真时,您缺少的
session_start();。如果那不存在,php 将不会将其识别为会话。