我有一个带有表单的login.php文件要登录。我有一个validation.php文件来验证登录,使用以下代码:
<?php
session_start();
if(($_SESSION['user'] == "user123") && ($_SESSION['pass'] = "123"))
{
header("Location: index.php");
}
else
{
header("Location: login.php");
}
?>我有一个index.php文件,当我登录时,我想转到index.php页面,代码如下:
<?php
session_start();
if(($_SESSION["user"]) and ($_SESSION["pass"]))
{
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml2/DTD/xhtml2-transitional.dtd">
<html xmlns="http://www.w3.org/1993/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=u2f-5" />
<title>Untitled Document</title>
</head>
<body>
<p>geageagge</p>
<p>egeageage</p>
<p> </p>
<p> </p>
<p>geagaegea</p>
</body>
</html>
<?php
}
else
echo "You didnt do login";但是我得到了一个错误:未定义的索引用户,在这一行中:if(($_SESSION["user"]) and ($_SESSION["pass"]))
有人知道我做错了什么吗?
发布于 2013-07-10 12:24:55
1) login.php中的小错误(我猜)
这个$_SESSION['pass'] = "123"应该是$_SESSION['pass'] == "123"
2)检查值是否为isset
if(isset($_SESSION["user"]) and isset($_SESSION["pass"]))编辑
在我看到你的html表单后,我认为你很少出错。
在validation.php中,您必须检查输入的值,因此您需要使用帖子,如果它们是正确的,则将它们放在会话中。
因此,您在validation.php中的代码应该看起来像一些
<?php
session_start();
if(($_POST['user'] == "user123") && ($_POST['pass'] == "123"))
{
$_SESSION['user'] = $_POST['user'];
$_SESSION['pass'] = $_POST['pass'];
header("Location: index.php");
}
else
{
header("Location: login.php");
}https://stackoverflow.com/questions/17570579
复制相似问题