php身份验证系统

本文介绍了一个简单的PHP登录系统实现过程,使用PHP与MySQL结合完成身份验证。系统包括登录页面、登录验证、数据库连接等核心文件,并通过session进行状态管理。

最近弄了个主页,想要添加一个文件存储系统,这就涉及到身份验证,本来想弄个注册登录系统的,后来发现个人站没有必要,于是就写了一个身份验证的系统。

 

思路就是用php与mysql结合,实现非常简单,只要学一下php基本就能搞定。(学习php:http://www.w3school.com.cn/php/index.asp)

 

该系统包含文件:

login.php 登录主页面

loginCheck.php 检查登录

connect.php 连接到数据库

checkA.php 检查是否登录

logout.php 登出

 

然后就是各文件了,我相信不需要注释也能看懂:

 

login.php:包含登录页面的表单,将数据提交到loginCheck.php,密码采用md5.

View Code
 1 <html>
 2 <head><title>Login As Administrator</title></head>
 3 <style type="text/css">
 4 #di {
 5     font-size: 30px;
 6     color: #FFFFFF;
 7 }
 8 .style1 {
 9     color: #FFFFFF;
10 }
11 </style>
12 <body style='background-color: #000000'>
13 
14 <div id="di" align="center">Login As Administrator</div>
15 <br /><hr width="400" /><br />
16 <form action="loginCheck.php" name="loginform" id="loginform" method="post" align="center">
17     <div class="style1" align="center">User Name:<input type="text" id="username" name="username" /></div><br /><br />
18     <div class="style1" align="center">Password:<input type="password" id="userpass" name="userpass" /></div><br/><br />
19     <div align="center"><input type="submit" name="submit" id="submit" value="Login" /></div>
20 </form>
21 <br />
22 </body>
23 </html>

 

connect.php:连接到数据库并打开session

View Code
1 <?php 
2 $con = mysql_connect("localhost" , "root" , "Azittecal");
3 mysql_select_db('login') or die('Error!');
4 mysql_query("set names 'gb2312'");
5 ?>

 

loginCheck.php:从数据库中搜索用户名,然后匹配密码,如果成功就提示并跳转到管理页面,否则提示登录失败和相关信息。

View Code
 1 <?php
 2 $lifeTime = 24 * 3600;
 3 $sessionName = session_name();
 4 $sessionID = $_GET[$sessionName];
 5 session_id($sessionID);
 6 session_set_cookie_params($lifeTime);
 7 session_start();
 8 include_once 'connect.php';
 9 
10 $username = $_POST["username"];
11 $userpass = $_POST["userpass"];
12 
13 $userpass = md5($userpass);
14 
15 $query = mysql_query("select * from user where username='" . $username . "'");
16 
17 $row = mysql_fetch_array($query);
18 if($row['username'])
19 {
20     if($row['userpass'] == $userpass)
21     {
22         $_SESSION['username'] = $username;
23         echo "<script language='javascript'>alert('Login success!');location='manage.php';</script>";
24     }
25     else
26     {
27         echo "<script language='javascript'>alert('Password Incorrect!');location='login.php';</script>";
28     }
29 }
30 else
31 {
32     echo "<script language='javascript'>alert('Invaild username!');location='login.php';</script>";
33 }
34 ?>

 

checkA.php:检查是否已经登录,就是说检查session变量里面的username是否为空,如果是的话跳转到登录页面提示登录,不是则放行。

View Code
1 <?php
2 
3 session_start();
4 if($_SESSION['username']=="")
5 {
6     echo "<script language='javascript'>alert('You have not logined yet!!!');location='login.php';</script>";
7 }
8 
9 ?>

 

logout.php:登出,只需要把username重新赋成空即可。

View Code
1 <?php
2 session_start();
3 $_SESSION['username'] = "";
4 session_destroy();
5 echo "<script language='javascript'>alert('Logout success!');location='http://www.cnblogs.com/index.php';</script>"
6 ?>

 

其他:在需要验证登录的界面include checkA.php 即可,不过记得添加登出链接。
然后对于某些页面可以验证是否登录,如果登录则显示更多信息。

 

最后附上主页截图,域名还没申请到,估计这个暑假可以把该站放出。

我的主页

转载于:https://www.cnblogs.com/stickjitb/archive/2012/06/10/2543883.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值