我想在我的网站上添加一个简单的“登录/注销”脚本,但它不起作用。
<?php if(isset($_POST["signin"])){
session_start();
$username=stripslashes($_POST["username"]);
$password=stripslashes($_POST["password"]);
$username = mysql_real_escape_string($username);
$password = mysql_real_escape_string($password);
$nom=checkUser($username, $password);
if(!$nom=="")
{
$_SESSION['name'] = $nom;
header("location:account.php");
}
else {
echo 'WRONG USERNAME OR PASSWORD';}
}?>
上面的脚本是header.php,这意味着它包含在每一页中;现在这里是“account.php”的页面
<?php if(isset($_SESSION['name']))
{
include('header.php');
echo'
</article>
<article class="col1 pad_left1">
<p>Bienvenue '.$_SESSION['name'].'</p>
</article>
</header>
</div>';
include('footer.php');}
header("location:index.php");
?>
问题是我总是到达index.php,即使我已经登录,好像这个测试if(isset($_session['name']))
总是假的。
答案 0 :(得分:3)
我想你宁愿使用if($nom!="")
而不是if(!$nom=="")
。此外,您需要先致电session_start()
,然后才能使用$_SESSION
(此时您正在以相反的方式进行此操作)。
答案 1 :(得分:2)
你必须在
的顶部的每个页面中开始会话session_start();
可能你错过了这个。
答案 2 :(得分:0)
尝试添加session_start();之前if(isset($ _ SESSION ['name']))并检查文件的顶部和末尾是否为空行。