首先,解决这个问题的方法是我的网站结构:
index.html
|_controll.php
|_success.html
|_chat.php
在index.html上我有一个登录表单。在controll.php中,我正在开始这样的$ _SESION:
<?php
session_register("myusername");
session_register("mypassword");
header("Location:sucsess.html");
$myusername=$_SESSION['myusername'];
?>
请注意,$ myusername之前已被注册为变量。
在页面success.html上有一个按钮,打开chat.php,我想使用$ _SESSION
<?php
echo "<input type='hidden' id='nameInput' value='"?><?php echo $_SESSION['myusername']; ?><?php echo"'>
<input..."
?>
提交此表单时的结果是“?&gt;
答案 0 :(得分:2)
您遗失session_start();
:
<?php
//<------ add here
session_register("myusername");
session_register("mypassword");
header("Location:sucsess.html");
$myusername=$_SESSION['myusername'];
?>
答案 1 :(得分:0)
我建议您使用以下内容,因为session_register()已在PHP 5.4.0中弃用
<?php
session_start();
$_SESSION["myusername] = "xyz1";
$_SESSION["mypassword"] = "pwd";
header("Location:sucsess.html");
$myusername=$_SESSION['myusername'];
?>
答案 2 :(得分:0)
Session_register对session_start()函数进行隐式调用。自php5.3起,不推荐使用Session_register()并从php5.4中删除,因此如果您使用此版本,则更新您的代码并使用$ _SESSION在会话中设置变量。并在chat.php的顶部添加 session_start()。在这种情况下,如果您使用旧版本或更新版本需要在chat.php中添加此行