我不明白为什么我的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();
?>
考虑到可能是我的服务器,这里有一些测试URL。第一个链接创建一个会话数组并打印出来,第二个链接打印一个空的会话数组。两页上的代码相同。
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
SO中的另一个用户提出了相同类型的问题,并得到了解决。
请检查它是否能帮助你PHP会话不工作
你能打印session_id吗?每次加载页面时它是否都没有更改?