0

嗨,我创建了两个会话变量,目的是将查询的 id 列表存储在逗号分隔的字符串中,以便稍后分解成一个数组。当我使用 apache 在 localhost 上运行代码时,代码运行良好;但是,当我在实际服务器上上传文件时,主页中声明的 $_SESSION 变量永远不会转移到第二位。我在case.php页面上做了一个if语句来测试它,我也做了一个var_dump(),它们都显示为NULL。

我想知道我需要用服务器配置什么吗?因为它读取 PHP 并执行所有其他功能而没有任何错误。感谢任何帮助或评论。

请看下面的代码:

主页:patients.php

<?php 
// store session data 
session_start(); 
// store SQL line

// store patient ID
$_SESSION['pid']='';

// store case ID
$_SESSION['cid']='';


...
while ($record = mysql_fetch_row($result)) {

    $patient = $record[0];
    $statusD = $record[1];
    $substatusD = $record[2];
    $caseCount = $record[3];
    $statusReason = $record[4];
    $dateReviewed = $record[5];
    $caseID = $record[6];
    $lastUser =$record[7];  

    //statusFlagged($patient,$caseID,$dateReviewed);            
    $statusFlagged = $record[8];
    //StatusFlag should be working as of 5/30/2013. Please double check

    // comma-delimited patient ID
    $_SESSION['pid'].=$patient.',';

    // comma-delimited case ID
    $_SESSION['cid'].=$caseID.',';

下一页:case.php

<?php 
// start session data 
session_start(); 
if(isset($_SESSION['pid'])) {
echo "Your session is running " . $_SESSION['pid'] . "and" . $_SESSION['cid'];
}
else { echo "Session not running";}

$patientIDString = $_SESSION['pid'];
$caseIDString = $_SESSION['cid'];
$patientIDArray = explode(',', $patientIDString);
$caseIDArray = explode(',', $caseIDString);
4

1 回答 1

0

感谢您提供有用的建议。我通过确保存储在session.save_pathunder的路径php.ini可以访问找到了解决方案。特别是如果您正在使用 Apache。需要确保目录的所有者与apache相同。

更改路径和读/写访问权限后,一切正常。

于 2013-07-16T20:28:10.033 回答