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

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

2008-03-28 07:04 931 查看
<script type="text/javascript"><!--
google_ad_client = "pub-4490194096475053";
/* 内容页,300x250,第一屏 */
google_ad_slot = "3685991503";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>

网上很多登录程序都很复杂,看不明白,这个应该比较好懂了。
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'>");

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