dpp34603 2016-12-05 01:33
浏览 48
已采纳

会话变量未设置

I'm trying to store a lot of POST data in a php session. The data appears to be saved without any problem, but when I try to access the data on the next page load, it is unset. I have no idea what I'm doing wrong. This is the minimum working example that I can make:

index.php

<?php
session_start();
$_SESSION['roles'] = $_POST['ext_roles'];
var_dump($_SESSION);

session.php

<?php
session_start();
var_dump($_SESSION);

When I make a POST to index.php, the data is shown as expected:

/var/www/default/index.php:4:
array (size=1)
  'roles' => string '00000000000000000' (length=17)

but when I load session.php, I get this:

/var/www/default/session.php:3:
array (size=1)
  'roles' => null

It doesn't happen with all data either, just the data that I actually care about. If I just use postman to submit random POST data, it works just as expected, but the data that comes into the initial POST from the external source that I'm trying to save is consistently set to null or an empty array. I am at a complete loss here.

here is the form data that I'm trying to persist with the session:

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>
  • 写回答

1条回答 默认 最新

  • dpo60833 2016-12-05 01:53
    关注

    Try to change:

    $_SESSION['post-data'] = $_POST;
    

    into:

    if ($_POST) $_SESSION['post-data'] = $_POST;
    

    Otherwise, post-data will get set to empty array with any $_GET call.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 各位请问平行检验趋势图这样要怎么调整?说标准差差异太大了
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
  • ¥15 wpf界面一直接收PLC给过来的信号,导致UI界面操作起来会卡顿
  • ¥15 init i2c:2 freq:100000[MAIXPY]: find ov2640[MAIXPY]: find ov sensor是main文件哪里有问题吗
  • ¥15 运动想象脑电信号数据集.vhdr
  • ¥15 三因素重复测量数据R语句编写,不存在交互作用
  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab