tac*_*one 17

不要像你的建议那样使用$ _SESSION.会话数据与所有其他页面共享,包括在其他选项卡中打开的页面.如果您在网站的多个位置使用相同的技巧,则可能会出现不可预测的行为.

未经测试的更好的代码就是这样的.

session_start();
$data_id = md5( time().microtime().rand(0,100) );
$_SESSION["POSTDATA_$data_id"] = $_POST;
header('Location: ' . $uri."?data_id=$data_id");
Run Code Online (Sandbox Code Playgroud)

在下一页中,您可以像这样检索上一篇文章

session_start();
$post = array();
$data_key = 'POSTDATA_'.$_GET['data_id'];
if ( !empty ( $_GET['data_id'] ) && !empty( $_SESSION[$data_key] ))
{ 
    $post = $_SESSION[$data_key];
    unset ( $_SESSION[$data_key] );
}
Run Code Online (Sandbox Code Playgroud)

上面的代码未经过测试,您可能必须在工作之前处理一些错误.


diE*_*cho 9

如果您想将POST数据转发到其他页面(页面除外action),请使用

session_start();
$_SESSION['post_data'] = $_POST;
Run Code Online (Sandbox Code Playgroud)