주로 다음을 포함하는 관리자 로그인 배경 모듈을 구현합니다.
1.
2. 로그인 프로세스 설계
3. 로그인 코드
4. 로그인 확인 코드
字段名 | 解释 |
---|---|
id | 记录id,自动生成的 |
username | 用户名 |
password | 密码 |
name | 管理员姓名 |
tel | 电话 |
lastloginip | 最后登录IP |
lastlogintime | 最后登录时间 |
loginhits | 登录总次数 |
status | 账号状态,1启用,0停用 |
addate | 账号创建日期 |
<!--login.php--> <!DOCTYPE html> <html > <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>PHP로 MySQL 데이터베이스를 운영하는 방법에 대한 자세한 설명(3)</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">PHP로 MySQL 데이터베이스를 운영하는 방법에 대한 자세한 설명(3)</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)로 이동합니다.
<!--login_check.php--> <?php //********************PHP로 MySQL 데이터베이스를 운영하는 방법에 대한 자세한 설명(3)检查********************** //连接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 = "PHP로 MySQL 데이터베이스를 운영하는 방법에 대한 자세한 설명(3)成功!"; 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"); }?>
md5() 함수
설명: 문자열의 MD5 해시 값을 계산합니다
- 설명: 32자의 16진수 숫자로 반환합니다. 해시 값
- 참고: md5의 암호화 알고리즘은 더 이상 안전하지 않습니다
- 예: md5("123456") =e10adc3949ba59abbe56e057f20f883e
$_SERVER[]
설명: 서버 실행 환경 정보를 가져옵니다.
로그인 확인 페이지로 이동한 후, 관리자가 입력한 계정 비밀번호가 데이터베이스에 기록된 것과 일치합니다. 일치 성공)), 로그인 성공 페이지(success.php)로 이동하고, 그렇지 않으면 일치에 실패하면 로그인 실패 페이지(error.php)로 이동합니다.- $_SERVER["REMOTE_ADDR"] //클라이언트의 IP 주소
- $_SERVER["SERVER_ADDR"] //서버의 IP 주소
<!--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(4)에서 MySQL 데이터베이스를 운영합니다. )중간.
5초 후 로그인 페이지(login.php)로 이동하여 다음을 기다립니다. 관리자 계정 비밀번호를 다시 입력하세요.
위 내용은 PHP로 MySQL 데이터베이스를 운영하는 방법에 대한 자세한 설명(3)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!