在前面我们讲了《PHP 用户注册与登录实例演示》、《PHP 实现用户注册功能》、《PHP实现用户登录与退出功能》经过一系列的学习,就可以轻松实现注册与登录了,下面我们将前面的代码整理到一起来,实现完整的功能。
以下列出了用户注册与登录的完整代码,您也可以点击此处下载本节教程完整的源代码压缩包。
login.htmlhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN"
"/TR/xhtml1/DTD/xhtml1-transitional.dtd">
用户登录
html{font-size:12px;}
fieldset{width:520px;margin:0auto;}
legend{font-weight:bold;font-size:14px;}
label{float:left;width:70px;margin-left:10px;}
.left{margin-left:80px;}
.input{width:150px;}
span{color:#666666;}
用户登录
用户名:
密码:
conn.php<?php
/*****************************
*数据库连接
*****************************/
$conn=@mysql_connect("localhost","root","root123");
if(!$conn){
die("连接数据库失败:".mysql_error());
}
mysql_select_db("test",$conn);
//字符转换,读库
mysql_query("setcharacterset'gbk'");
//写库
mysql_query("setnames'gbk'");
?>
reg.php<?php
if(!isset($_POST['submit'])){
exit('非法访问!');
}
$username=$_POST['username'];
$password=$_POST['password'];
$email=$_POST['email'];
//注册信息判断
if(!preg_match('/^[\w\x80-\xff]{3,15}$/',$username)){
exit('错误:用户名不符合规定。返回');
}
if(strlen($password)
exit('错误:密码长度不符合规定。返回');
}
if(!preg_match('/^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$/',$email)){
exit('错误:电子邮箱格式错误。返回');
}
//包含数据库连接文件
include('conn.php');
//检测用户名是否已经存在
$check_query=mysql_query("selectuidfromuserwhereusername='$username'limit1");
if(mysql_fetch_array($check_query)){
echo'错误:用户名',$username,'已存在。返回';
exit;
}
//写入数据
$password=MD5($password);
$regdate=time();
$sql="INSERTINTOuser(username,password,email,regdate)VALUES('$username','$password','$email',
$regdate)";
if(mysql_query($sql,$conn)){
exit('用户注册成功!点击此处登录');
}else{
echo'抱歉!添加数据失败:',mysql_error(),'
';
echo'点击此处返回重试';
}
?>
login.htmlhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN"
"/TR/xhtml1/DTD/xhtml1-transitional.dtd">
用户登录
html{font-size:12px;}
fieldset{width:300px;margin:0auto;}
legend{font-weight:bold;font-size:14px;}
.label{float:left;width:70px;margin-left:10px;}
.left{margin-left:80px;}
.input{width:150px;}
span{color:#666666;}
用户登录
用户名:
密码:
login.php<?php
session_start();
//注销登录
if($_GET['action']=="logout"){
unset($_SESSION['userid']);
unset($_SESSION['username']);
echo'注销登录成功!点击此处登录';
exit;
}
//登录
if(!isset($_POST['submit'])){
exit('非法访问!');
}
$username=htmlspecialchars($_POST['username']);
$password=MD5($_POST['password']);
//包含数据库连接文件
include('conn.php');
//检测用户名及密码是否正确
$check_query=mysql_query("selectuidfromuserwhereusername='$username'andpassword='$password'
limit1");
if($result=mysql_fetch_array($check_query)){
//登录成功
$_SESSION['username']=$username;
$_SESSION['userid']=$result['uid'];
echo$username,'欢迎你!进入用户中心
';
echo'点击此处注销登录!
';
exit;
}else{
exit('登录失败!点击此处返回重试');
}
?>
my.php<?php
session_start();
//检测是否登录,若没登录则转向登录界面
if(!isset($_SESSION['userid'])){
header("Location:login.html");
exit();
}
//包含数据库连接文件
include('conn.php');
$userid=$_SESSION['userid'];
$username=$_SESSION['username'];
$user_query=mysql_query("select*fromuserwhereuid=$useridlimit1");
$row=mysql_fetch_array($user_query);
echo'用户信息:
';
echo'用户ID:',$userid,'
';
echo'用户名:',$username,'
';
echo'邮箱:',$row['email'],'
';
echo'注册日期:',date("Y-m-d",$row['regdate']),'
';
echo'注销登录
';
?>