新的和改进的PHP会话重定向问题

问题描述

| 我正在处理多页表单。这是其功能的概要: 第一部分:收集表单输入字段->使用POST方法将用户发送到transfer.php 第二部分:transfer.php |验证是否没有任何内容->将$ _POST变量存储到$ _SESSION中->将用户重定向到表单的下一部分。 第三部分:表格的第二部分从第一个表单维护会话->将新变量添加到会话->准备一切以电子邮件形式发送 我一直在阅读如何使用header(location:)等删除会话信息。人们似乎找到的解决方案是在页面上验证表单,然后使用表单的操作字段指导用户。 我遇到的问题是: 表单重定向的位置基于表单的输入。实际上,可以根据用户在第一种形式中输入的内容将其转发给8种潜在形式。   我已经尝试过SID技术,   SESSION变量显示为   已注册,但它们都显示   &空值。 问题:如何获取会话变量以显示在下一页上? 这是我到目前为止的代码: 第1部分:表格
<form method=\"POST\" action=\"transfer.php\">
... all my form elements with proper names
</form>
第2部分:transfer.php
<?php
session_start();
$_SESSION = $_POST;

// project_type would store an url for the corresponding 2nd part of the form
$redirect = $_SESSION[\'project_type\'];
$redirect .= \"?phpSESSID=\".session_id();
header(\"Location: $redirect\");
exit();
?>
第3部分:下一个表格
<?php
// initialize a session
session_start();
echo \"<p>Session ID: \" . session_id() . \"</p>\";                     
echo \"<p>Vardump Set Off Page: \";
var_dump($_SESSION);
echo \"</p>\";
?>

<form method=\"...... the rest of the form etc
我知道该帖子使其正确地转移到transfer.php。 我知道$ _POST的内容已正确复制到$ _SESSION。 我知道重定向期间某处,会话变量被设置为&NULL 这是将用户重定向到表单的第二部分后var_dump的外观。
array(18) { [\"project_type\"]=> &NULL [\"project_timeframe\"]=> &NULL [\"company_name\"]=> &NULL [\"company_address\"]=> &NULL [\"company_city\"]=> &NULL [\"company_state\"]=> &NULL [\"company_zipcode\"]=> &NULL [\"company_phone\"]=> &NULL [\"company_website\"]=> &NULL [\"contact_name\"]=> &NULL [\"contact_title\"]=> &NULL [\"contact_email\"]=> &NULL [\"contact_phone\"]=> &NULL [\"contact_primary_phone_type\"]=> &NULL [\"contact_phone_alt\"]=> &NULL [\"contact_alternate_phone_type\"]=> &NULL [\"contact_preferences\"]=> &NULL [\"contact_preferences_additional\"]=> &NULL } 
    

解决方法

        只需在页面顶部使用
session_start();
。 除非您切换到其他会话,否则不需要ѭ5。 编辑: 同样在
transfer.php
中,您只希望将所有帖子保存到会话中,所以只需执行以下操作:
session_start();
$_SESSION = $_POST;
另外:删除此行:
session_write_close();
    

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...