首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在php上使用会话时未定义的索引错误

在php上使用会话时未定义的索引错误
EN

Stack Overflow用户
提问于 2013-07-10 12:23:23
回答 1查看 1.2K关注 0票数 0

我有一个带有表单的login.php文件要登录。我有一个validation.php文件来验证登录,使用以下代码:

代码语言:javascript
复制
<?php

session_start();

if(($_SESSION['user'] == "user123") && ($_SESSION['pass'] = "123"))
{

 header("Location: index.php");

}

else
{
 header("Location: login.php");
}

?>

我有一个index.php文件,当我登录时,我想转到index.php页面,代码如下:

代码语言:javascript
复制
<?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>&nbsp;</p>
<p>&nbsp;</p>
<p>geagaegea</p>
</body>
</html>
<?php
}
else
 echo "You didnt do login";

但是我得到了一个错误:未定义的索引用户,在这一行中:if(($_SESSION["user"]) and ($_SESSION["pass"]))

有人知道我做错了什么吗?

EN

回答 1

Stack Overflow用户

发布于 2013-07-10 12:24:55

1) login.php中的小错误(我猜)

这个$_SESSION['pass'] = "123"应该是$_SESSION['pass'] == "123"

2)检查值是否为isset

代码语言:javascript
复制
if(isset($_SESSION["user"]) and isset($_SESSION["pass"]))

编辑

在我看到你的html表单后,我认为你很少出错。

validation.php中,您必须检查输入的值,因此您需要使用帖子,如果它们是正确的,则将它们放在会话中。

因此,您在validation.php中的代码应该看起来像一些

代码语言:javascript
复制
<?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");
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17570579

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档