看板 PHP 關於我們 聯絡資訊
新手又來發問了。 我遇到的問題是我希望在首頁的地方能夠判定不同的user來顯示出不同的頁面。 例如一開始進入的時候沒有登入紀錄,所以是訪客,網頁最頂端會有登入 跟 註冊的選項 如果登入過的,上面會寫"歡迎,'username'" 這樣。 爬過文之後發現應該是用SESSION這項功能,但是我嘗試在index.php最上面放: <?php SESSION_start(); $_SESSION[username] = "Guest"; ?> 然後再登入的地方寫: if ($username == $row[1] && $password == $row[2]) { $_SESSION['username'] = $username; echo "<script>alert('Login Successed!');</script>"; echo '<meta http-equiv=REFRESH CONTENT=1;url=index.php>'; } 這樣好像沒有辦法改變index.php的 session耶Orz? 是不是哪邊搞錯了呢? -- ︳ | ︳ ◣|ψcl3bp6 ▉▊ | ▉◢◤▃ / ▆▅▆ ˙ 学 電 ◢◤ の 磁砲 ▊ ▲ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.169.95.197 ※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1429162491.A.022.html
kamihane: 感覺形容的有點亂Orz 04/16 13:37
JustGame: SESSION_start(); 04/16 13:55
JustGame: 看錯行,但主要是因為你 refresh 之後又把 04/16 13:59
JustGame: $_SESSION['username'] 設回 Guest 了 04/16 13:59
kamihane: 嗯@@ 我再試試看 04/16 14:02
cn41408: 多個if(isset($_SESSION['username'])) 把Guest包起來試? 04/16 15:17
kamihane: 頭昏眼花中Orz,感覺學的好混亂Orz 04/16 16:26
JustGame: $_SESSION[username] = "Guest"; 把這一行刪掉 04/16 17:43
JustGame: 加一個 else{$_SESSION['username'] = "Guest";} 04/16 17:44
JustGame: ^在登入判斷的地方 04/16 17:44
kamihane: 好Orz 我還在努力搞懂這邊中OrZ 04/16 17:46
kamihane: 把所有東西都丟到旁邊去,從新開始好了,我越弄越混亂 04/16 17:50
crossdunk: 簡單的說就是你回首頁的時候又把值變回去了 04/16 17:52
crossdunk: 所以要加判斷 什麼情況下才把值弄回去 04/16 17:53
kamihane: 大概懂了,不過我決定把它整個一步一步做起來 04/16 17:59
kamihane: 因為我本來是把註冊 跟留言板兩個地方分開寫,然後想要 04/16 17:59
kamihane: 把兩個結合起來,現在換個角度從頭一開始就一起寫 04/16 18:00
crossdunk: 你可以登入後存在SESSION裡面 其他頁面只要判斷SESSION 04/16 18:02
crossdunk: 就好了 04/16 18:02
kamihane: 因為我的login function是寫在另一個檔案裡面 04/16 18:11
kamihane: 所以在想要怎麼把在 INDEX打完帳號密碼後,按登入 04/16 18:11
kamihane: 然後我的INDEX就會改變,這樣,但是還在INDEX這個頁面中 04/16 18:12
kamihane: 這樣說好樣有點複雜,但是大概就是這個意思Orz 04/16 18:12
powyo: 要用if else判斷 04/16 18:12
powyo: 下面不是有人回覆你了嗎 04/16 18:12
kamihane: 有喔,我嘗試了orz 04/16 18:13
JF00: 感覺原po把SESSION的概念弄錯了,不同頁面讀到的SESSION是一 04/16 19:26
JF00: 樣的,所以跟是否分開來寫登入與留言板不會有影響 04/16 19:26
kamihane: 嗯,謝謝指證QQ 04/16 19:27