0
您好我创建了两个会话变量与存储在一个逗号分隔的字符串查询的ID列表以后,发生破碎到一个数组的目的页面携带。当我使用apache在localhost上运行代码时,代码工作正常;但是,当我在实际服务器上上传文件时,主页面中声明的$ _SESSION变量永远不会转移到第二位。我在case.php页面上做了一个if语句来测试它,并且我也做了一个var_dump(),它们都显示为NULL。PHP会话变量不跨越
我想知道有什么我需要与服务器进行配置?因为它读取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);
任何东西之前,尝试一个简单的测试:运行(在“实际的服务器”)一对夫妇简单地写和'$ _SESSION'阅读的网页。这是因为我看到在设置会话值之前必须运行一些额外的东西(数据库读取);问题可能来自那些东西(所以会话值可能永远不会被设置)。 – Racso
@Racso好主意。我试着将初始'$ _SESSION('pid')'设置为'test',并在while循环中注释这些变量,但仍然是相同的结果。一旦我在另一个页面上,会话似乎不会继续。 – alchuang
当你添加'error_reporting(E_ALL)'时,你是否收到错误? – Pieter