作者andycg (Hank)
看板PHP
标题[请益] 会员登出後.上一页重新整理又可登入的疑问..
时间Mon May 19 02:38:37 2008
如题
因为我真的是一个新手.也没有老师教
全部都是自己摸索.所以提出的这个问题可能各位会觉得很基础
但是这个问题真的卡死我了...因此才决定发文请教
----------------------
我做了一个登入页面login.htm.两个栏位输入帐密
使用<form method="POST" action="setup.php">传送至setup.php
----------------------
在setup.php第一行<? require("check.php");?>
呼叫check.php判断是否登入
----------------------
check.php的撷取资料库并做登入判断也都OK
while(LIST($power, $name, $passwd, $mail) = mysqli_fetch_row($result)){
if($power == '') # 当没有赋予权力时直接跳下一笔资料判断
continue;
elseif($_SESSION['icid_username']==$name &&
$_SESSION['icid_password']==$passwd)
# 当session有记忆东西且正确时.直接脱离回圈
break;
elseif($_POST['icid_username'] == $name &&
$_POST['icid_password'] == $passwd){
# 当接收到的帐密正确时.写入资讯到session里面.并脱离回圈
$_SESSION['icid_username']=$name;
$_SESSION['icid_password']=$passwd;
$_SESSION['icid_power']=$power;
break;
}else{
# 列出登入失败的画面内容
}
}
之後setup.php就在画面列出更新首页/内文等等的资讯.以及一个登出按钮
使用<form method="POST" action="logout.php">移动至logout.php
----------------------
登出logout.php的开头
<?
session_start();
session_unset( );
session_destroy( );
?>
我有使用echo判断是否真的删除了session.答案是真的删除
然而在我登出之後.按上一页回去管理页面
他显示网页已过期
但是我按重新整理之後.却又跑出管理页面...
我用了很多方法测试了很多变数
最後自己推测.似乎是因为这个管理页面.当初"接收"了帐密
造成往後对"这个框架"的这个页面重整後.一样会有值的读入..
有点难表达...类似session传值到下一个页面的那一长串乱码网址的概念有点像(?)
就好像是值已经镶入网址中(虽然看不见)..所以不管我有没有登出释放session
只要重新整理.他都在那边获得帐密
现在的疑问就是
不知道要怎麽样让"帐密"只可以传送一次?
在往後的重新整理时.都不会再一次接收到资料...
真的很抱歉
不知道这个问题会不会真的太基础...
只是我真的爬不出解答文了
搜寻过"登出"."登"."会员"
是有看到极其相似的文章
但是却没有办法理解/解决问题
先谢谢各位的协助了<(_ _)>
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.115.203.42
1F:→ cttlee:不是"这个框架" 因为上一次你到这页的时候有带POST的值 05/19 13:07
2F:→ cttlee:你又重新整理浏览器就把之前POST的值重新送一次 所以又过了 05/19 13:08
3F:→ andycg:那请问要如何让重新整理不会取得值呢>"<..感恩 05/19 16:59
4F:→ cttlee:验证留在login做 成功再用header导至setup 05/19 17:52
5F:→ ttndueywn:把post先改成get你就会知道发生什麽事了 05/20 01:29
6F:→ ttndueywn:然後只要加四楼的方式就很明显的知道差在那了! 05/20 01:29