PHP中的会话无法正常工作。为什么?

时间:2017-06-17 05:23:34

标签: php session login undefined notice

我有登录过程的代码:

<div id="login">
<form action="ButtonClicker.php">
<label for="user">User</label>
<input type="text" id="user" name="user" tabindex="1" autofocus>
<label for="password">Password</label>
<input type="password" id="password" name="password" tabindex="2">
<input type="submit" value="sing in">
</form>
</div>
<br>
<?php
if(isset($submit)) {
  $_SESSION["user"] = $_GET["user"];
  $_SESSION["password" = $_GET["password"];
}
?>

在下一页我有这个:

<?php
echo $_SESSION["user"];
?>

在这两页中我都有完整的代码:

<?php
session_start();
?>

当我登录时,下一页写道:

  

注意:未定义的变量:_session

任何人都能说出来,出了什么问题?

5 个答案:

答案 0 :(得分:2)

可能是因为你忘了在php文件上启动会话。 尝试添加

session_start();
每页都有

功能。然后只有php才能存储你的会话变量。

答案 1 :(得分:1)

您需要使用form方法传递输入值。 像这样更改你的代码:

XmlResourceParser

答案 2 :(得分:0)

您需要调用session_start()函数,并且所有会话变量值都存储在全局$_SESSION变量中。

PHP Documentation: Session examples

答案 3 :(得分:0)

会话未保存,因为如果条件是您检查变量提交而不是$_GET['submit'],并且您没有指定提交按钮的名称

<input type="submit" name="submit" value="sign in">
<?php
if(isset($_GET['submit'])) {
  $_SESSION["user"] = $_GET["user"];
  $_SESSION["password"] = $_GET["password"];
}
?>

未定义变量的错误是由于$_SESSION['user'] & ['password ']未设置,因为$submit是NULL变量,而且您错过了password中的方括号

答案 4 :(得分:0)

确保您的第一个https://wa.me/0987654321?text=Hello%20world标签之前没有没有空格或其他任何文本

在打开<?php标记之前,即使只有一个空格也会导致会话失败。之后,您需要在顶部附近的某个地方放置<?php。只要在引用任何会话变量之前就将session_start();放在首位就不重要了。

通常,任何使用会话变量的页面都将像这样开始:

session_start();