English 中文(简体)
PHP 美元
原标题:PHP $_SESSION Returning Empty Array Even When Values are Set
  • 时间:2012-05-09 15:29:39
  •  标签:
  • php
  • session

我试图诊断出一种PHP问题。 我将数值转至<代码>_SESSION 阵列,这些数值不为阵列。 I used var_dump($_SESSION) to see what was being re and I have array (0){}. 即使我知道会议正在举行,而且各种价值观也在增加,情况也是如此。

我的法典(指数.php)的简化版本如下:

<?php
session_start();
var_dump($_SESSION); 

if ($_REQUEST[ query ] == "" or is_null($_REQUEST[ query ])) {
$errormsg = "You must enter a search term to query.  Please try again.";
}

?>

<form name="product_search" id="product_search" method="post" action="index.php">
<input size="60" type="text" name="query" id="query" <?php echo "value="" .  $_REQUEST[ query ] . "" "; ?>/>
<?php if (isset($errormsg)) {echo "<span class="errormsg">" . $errormsg . "</span>";} ?>
<input type="submit" class="searchBtn" value="Search"/>

<?php
    $_SESSION[ query ] =  foo ;
    $_SESSION[ search_field ] =  man ;
    $_SESSION[ results ] =  chu ;
?>

var_dump($_SESSION); //Will dump array(3) {...}

重犯错误:

  1. Load the page. No problem here; var_dump($_SESSION) at the top returns array(0) {}, which is expected, and the one at the botton returns a three-member array, also as expected.
  2. Submit the form with something in the query field (to defeat the validation). Despite the $_SESSION variables being set on the previous page load, the first dump still returns array(0) {}.

我在此简化了我的代码,以处理这一问题,但我还有一页,正在毫无困难地收回“SESSION”变量(第一个var_dump产生一个成员阵列)。 这里的问题是,我向自己提交表格,如果是的话,除了<代码>_SESSION阵列外,是否还有其他办法将价值从一页的负荷传递到下一页? 我审视了购买力平价文件,并搜索了高和低,但却没有发现任何帮助。

I should also note that the session ID is the same across page loads, so it appears session state is being maintained from page load to page load.

事先得到帮助。

问题回答

在每个网页上使用这一行文:

if (isset ($_SESSION){ session_start(); }

如果您开始将<代码>_SESSION 美元输入较低级别的文字,则“美元” 上层无法取得会期变量。

会议cookie_secure = 1可引起这一问题。

UPD: 检查。 cokie_secure is set to 0 for non-secure connection.

ini_set( session.cookie_secure ,  0 )

为我工作。

UPD: similar question PHP 会议.cookie_secure: 真正的

• 确保你的服务器会议允许会议厨师。

session.use_cookies = 1

另一种选择是,这种会议是环绕在教育、青年和体育部举行的,你必须具体支持你采取的形式行动。 因此,价值观一旦公布,就没有开会。

Are sessions properly enabled? Here is the documentation for the PHP server session settings http://www.php.net/manual/en/session.configuration.php

除了杰里米的答复外,你还可以否认 co。

而不是届会 你们仍然能够使用《持久性有机污染物手册》,因为你正在利用这一工具——只是把变数及其价值包给一种(或更多的)隐蔽投入(你可以把《持久性有机污染物手册》从一个提交到一个隐蔽的投入,或者你能够创造像你首次提交的变数一样多的隐蔽投入)。 然后在第二次提交(可能是多步骤形式的第二步) 您提供新的数据,当然还有第一次提交的数据。

但我仍然倾向于届会,因为会议容易(不需要执行更多的法典)。

正在 您确保届会不会在每一页的负荷/提交上重新召开? 如果你在页数上重新编制会议设计书/提交旧会议(数据)丢失,数据列入新的会议记录。

还有一个建议:忘记请购单美元,除非 你们肯定是完全不需要的,而只使用_GET或_POST美元从正确渠道获取数据。

This is a little late to the game, and it might be that nobody encounters this configuration issue. In fact, I hope not.

我的网络东道主只是把我的所有网站移至一个新的服务器。 他们使用纸张和目录许可,用户也使用网络服务器和网址的文字。

It seems that the

session.auto_start = 1

旗帜导致不同的用户(我可以告诉谁)试图读到届会档案中,而我却把它定在零和公正使用。

session_start();

页: 1

令人吃惊的许可问题是,届会卷宗是书面的,但可以读。 因此,启动汽车的会议总是空洞的。





相关问题
why the session in iis automatically log out?

I used iis6, and when i called a function Directory.delete(), the all the session relate this website will be logged out. and i debugged the website, i found no exception. any one have ideas on this ? ...

Check session from a view in CodeIgniter

What is the best way to check session from a view in CodeIgniter, it shows no way in their user guide, otherwise I will have to make two views on everything, which is kinda weird...still a newbie to ...

Can I get the size of a Session object in bytes in c#?

Is it possible to get the size(in bytes) of a Session object after storing something such as a datatable inside it? I want to get the size of a particular Session object, such as Session["table1"], ...

提供严格分类的出席会议物体

提供严格分类的与会机会的最佳方式是什么? 我正计划转而选择矩阵,这正在促使汇编者抱怨我的幻觉方案拟订方法......

PHP Session is not destroying after user logout

I m trying to create an authentication mechanism for my PHP Application and I m having difficulty destroying the session. I ve tried unsetting the authentication token which was previously set within ...

热门标签