您好我创建了两个会话变量,目的是将查询的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);
答案 0 :(得分:0)
感谢您提供的有用建议。我找到了解决方案,确保session.save_path
下php.ini
下存储的路径可以访问。特别是如果您正在使用Apache。需要确保目录的所有者与apache相同。
更改路径和读/写访问权限后,一切正常。