您的位置:首页 > 编程语言 > PHP开发

网上代码研究后修改的PHP登录程序,关闭浏览器session清空,可以设置cookies时间

2008-03-28 07:04 1056 查看
网上很多登录程序都很复杂,看不明白,这个应该比较好懂了。
login.php
<FORM ACTION="checklogin.php" METHOD="POST">
<TABLE height=159 cellSpacing=0 cellPadding=0 width=268 align=center
bgColor=#ffff99 border=0>
<TBODY>
<TR>
<TD align=middle width=234 height=43><IMG height=113
src="images/login.gif" width=359></TD></TR>
<TR>
<TD align=middle background=images/loginbg.gif
bgColor=#fafafa height=180>
<TABLE width=250 border=0>
<TBODY>

<TR>
<TD align=middle height=25>帐号:  <INPUT tabIndex=1
maxLength=20 size=15 name=username></TD></TR>
<TR>
<TD align=middle>密码:  <INPUT tabIndex=2
type=password maxLength=20 size=15 name=password></TD></TR>
<TR>
<TD align=middle height=25><INPUT id=login_manager style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BACKGROUND-IMAGE: url(images/loginbutton.gif); BORDER-LEFT: 0px; WIDTH: 52px; CURSOR: hand; BORDER-BOTTOM: 0px; HEIGHT: 18px" type=submit value=" " name=login_manager>
<INPUT id=login_member2 style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BACKGROUND-IMAGE: url(images/loginbutton2.gif); BORDER-LEFT: 0px; WIDTH: 52px; CURSOR: hand; BORDER-BOTTOM: 0px; HEIGHT: 18px" type=reset value=" " name=login_member2></TD></TR>
<TR>
<TD align=middle>
<TABLE border=0>
<TBODY>
<TR>
<TD></TD>
<TD width=10></TD>
<TD></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD></TR>
<TR>
<TD align=middle background=images/loginend.gif
height=5></TD></TR></TBODY></TABLE></FORM>
这个页面就是一个登录表单
检查是否登录
checklogin.php
<?php require_once('../Connections/lr.php'); ?>
<?php
// 表单提交后...
$username = trim($_REQUEST['username']);
$password = trim($_REQUEST['password']);

mysql_select_db($database_lr, $lr);
$sql = "SELECT username, password FROM admin WHERE username='$username' AND password='$password'";
// 取得查询结果
$result = mysql_query( $sql );
$userInfo = @mysql_fetch_array($result);

if (!empty($userInfo)) {
if ($userInfo["username"] == $username) {
// 当验证通过后,启动 Session
session_start();
echo("<meta http-equiv=refresh content='0; url=index.php'>");
// 注册登陆成功的 admin 变量,并赋值 true
$_SESSION["admin"] = true;
} else {
die("用户名密码错误");
}
} else {
die("用户名密码错误");
}
?>
这里可以让错误的转到再次登录页面
====
验证是否登录,就是在后台每页需要加上的代码,这样就限制了访问
admin.php
<?php
// 防止全局变量造成安全隐患
$admin = false;
// 启动会话,这步必不可少
session_start();
$lifeTime = 20 * 60; //
setcookie(session_name(), session_id(), time() + $lifeTime, "/");
// 判断是否登陆
if (isset($_SESSION["admin"]) && $_SESSION["admin"] === true) {
echo "";
} else {
// 验证失败,将 $_SESSION["admin"] 置为 false
$_SESSION["admin"] = false;
die("您无权访问");
}
?>

退出页是
logout.php
<?php
session_start();
// 这种方法是将原来注册的某个变量销毁
unset($_SESSION['admin']);
echo("<meta http-equiv=refresh content='0; url=login.php'>");

?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: