管理员登录后台模块
实现管理员登录后台模块,主要包括:
1. 数据表的设计
2. 登录流程设计
3. 登录代码
4. 登录检查代码
1. 管理员数据表——007_admin
字段名 | 解释 |
---|---|
id | 记录id,自动生成的 |
username | 用户名 |
password | 密码 |
name | 管理员姓名 |
tel | 电话 |
lastloginip | 最后登录IP |
lastlogintime | 最后登录时间 |
loginhits | 登录总次数 |
status | 账号状态,1启用,0停用 |
addate | 账号创建日期 |
2.登录流程图
3.登录实现
登录页面 login.php
<!--login.php--> <!DOCTYPE html> <html > <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>用户登录</title> </head> <body> <form name="form1" method="post" action="login_check.php"> <table width="500" border="1" bordercolor="#ccc" rules="all" align="center" cellpadding="5"> <tr> <th colspan="2" bgcolor="#ccc">用户登录</th> </tr> <tr> <td width="80" align="right">用户名:</td> <td><input type="text" name="username" /></td> </tr> <tr> <td align="right">密码:</td> <td><input type="password" name="password"/></td> </tr> <tr> <td> </td> <td> <input type="submit" value="登录"/> <input type="hidden" name="ac" value="login"/> <!--隐藏域,向服务器隐式传值,用于表单验证--> </td> </tr></table></form></body></html>
运行效果
输入账号密码后点击登录,会跳转到登录检查页面(login_check.php)
4. 登录检查页面 login_check.php
<!--login_check.php--> <?php //********************用户登录检查********************** //连接MySQL数据库include "conn.php"; //判断表单是否提交if(isset($_POST['ac']) && $_POST['ac']=='login'){ //获取表单提交的数据 $username = $_POST['username']; $password = md5($_POST['password']); //md5() 对密码进行加密 //构建要查询的SQL语句 $sql = "SELECT * FROM 007_admin WHERE username='$username' AND password='$password'"; //执行SQL语句 $result = mysql_query($sql); //获取结果集中的记录数 $records = mysql_num_rows($result); //判断是否匹配 if($records){ //匹配 //获取相关变量信息 $lastloginip = $_SERVER['REMOTE_ADDR']; $lastlogintime = time(); //构建更新记录的SQL语句 $sql = "UPDATE 007_admin SET lastloginip='$lastloginip', lastlogintime=$lastlogintime, loginhits=loginhits+1 WHERER username='$username'"; //执行SQL语句 mysql_query($sql); //跳转到成功页面 $url = "manage.php"; $message = "用户登录成功!"; header("location:success.php?url=$url&message=$message"); }else{ //未匹配 $message = urlencode("用户名或密码不正确!"); header("location:error.php?message=$message"); } }else{ //如果非法操作 $message = urlencode("非法操作!"); header("location:error.php?message=$message"); }?>
代码PS:
md5() 函数
描述:计算字符串的 MD5 散列值
说明:以 32字符十六进制数字形式返回散列值
注意:md5的加密算法不再安全了
举例:md5(“123456”) =e10adc3949ba59abbe56e057f20f883e
$_SERVER[]
描述:获取服务器执行环境信息。
$_SERVER[“REMOTE_ADDR”] //客户端的IP地址
$_SERVER[“SERVER_ADDR”] //服务器端的IP地址
跳转到登录检查页面后,会把管理员输入的账号密码与数据库中的记录进行匹配,当输入的账号密码正确时(即匹配成功),则跳转到登录成功页面(success.php);否则,匹配不成功,跳转到登录失败页面(error.php)。
登录成功页面 success.php
<!--success.php--> <?php$message=urldecode($_GET["message"]); $url=trim($_GET["url"]);?> <!DOCTYPE><html><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>操作成功</title> <style type="text/css"> *{margin:0px;padding:0px;}.box{ width:450px; border:1px solid #f0f0f0; background:#FFFFCC; margin:100px auto; padding:20px; font-size:14px; line-height:180%; color:#444;}h2{margin-bottom:10px;} #time{color:#FF0000; }. .color2{color:#0099FF;} a.a1:link,a.a1:visited{color:#0099FF;text-decoration:none;} a.a1:hover{color:#FF0000;text-decoration:underline;} </style></head><body><p class="box"> <h2 align="center">操作成功</h2> <p><b>提示:<?php echo $message;?></b></p> <p>系统将在 <span id="time">5</span> 秒钟后自动跳转,如果不想等待,请点击 <a class="a1" href="<?php echo $url?>">这里</a> 跳转。</p> </p></body></html><script language="javascript">function playSec(num){ //获取id=time的元素对象 var time = document.getElementById("time"); time.innerHTML = num; if(--num >0) { window.setTimeout("playSec("+num+")",1000); }else { location.href="<?php echo $url?>"; } } playSec(5);</script>
运行效果
5秒后,跳转到新闻管理页面(manage.php),新闻管理页面在PHP操作MySQL数据库(4)中。
登录失败页面 error.php
登录失败的代码和登录成功的代码差不多。
运行效果
5秒后,跳转到登录页面(login.php),等待管理员重新输入账号密码。
以上是PHP操作MySQL数据库详解(三) 的详细内容。更多信息请关注PHP中文网其他相关文章!

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

php判断有没有小数点的方法:1、使用“strpos(数字字符串,'.')”语法,如果返回小数点在字符串中第一次出现的位置,则有小数点;2、使用“strrpos(数字字符串,'.')”语句,如果返回小数点在字符串中最后一次出现的位置,则有。

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\ \;||\xc2\xa0)/","其他字符",$str)”语句。

在php中,可以使用substr()函数来读取字符串后几个字符,只需要将该函数的第二个参数设置为负值,第三个参数省略即可;语法为“substr(字符串,-n)”,表示读取从字符串结尾处向前数第n个字符开始,直到字符串结尾的全部字符。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

禅工作室 13.0.1
功能强大的PHP集成开发环境

Atom编辑器mac版下载
最流行的的开源编辑器

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

Dreamweaver Mac版
视觉化网页开发工具