作者jeffrank ()
看板PHP
標題[請益] 網頁登入和cookie的問題
時間Tue Jul 31 15:05:46 2007
各位板友好,
小弟在練習寫使用cookie確認會員登入的時候,
是利用類似以下這種結構.
先確認有沒有 post variable, 有的話拿來設定cookie,
再來才 確認cookie有沒有設定 && cookie值有沒有符合(確認帳密)
, 有的話就是歡迎畫面, 沒有的話就還是登入畫面.
登入畫面 是個表單. 可填入帳號密碼, action就是原本的.php
但是登入成功, 畫面仍然是登入畫面, 必須再重新整理一次才會變成歡迎畫面,
請問這種現象要怎麼樣才可消除, 讓使用者可以不用按重新整理?
以下是簡略的結構
==============================================================
main.php
<?php
setMyCookie() ; // 設定cookie
if(isset($_COOKIE['name'])&&isset($_COOKIE['password'])){
$r=check($_COOKIE['name'], $_COOKIE['password']) //確認帳號密碼
if($r==0)
showHello() ; // 顯示歡迎畫面
else
showLoginUI() ; // 帳號密碼有錯, 顯示登入畫面
}
else
showLoginUI() ; //顯示登入畫面
function setMyCookie(){
if(isset($_POST['user_name'])&&isset($_POST['password'])){
//把post variable寫入cookie
}
}
?>
而showLoginUI()是print HTML語法 , 裡面有個form 類似這樣
<form action='main.php'method='POST' >
<input type='text' name='user_name'...>
<input type='password' name='password'....>
</form>
==============================================================
懇請指教, 若有更好的方法請教一下小弟..謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.134.102.148
※ 編輯: jeffrank 來自: 220.134.102.148 (07/31 15:06)
推 fillano:建議還是用session做,如果瀏覽器不支援cookie,用url傳 07/31 15:10
→ fillano:session id。(session_start()後可由SID常數取得) 07/31 15:12
推 knockout:cookie也不建議放使用者密碼 ... 07/31 16:00
推 gmoz:檢查cookie可以用獨立一頁來檢查 成功就跳走 失敗也跳走 08/01 00:09
→ gmoz:當然跳的網頁不一樣 可以用javascript來跳 08/01 00:10
→ gmoz:然後每頁都include個檢查cookie的php 原理如上 08/01 00:11
→ gmoz:建議還是用SESSION比較安全 08/01 00:12
推 jeffrank:ok, 謝謝各位的回答 ^^ 08/02 23:35