100分问一个关于用Php语言写的用户登陆的问题?

<?phpif($_GET[aaa]){setcookie("cookie","outasdfa");echo"<scriptlanguage=\"javascript\... <?php

if($_GET[aaa]){
setcookie("cookie", "outasdfa");
echo "<script language=\"javascript\">alert('out');</script>";
echo "<script language=\"javascript\">location.href='login.php';</script>";
}

if($_POST[id]=='admin'){
$pw=md5($_POST[pw]);
if($pw=='e1bfd762321e409cee4ac0b6e841963c'){
setcookie("cookie", "ok");
echo "<script language=\"javascript\">alert('ok');</script>";
echo "<script language=\"javascript\">location.href='login.php';</script>";
}
}

echo $_COOKIE['cookie'];

if($_COOKIE['cookie']!='ok'){ //COOKIE大写
?>

<form action="" method="post" name="myform">
ID:<input type="text" name="id" /><br>
PW:<input type="password" name="pw" />
<input type="submit" name="submit" value="登陆"/>
</form>
<?
}else{
?>
<a href='?aaa=login'>退出</a>
<?
}
?>
以上程序有些地方看不懂,第一个if语句 if($_GET[aaa]){。。。}什么意思?明明表单里用的是post,但这里为什么写成$_GET[aaa]了。
还有一个问题是<a href='?aaa=login'>退出</a> 这里'?aaa=login'什么意思?
展开
 我来答
字非语
2011-11-10 · 超过32用户采纳过TA的回答
知道答主
回答量:90
采纳率:0%
帮助的人:91.8万
展开全部
第一个问题:
在同一个表单里可由post与get两种方法同时存在。如
<form name="?aaa=login" method="post">
<input type="text" name="id" value="">
</form>
如果是这样提交就同时存在get与post,不管用那一种方法提交,都可用$_REQUEST全局数组取得。
第二个问题:
<a href='?aaa=login'>退出</a> 这里'?aaa=login'什么就是到连接到当前页带一个aaa参数。
如果当前页面是test.php那么上面就相当于<a href="test.php?aaa=login">退出<a>
追问
大哥,如果按你的思路。首先退出 
是在用户登录成功后跳出的页面,但是当我点击这个跳出的退出页面时,却返回不了原来的那个页面了即 http://localhost/bbs_chuxin/login.php 反而出现的
页面地址为 http://localhost/bbs_chuxin/login.php?aaa=login 在程序后面多添加了一句?aaa=login
如果要改的话如何改成点击退出按钮后 跳到 http://localhost/bbs_chuxin/login.php 这个页面
追答
http://localhost/bbs_chuxin/login.php?aaa=loginhttp://localhost/bbs_chuxin/login.php 这个页面是同一个页的,只不过是多了一个参数aa,这个是Get的方法特征。如果你想在地址栏隐藏掉aaa参数,你可改为表单的方式方法,代码如下:
alert('out');";
echo "location.href='login.php';";
}

if($_POST[id]=='admin'){
$pw=md5($_POST[pw]);
if($pw=='e1bfd762321e409cee4ac0b6e841963c'){
{
setcookie("cookie", "ok");
echo "alert('ok');";
echo "location.href='login.php';";
}
}

echo $_COOKIE['cookie'];

?>

ID:
PW:

function logout()
{
document.myform.submit();
}

退出

gy36000
2011-11-13
知道答主
回答量:43
采纳率:0%
帮助的人:11.4万
展开全部
他回答的是对的
if($_GET[aaa])或者if($_POST[aaa])都是为安全性考虑所作的非空验证
'?aaa=login'是GET传参的特征
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式