看板 Knuckles_note
作者 標題 [PHP] 詭異的 session 變數問題
時間 2009年12月24日 Thu. PM 04:27:10
剛發生了一點bug,研究了好久
在這邊記錄一下
session_start();
$tn = 0;
if(isset($_GET['tn'])) $tn = $_GET['tn'];
else if(isset($_SESSION['tn'])) $tn = $_SESSION['tn'];
echo $tn;
像這樣,當 $_SESSION['tn'] 有值時
最後 $tn 一樣是 0
可是當 $_GET['tn'] 有值時
$tn 就會是 $_GET['tn'] 的值
不過如果改成這樣
session_start();
if(isset($_GET['tn'])) $tn = $_GET['tn'];
else if(isset($_SESSION['tn'])) $tn = $_SESSION['tn'];
else $tn = 0;
echo $tn;
最後$tn就會是 $_SESSION['tn'] 的值了
所以我想是因為一般變數名稱如果和 session 陣列 的index名稱一樣會互相影響?
--
※ 來源: DISP BBS (http://disp.twbbs.org)
※ 作者: Knuckles 來自: 114.43.117.233 時間: 2009-12-24 16:27:10
※ 編輯: Knuckles 來自: 114.43.117.233 時間: 2009-12-24 16:34:44
※ 編輯: Knuckles 來自: 114.43.117.233 時間: 2009-12-24 16:39:48
※ 編輯: Knuckles 來自: 114.43.117.233 時間: 2009-12-24 16:40:20
PO在ptt的php板一下就得到解答了
php的設定檔中,register_globals 要設定成 off
本來裝linux時預設都是off的,只是自己的電腦上測試裝的appserv預設是on...
※ 編輯: Knuckles 來自: 114.43.117.233 時間: 2009-12-24 18:22:08
※ 看板: KnucklesNote 文章推薦值: 0 目前人氣: 0 累積人氣: 376
回列表(←)
分享