登录表单
login.php 用于输出留言板后台管理登录表单及处理登录用户名/密码验证,下面是登录表单:
<form id="form1" name="form1" method="post" action="login.php" onSubmit="return InputCheck(this)"> <h1>请输入管理员密码</h1> <p> <input type="hidden" name="username" value="admin" /> <label for="password">密 码:</label> <input id="password" name="password" type="password" /> </p> <input type="submit" name="submit" value=" 确 定 " /> </form>
JavaScript 检测代码
本段 Js 代码仅仅是要求密码不可为空:
<script language="JavaScript"> function InputCheck(form1) { if (form1.password.value == "") { alert("请输入密码。"); form1.password.focus(); return (false); } } </script>
登陆密码检测
该段代码用于从 user 表中检测管理员账户/密码正确与否:
<?php session_start(); require("./conn.php"); if($_POST){ $password = MD5(trim($_POST['password'])); $username = $_POST['username']; $check_result = mysql_query("SELECT uid FROM user WHERE username = '$username' AND password = '$password'"); if(mysql_fetch_array($check_result)){ session_register("username"); // 重定向至留言管理界面 header("Location: http://".$_SERVER['HTTP_HOST'].rtrim(dirname($_SERVER['PHP_SELF']), '/\' )."/admin.php"); exit; } else { echo '密码错误!'; } } ?>
对于数据库用户名/密码验证可参考《PHP 用户登录与退出》一文。
说明
- 请注意,这段用户名/密码检测的代码应该是放置于整个页面开始部分也就是登录表单上面的,只是为了便于理解,本教程先列出了表单登录部分内容。
- 登录表单中默认设置用户名为 admin ,可根据实际情况做修改或者修改成输入用户名的方式。
- 如果需要将本登录与其他管理(如网站整站登录管理),可以省略本登录页面,在留言板程序的 admin.php、reply.php 页面需要权限验证的页面中设定与其他管理同样的权限验证条件即可。
如果不做用户数据表的验证,而与配置文件中的密码做校验,那么上面的验证代码可修改为:
<?php session_start(); require("./config.php"); if($_POST){ $username = $_POST['username']; $password = $_POST['password']; if($password == $gb_password)){ session_register("username"); // 重定向至留言管理界面 header("Location: http://".$_SERVER['HTTP_HOST'].rtrim(dirname($_SERVER['PHP_SELF']), '/\' )."/admin.php"); exit; } else { echo '密码错误!'; } } ?>