会话变量未设置
问题描述:
我试图在php会话中存储大量POST数据。数据似乎保存没有任何问题,但是当我尝试访问下一页加载的数据时,它未被设置。我不知道我在做什么错。这是最小工作实例,我可以使:会话变量未设置
的index.php<?php
session_start();
$_SESSION['roles'] = $_POST['ext_roles'];
var_dump($_SESSION);
session.php文件
<?php
session_start();
var_dump($_SESSION);
当我让POST到index.php
,示出了数据按预期:
/var/www/default/index.php:4:
array (size=1)
'roles' => string '00000000000000000' (length=17)
,但是当我加载session.php
,我得到这个:
/var/www/default/session.php:3:
array (size=1)
'roles' => null
它不会发生在所有的数据,只是我真正关心的数据。如果我只是使用邮递员提交随机POST数据,它的工作方式与预期的一样,但从我试图保存的外部源进入初始POST的数据始终设置为null或空数组。我在这里完全失败。
这里是我试图与会话持久化表单数据:
form.html
<html>
<body>
<form action="index.php" method="post">
<input type="hidden" name="oauth_consumer_key" value="00000000000000000"/>
<input type="hidden" name="oauth_signature_method" value="00000000000000000"/>
<input type="hidden" name="oauth_timestamp" value="00000000000000000"/>
<input type="hidden" name="oauth_nonce" value="00000000000000000"/>
<input type="hidden" name="oauth_version" value="00000000000000000"/>
<input type="hidden" name="context_id" value="00000000000000000"/>
<input type="hidden" name="context_label" value="00000000000000000"/>
<input type="hidden" name="context_title" value="00000000000000000"/>
<input type="hidden" name="custom_canvas_api_domain" value="00000000000000000"/>
<input type="hidden" name="custom_canvas_assignment_id" value="00000000000000000"/>
<input type="hidden" name="custom_canvas_assignment_points_possible" value="00000000000000000"/>
<input type="hidden" name="custom_canvas_assignment_title" value="00000000000000000"/>
<input type="hidden" name="custom_canvas_course_id" value="00000000000000000"/>
<input type="hidden" name="custom_canvas_enrollment_state" value="00000000000000000"/>
<input type="hidden" name="custom_canvas_user_id" value="00000000000000000"/>
<input type="hidden" name="custom_canvas_user_login_id" value="00000000000000000"/>
<input type="hidden" name="ext_ims_lis_basic_outcome_url"
value="00000000000000000"/>
<input type="hidden" name="ext_outcome_data_values_accepted" value="00000000000000000"/>
<input type="hidden" name="ext_outcome_result_total_score_accepted" value="00000000000000000"/>
<input type="hidden" name="ext_outcomes_tool_placement_url"
value="00000000000000000"/>
<input type="hidden" name="ext_roles"
value="00000000000000000"/>
<input type="hidden" name="launch_presentation_document_target" value="00000000000000000"/>
<input type="hidden" name="launch_presentation_locale" value="00000000000000000"/>
<input type="hidden" name="launch_presentation_return_url"
value="00000000000000000"/>
<input type="hidden" name="lis_course_offering_sourcedid" value="00000000000000000"/>
<input type="hidden" name="lis_outcome_service_url"
value="00000000000000000"/>
<input type="hidden" name="lis_person_contact_email_primary" value="00000000000000000"/>
<input type="hidden" name="lis_person_name_family" value="00000000000000000"/>
<input type="hidden" name="lis_person_name_full" value="00000000000000000"/>
<input type="hidden" name="lis_person_name_given" value="00000000000000000"/>
<input type="hidden" name="lis_person_sourcedid" value="00000000000000000"/>
<input type="hidden" name="lti_message_type" value="00000000000000000"/>
<input type="hidden" name="lti_version" value="00000000000000000"/>
<input type="hidden" name="oauth_callback" value="00000000000000000"/>
<input type="hidden" name="resource_link_id" value="00000000000000000"/>
<input type="hidden" name="resource_link_title" value="00000000000000000"/>
<input type="hidden" name="roles" value="00000000000000000"/>
<input type="hidden" name="tool_consumer_info_product_family_code" value="00000000000000000"/>
<input type="hidden" name="tool_consumer_info_version" value="00000000000000000"/>
<input type="hidden" name="tool_consumer_instance_contact_email" value="00000000000000000"/>
<input type="hidden" name="tool_consumer_instance_guid"
value="00000000000000000"/>
<input type="hidden" name="tool_consumer_instance_name" value="00000000000000000"/>
<input type="hidden" name="user_id" value="00000000000000000"/>
<input type="hidden" name="user_image"
value="00000000000000000"/>
<input type="hidden" name="oauth_signature" value="00000000000000000"/>
<button type="submit" name="submitButton">Go</button>
</form>
</body>
</html>
是什么样的数据呢?删除了一个。给我们一个样本。 –
我看到的一件事情可能会导致这种情况,一开始就是'session_unset()'。这将意味着它再次被调用''session.php'的负载,但是这可能导致这种情况。 – Nytrix
@Nytrix我尝试过,没有'session_unset()'。真正的代码中没有'session_unset()'。 –