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