我有这个代码登录过程:
<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();
?>
当我签到的时候,所以下一页写:
注意:未定义变量:届会
有谁能告诉我,出了什么问题吗?
7条答案
按热度按时间j1dl9f461#
你需要使用form方法来传递输入值。像这样修改你的代码:
fhg3lkii2#
会话未保存,因为在if条件下,您检查的是变量submit而不是
$_GET['submit']
,并且您没有指定submit按钮的名称未定义变量的错误是由于未设置
$_SESSION['user'] & ['password ']
,因为$submit
是NULL变量,并且您错过了关闭password
中的方括号9fkzdhlc3#
这可能是因为你忘了在你的php文件上启动会话。尝试添加
这样就只有php能够存储你的会话变量了。
jv4diomz4#
您需要调用
session_start()
函数,所有会话变量值都存储在全局$_SESSION
变量中。PHP Documentation: Session examples
ruoxqz4g5#
确保在第一个
<?php
标签之前没有空格或任何其他文本。即使在开始的
<?php
标记之前有一个空格也会导致会话失败。之后,您需要在顶部附近的某个地方使用session_start();
。session_start();
是第一个并不重要,只要它在引用任何会话变量之前就可以了。通常,任何使用会话变量的页面都会像这样开始:
iih3973s6#
我注意到如果你在会话中使用交替大写,例如$_SESSION ['isLogin'],当重定向到另一个页面时,它不会保持会话。解决方案:使用大写或小写(区分大小写)
muk1a3rh7#
输出: