【问题标题】:Unable to retrieve $_SESSION variable in include function of PHP无法在 PHP 的包含函数中检索 $_SESSION 变量
【发布时间】:2020-08-13 07:11:55
【问题描述】:

我有两个文件:

重定向目标.php

<?php
echo '<p>APPROVAL FOR CUSTOMER PURCHASE</p>';
echo "Currently cpaUpdResults:".$_SESSION['cpaUpdResults'];
include('RedirectionSrc.php');
echo "Currently cpaUpdResults:".$_SESSION['cpaUpdResults'];
if (isset($_SESSION['cpaUpdResults']) && !empty($_SESSION['userid'])) {
  if ($_SESSION['cpaUpdResults']) {
    echo "<p>Records was updated successfully ".$_SESSION['cpaUpdResults']."</p>"; 
  } else {
    echo "<p>Error! Please retry again".$_SESSION['cpaUpdResults']."HHHH</p>"; 
  }//
}//
?>

RedirectionSrc.php:

<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
  $id = $_POST['pidForApproval'];
  $remarks = $_POST['remarkstxt'];
  $resultOfUpdate = $remarks;
  $_SESSION['cpaUpdResults'] = $resultOfUpdate;         
  header("Location:RedirectionTarget.php");
  exit();
}
?>
<form class="approvalForm" action="RedirectionSrc.php" method="post">
  <div class="R01C01 formCell">
    <label for="remarkslbl">Annual value:</label>
  </div>
  <div class="R01C02 formCell">
    <div class="value">RM1000.10</div>
    <select name="approval" id="approval">
      <option value="">--Click here to view approve or reject--</option>
      <option value="approved">Approved</option>
      <option value="rejected">Rejected</option>
    </select>
    <label for="remarkslbl">Remarks:</label>
    <textarea id="remarkstxt" name="remarkstxt" rows="5" cols="70" maxlength="1000" placeholder="Click here to type remarks"></textarea>
    <span class="cm_char" id="char_disp"></span>
    <input type="submit" value="Submit" />
    <input type="hidden" id="pidForApproval" name="pidForApproval" value="<?php echo "$pid"; ?>">
    <input type="hidden" id="approvalType" name="approvalType" value="cpurchase">
</form>

我要做的是填写在 RedirectionSrc.php 中定义但包含在RedirectionTarget.php 中的表单。填写完表单后,我提交表单,RedirectionSrc.php 处理它,然后将其发送回 RedirectionTarget.php,在那里我从 $_SESSION['cpaUpdResults'] 变量值中检索并显示它们。我的问题是我无法检索存储在 RedirectionSrc.php 中的 $_SESSION['cpaUpdResults'] 中的值。我希望有一个人可以帮助我。谢谢。

【问题讨论】:

  • 你用过session_start()?有关更多信息,请查看文档 (php.net/manual/en/function.session-start.php)
  • 是的,我已经包含在 RedirectionTarget.php 中,我没有包含在上面的帖子中。
  • 你有没有把“session_start()”放在任何输出之前?
  • 您是否启用了正确的 PHP 错误报告和错误显示? (是的,我们必须再次浏览所有经典......)
  • 我无法在 RedirectionSrc.php 文件中包含 session_start(),因为这样做时,每当我重新加载 RedirectionTarget.php 时都会出错。错误内容为:注意:session_start():会话已启动 - 忽略 ....

标签: php forms session


【解决方案1】:

session_start() 在两个文件中都缺失。否则,会话变量将无法访问。

【讨论】:

  • 看看问题的cmets :-)
  • 但是你为什么要发布一个代码问题,同时缺少基本脚本的部分内容?这没有任何意义。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-11-19
  • 2013-05-17
  • 2014-10-01
  • 2015-05-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多