作者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)
1F:推 fillano:建议还是用session做,如果浏览器不支援cookie,用url传 07/31 15:10
2F:→ fillano:session id。(session_start()後可由SID常数取得) 07/31 15:12
3F:推 knockout:cookie也不建议放使用者密码 ... 07/31 16:00
4F:推 gmoz:检查cookie可以用独立一页来检查 成功就跳走 失败也跳走 08/01 00:09
5F:→ gmoz:当然跳的网页不一样 可以用javascript来跳 08/01 00:10
6F:→ gmoz:然後每页都include个检查cookie的php 原理如上 08/01 00:11
7F:→ gmoz:建议还是用SESSION比较安全 08/01 00:12
8F:推 jeffrank:ok, 谢谢各位的回答 ^^ 08/02 23:35