未设置PHP会话变量
我知道这方面有好几个话题,但经过几个小时的阅读,我仍然不知道出了什么问题 我正在index.php上构建一个带有登录屏幕的调查。用户需要插入其姓名并提交表单。用户名应保存并传递到setup1.php 这是my index.php的一部分:未设置PHP会话变量,php,session,Php,Session,我知道这方面有好几个话题,但经过几个小时的阅读,我仍然不知道出了什么问题 我正在index.php上构建一个带有登录屏幕的调查。用户需要插入其姓名并提交表单。用户名应保存并传递到setup1.php 这是my index.php的一部分: <?php session_start(); print session_id(); ?> <form id="login" method="POST" action="setup1.php"> <input id
<?php
session_start();
print session_id();
?>
<form id="login" method="POST" action="setup1.php">
<input id="participant" name="participant" type="text" size="20"/>
<input type="submit" name="start" value="Start"/>
</form>
<?php
$name = $_POST['participant'];
$_SESSION['username'] = $name;
?>
setup1.php的开始:
<?php
session_start();
print session_id();
print_r($_SESSION);
echo $_SESSION['username'];
?>
我的$\u会话变量为空,在下面的setup.php页面上没有打印任何内容。如果你能帮忙,我将不胜感激 您的
$\u帖子
代码位于错误的文件中。您的表单将进入setup1.php
,但您正试图在index.php
中设置$\u会话
您需要将其取出并放入setup1.php
:
<?php
session_start();
if (!isset($_POST['participant'])) {
die('No $_POST data');
}
$_SESSION['username'] = $_POST['participant'];
print session_id();
print_r($_SESSION);
echo $_SESSION['username'];
?>
另外,请确保您使用的是$\u会话
,而不是%\u会话
。我希望这只是一个打字错误。你的$\u帖子
代码放错了文件。您的表单将进入setup1.php
,但您正试图在index.php
中设置$\u会话
您需要将其取出并放入setup1.php
:
<?php
session_start();
if (!isset($_POST['participant'])) {
die('No $_POST data');
}
$_SESSION['username'] = $_POST['participant'];
print session_id();
print_r($_SESSION);
echo $_SESSION['username'];
?>
另外,请确保您使用的是$\u会话
,而不是%\u会话
。我希望这只是一个输入错误。当您设置$\u会话['username']
时,您的表单尚未提交,即,$\u POST['participant']
没有任何价值
您应该将下面的代码从index.php移到setup1.php
<?php
$name = $_POST['participant'];
$_SESSION['username'] = $name;
?>
当您设置$\u会话['username']
时,您的表单尚未提交,即,$\u POST['participant']
没有值
您应该将下面的代码从index.php移到setup1.php
<?php
$name = $_POST['participant'];
$_SESSION['username'] = $name;
?>
index.php
setup1.php
`index.php
setup1.php
`使用$\u SESSION not%\u SESSION无需启动
两次(或者这是故意的)。对不起,这是一个打字错误,我刚刚更改了它。我了解到我必须包括session_start();在每个文件的开头。使用$\u SESSION not%\u SESSION无需SESSION\u start
两次(或者这是故意的)。抱歉,这是一个打字错误,我刚刚更改了它。我了解到我必须包括session_start();在每个文件的开头。谢谢你把它捡起来,@satishrajak。我希望这只是他们这边的一种类型。我只是复制并粘贴了它。die(“没有发布数据”)代码>-这将生成注意:数组到字符串的转换
-使用单引号不计算此$\u POST
数组是为了放单引号@对不起,是打字错误!谢谢你把它捡起来,@satishrajak。我希望这只是他们这边的一种类型。我只是复制并粘贴了它。die(“没有发布数据”)代码>-这将生成注意:数组到字符串的转换
-使用单引号不计算此$\u POST
数组是为了放单引号@对不起,是打字错误!请不要使用%\u会话请不要使用%\u会话