看板 PHP 關於我們 聯絡資訊
剛發生了一點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名稱一樣會互相影響? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.43.117.233 ※ 編輯: knuckles 來自: 114.43.117.233 (12/24 16:40)
EragonJ:register_globals 要設定成 off 12/24 16:51
EragonJ:register_gloabals的設定是說可以決定要不要把EGPCS變數 12/24 16:55
EragonJ:視為全域變數以$NAME的方式去存取 12/24 16:55
EragonJ:參考 http://www.php.net/manual/en/ini.core.php 一下吧 12/24 16:56
bobju:看不到$_SESSION['tn']被賦值的情境,還無法確認真正原因. 12/24 17:25
knuckles:喔喔 謝謝 EragonJ 原來是忘了關那個 關了就正常了 ^^|| 12/24 18:14
knuckles:測試用的電腦是裝appserv,預設這個是on 囧 12/24 18:18