我无法弄清楚为什么我的PHP会话数组在页面加载之间消失了。以下代码使session_start()在每个页面加载时可用:
<?php
session_start();
if ( isset( $_SERVER['QUERY_STRING'] ) && !empty($_SERVER['QUERY_STRING']) ) {
$gmeta_query_string = $_SERVER['QUERY_STRING'];
parse_str( $gmeta_query_string, $gmeta_query_array );
var_dump($gmeta_query_array);
foreach ( $gmeta_query_array as $key => $value ) {
$_SESSION[ 'gmeta_query_array' ][$key] = $value;
}
}
var_dump( $_SESSION );
echo session_id();
?>
想想也许它可能是我的服务器,这里有一些测试网址。第一个链接创建一个会话数组并将其打印出来,第二个链接会打印一个空的会话数组。两个页面的代码都相同。
http://barbadospropertylist.com/wp-content/plugins/gravitymeta/test.php?name=value
http://barbadospropertylist.com/wp-content/plugins/gravitymeta/test.php
这里是PHP信息的链接:http://www.barbadospropertylist.com/phpinfo.php
答案 0 :(得分:1)
另一位用户在SO中询问了同一类型的问题,并将其解决了。
请检查它是否可以帮到你 PHP session is not working
是否可以打印session_id,是否在每次加载页面时都没有更改?