Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
重定向后会话变量丢失-PHP 7.3_Php_Variables_Session_Redirect - Fatal编程技术网

重定向后会话变量丢失-PHP 7.3

重定向后会话变量丢失-PHP 7.3,php,variables,session,redirect,Php,Variables,Session,Redirect,我正在尝试将会话变量从page1.php转发到page2.php。 重定向后会话变量丢失。 在PHP版本5.3.28中,它工作正常。升级到PHP版本后,问题开始出现。7.3.9 page1.php session_start(); $_SESSION['myvar']=1; session_write_close(); header( 'Location: page2.php' ); exit(); page2.php session_start(); echo

我正在尝试将会话变量从page1.php转发到page2.php。 重定向后会话变量丢失。 在PHP版本5.3.28中,它工作正常。升级到PHP版本后,问题开始出现。7.3.9

page1.php

session_start();
$_SESSION['myvar']=1;
session_write_close();
header( 'Location: page2.php' );
exit();
page2.php

    session_start();
            echo $_SESSION['myvar'];
            if ( isset($_SESSION['myvar']) && $_SESSION['myvar'] == 1 ){
echo "OK";
unset($_SESSION['myvar']);}

session\u write\u close
-写入会话数据并结束会话~这肯定能回答您的问题吗?@RamRaider不,我认为不会。结束会话只意味着在当前脚本实例中无法再写入会话,数据将写入会话存储。这与永久性地“杀死”/“删除/删除”会话没有任何关系,它只是做了PHP在脚本结束时通常会做的事情,在前面的一点上。我已经用PHP7.3.1测试了您的脚本,它可以正常工作。
page2.php
的输出是什么?只要去掉
session\u write\u close
我一直在做这件事,没有使用这个函数,它工作得非常好。我删除了session\u write\u close,仍然是同样的问题。