[英]Storing and retrieving session variables in unit/feature tests in Laravel
[英]Storing and retrieving $_SESSION variables
我有一个问题。 我敢肯定我真的很傻,但是我似乎无法处理$ _SESSION变量。 我使用名为$ setup的变量遍历代码,每次重置时都会发布该变量。 每次我运行代码时,我都会递增$ setup,使其从无值开始,然后具有值1,然后是值2。如果为1,则将SESSION设置为发布的值。 下次是两点时,SESSION似乎没有价值。
这是加载页面时的代码:
<?php
session_start();
$setup=$_POST['reset'];
if ($setup==NULL)
{
$setup=0;
}
elseif ($setup==1)
{
$_SESSION['value1']=$_POST['value1'];
$value1=$_SESSION['value1'];
}
elseif ($setup==2)
{
$value1=$_SESSION['value1'];
$_SESSION['value2']=$_POST['value2'];
$value2=$_SESSION['value2'];
}
?>
当设置为一时,我可以打印出value1,但是当设置为二时,使用此代码
echo $value2 . " " . $value1 . ".";
我得到的只是value2和一个点。 我在这里做错什么了吗?
在代码的这一部分:
elseif ($setup==2)
{
$value1=$_SESSION['value1'];//HERE
$_SESSION['value2']=$_POST['value2'];
$value2=$_SESSION['value2'];
}
$_SESSION['value1']
为空,因此$value1
也将为空,我建议使用以下代码:
elseif ($setup==2)
{
if(isset($_SESSION['value1']) $value1=$_SESSION['value1'];
else $value1='Some value for test';
$value2=$_SESSION['value2'];
}
也:
echo $value2 . " " . $value1 ".";
应该 :
echo $value2 . " " . $value1 . ".";//if you want dot in the end
要么 :
echo $value2 . " " . $value1 ;//without dot int end of line
<?php
session_start();
if (!isset($_POST['reset'])) {
// do nothing or something more useful
}
else {
if ($_POST['reset'] == 1) {
$value1 = $_SESSION['value1'] = $_POST['value1'];
}
elseif ($_POST['reset'] == 2) {
$value1 = $_POST['value1']; // $_POST !!! Not $_SESSION['value1'], which is not set here!
$value2 = $_SESSION['value2'] = $_POST['value2'];
}
}
?>
$value1=$_SESSION['value1']; // you can't do this here ( == 2), because you did not set $_SESSION['value1'] to anything before
这取决于您要回显的内容。
例:
$value1 = "hello";
$value2 = "Richard";
echo $value1." ".$value2;
// will output "hello Richard" (Without the quotes)
//using your code (and syntax corrected)
echo $value1." ".$value2.".";
// will output "hello Richard." (Without the quotes)
如果您希望点被回显,则需要用引号“”将其引起来,并在上述回显中闯入和突破PHP vars / text等。
您忘记了“。”之前的连接点。 串
应该:
echo $value2 . " " . $value1 . ".";
我已经解决了。 我在底部有一个重置按钮来销毁会话,并且其中包含PHP。 也许这个问题会帮助其他犯此错误的人。 我会发生的
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.