打开APP
未登录
开通VIP,畅享免费电子书等14项超值服
开通VIP
首页
好书
留言交流
下载APP
联系客服
PHP登录表单例程
xf_baby
>《PHP基础教程》
2013.10.19
关注
代码:
<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
>
<html xmlns=
"http://www.w3.org/1999/xhtml"
xml:lang=
"EN"
lang=
"EN"
dir=
"ltr"
>
<head profile=
"http://gmpg.org/xfn/11"
>
<title>Login登录演示示例-www.jbxue.com</title>
<meta http-equiv=
"Content-Type"
content=
"text/html; charset=utf-8"
/>
<meta http-equiv=
"imagetoolbar"
content=
"no"
/>
</head>
<?php
function
userauth(
$user
,
$passwd
) {
//TODO: 在这里应该连接数据库验证用户
if
(
$user
==
"test"
&&
$passwd
==
"0000"
)
return
true;
else
return
false;
}
?>
<body id=
"top"
>
<?php
if
(
$_SERVER
[
'REQUEST_METHOD'
]!=
'POST'
){
//确认这是一个GET请求,而不是POST请求。
?>
<!-- <form action=
"/login.php?next=<?php echo urlencode($_SERVER['REQUEST_URI']); ?>"
method=
"post"
> -->
<?php
#如果从其他页面提交过来,可以在action中指定next参数,一般指定为自身URL,
#这样登入成功可以重定向回来。
$_SERVER
[
'REQUEST_URI'
]表示自身URL。通过浏览器查看本页面的源代码可以看到产生的输出。*/
?>
<form action=
"/login.php"
method=
"post"
>
<div>请输入账号和密码:</div><br/>
<?php
if
( isset(
$_GET
[
"r"
]) ){
//验证失败重定向过来则显示错误信息。 ?>
<div style=
"color:red;"
>登录失败</div><br/>
<?php } ?>
<div>
<input id=
"txtUser"
name=
"txtUser"
type=
"text"
/>
<input id=
"txtPasswd"
name=
"txtPasswd"
type=
"password"
/>
</div><br/>
<div>
<input type=
"submit"
name=
"btnlogin"
id=
"btnlogin"
value=
"OK"
/>
</div>
</form>
<?php
}
else
{
if
( !userauth(
$_POST
[
'txtUser'
],
$_POST
[
'txtPasswd'
]) )
Header(
"Location: /login.php?r=err"
);
//没有通过验证,重定向回去
else
{
//TODO:设置Cookie或Session,记录用户的登入状态。
#如果设置Cookie则必须加密,如果设置Session则网站不能在集群服务器或多核负载均衡下工作,所以各有利弊。
if
( isset(
$_GET
[
"next"
]) ){
Header(
"Location: /"
.
$_GET
[
"next"
]);
//通过验证,重定向到next参数指定的页面
}
}
?>
<div>
<h2>您好!<?php
echo
$_POST
[
'txtUser'
] ?></h2>
<p>欢迎光临本站。</p><br/>
<!-- <p><a href=
"profile"
>? 账户</a> | <a href=
"/logout"
>退出 ?</a></p> -->
</div>
<?php
}
#注意括号对应!要注意把动态语言和静态语言分清楚。
#这就好比做分次积分。服务器执行动态语言好比第一次积分,静态代码这时候充其量都是字符串。
#客户端运行静态代码和脚本代码好比第二次积分,这时动态语言中该输出的早已输出,都是常量了。
?>
<script type=
"text/javascript"
>
<?php #这些javascript负责在客户端对表单合法性完成初步的校验。至少各项不空才提交,节省服务器的计算资源。 ?>
function
checkfields(){
var
uname=document.getElementById(
"txtUser"
).value;
//var ualias=document.getElementById("txtName").value;
var
upwd=document.getElementById(
"txtPasswd"
).value;
//var upwd2=document.getElementById("txtPasswdAgain").value;
var
buttonSubmit=document.getElementById(
"btnlogin"
);
//if(uname.match(/^[a-z0-9A-Z]+$/)&&upwd==upwd2&&upwd!=""&&ualias.match(/^[a-z0-9A-Z\u4E00-\u9FA5\u00A0-\u00FF\u0400-\u052F]+$/))buttonSubmit.disabled=false;
if
(uname.match(/^[a-z0-9A-Z]+$/)&&upwd!=
""
)buttonSubmit.disabled=false;
else
buttonSubmit.disabled=true;
}
window.setInterval(
'checkfields()'
,100);
</script>
</body>
</html>
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报
。
打开APP,阅读全文并永久保存
查看更多类似文章
猜你喜欢
类似文章
javascript表单验证大全,
AJAX技术在PHP开发中的简单应用
常用JS語句 - DOoRle‘s Blog
Html5页面使用javascript setCutomValidity()函数验证表单判断输入
显示时间
掌握 ajax,第 1 部分: ajax 简介
更多类似文章 >>
生活服务
热点新闻
留言交流
回顶部
联系我们
分享
收藏
点击这里,查看已保存的文章
导长图
关注
一键复制
下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!
联系客服
微信登录中...
请勿关闭此页面
先别划走!
送你5元优惠券,购买VIP限时立减!
5
元
优惠券
优惠券还有
10:00
过期
马上使用
×