该系统为简单的注册登录系统,包含的功能有
1.用户注册
2.给用户邮箱发送激活码
3.用户登录
4.保存用户登录信息,自动登录
5.用户修改密码
6.用户密码找回
7.用户注销登录
主要代码文件有:
config.php
该文件为连接数据库文件,连接到mysql并选择数据库
install.php
该文件为自动安装数据库表文件,系统所需的用户信息存储表
SignUp.php
该文件为用户注册的界面,html代码,数据处理文件add.php
add.php
该文件为用户注册的数据处理文件,检查用户注册各数据是否合法,注册成功,
将数据写进数据库表,并发送激活码到用户邮箱,自动跳转到激活界面
activate.php,提示用户激活账号
activate.php
该文件为用户激活界面,html代码,激活数据处理文件active_go.php
该界面同时可以重新发送激活码,重新发送激活码数据处理文件
Resend_actNum.php
Resend_actNum.php
该文件为重新发送激活码文件,用户输入用户名和注册邮箱,点击重新发送即可
获得激活码邮件
active_go.php
该文件为激活数据处理文件,用户激活成功,将数据库表中激活码置为0,自动跳
转到登录界面
login.php
用户登录界面,首先判断session会话变量中是否存储了登录信息,如果有,则自
动登录,登录数据处理文件login_go.php
login_go.php
用户登录数据处理文件,需要判断用户是否激活,用户名是否存在,密码是否匹
配等,同时创建会话,保存登录信息,如果用户登录时选择保存登录信息,则发
送cookie到客户端
forgot.php
找回密码界面,html代码。用户登录时忘记密码,则可以通过输入用户名和注册
邮箱获取密码,数据处理文件为forgot_go.php
forgot_go.php
用户找回密码数据处理文件,如果用户名和邮箱检测正确,则发送密码到邮箱,
然后跳转到登录页面重新登录
manage.php
用户管理页面,导航框架,点击左边的链接,右边会显示相应的网页
manage_menu.php
用户管理页面左边的导航页面,显示各个功能菜单,点击相应的链接,右边显示
响应的网页
change_password.php
在manage文件夹下,修改密码的界面,在用户管理左边导航点击修改密码,右边
页面会跳转到该页面修改密码,数据处理文件为change_password_go.php
change_password_go.php
在manage文件夹下,用户修改密码数据处理文件,如果数据检测正确,则修改数
据库表中的密码,同时也要修改session会话中的密码,修改成功返回到默认管理
页面,不成功则返回重新输入
menu_default.php
在manage文件夹下,用户管理的默认管理页面,点击管理页面左边导航我的地盘
链接也会跳转到该页面,该页面代码未完
善,以后扩展
login_off.php
在manage文件夹下,用户注销登录文件。在管理页面左边导航点击退出登录,会
执行该文件,然后直接跳转到登录界面。注销登录,只要设置客户端cookie过期
,删除会话。
PHP注册登录系统------config.php
$server="localhost";
$username="root";
$password="";
$database="";
if($database=="")
{
$query="use members";
if(mysql_query($query)==null)
{
$query="create database members";
if(mysql_query($query)==1)
{
//创建数据库成功,开始连接数据库
$database="members";
$conn=mysql_connect($server,$username,$password)
or die("could not connect mysql");
mysql_select_db($database,$conn)
or die("could not open database");
}
else
{
echo "Error while creating database (Error".mysql_errno().":\"".mysql_error()."\")
";//创建数据库出错
}
}
else
{
//如果数据库中存在members数据库
$database="members";
$conn=mysql_connect($server,$username,$password)
or die("could not connect mysql");
mysql_select_db($database,$conn)
or die("could not open database");
}
}
else
{
//如果选择的是别的数据库,也就是说$database不为空
$conn=mysql_connect($server,$username,$password)
or die("could not connect mysql");
mysql_select_db($database,$conn)
or die("could not open database");
}
?>
PHP注册登录系统-----install.php
//导入数据库连接文件
include 'config.php';
//自动安装数据库表
$query="create table als_signup (
UserName varchar(20),
Password varchar(20),
Email varchar(20),
actNum varchar(20),
UserLevel tinyint,
SignUpdate varchar(20),
LastLogin varchar(20),
LastLoginFail varchar(20),
NumLoginFail tinyint
)";
$result=mysql_query($query);
if($result==1)
{
echo "signup table succesfully created.
";
}
else
{
echo "Error while creating table(ErrorNumber".mysql_errno().":\"".mysql_error()."\")
";
}
?>
PHP注册登录系统-----SignUp.php
;
session_start();//启动会话
$query="select * from als_signup where UserName='{$_SESSION['UserName']}' and Password='{$_SESSION['Password']}'";
$result=mysql_query($query);
$row=mysql_fetch_array($result);
if ($row)
{
//如果session会话变量用户名与密码匹配,则自动登录,直接跳转到管理页面
header("refresh:1;url=http://localhost/members/manage.php");
exit;
}
?>
之内,如果不是,则登录失败次数增加1
$datetime=date("d-m-Y G:i ",strtotime("-5 minutes"));//获取5分钟以前的时间
$timenow=date("d-m-Y G:i ");//获取现在的时间
if($row["LastLoginFail"]<$datetime)//不在5min之内
{
//登录失败次数加1
$query="update als_signup set NumLoginFail=NumLoginFail+1 where UserName='$UserName1'";
$result=mysql_query($query);
//修改登录失败时间
$query="update als_signup set LastLoginFail='$timenow' where UserName='$UserName1'";
$result=mysql_query($query);
//返回到登录页面
header("refresh:5;url=http://localhost/members/login.php");
echo "密码错误,请重新输入
5秒后自动返回";
}
else //在5min之内,只修改登录失败时间
{
$query="update als_signup set LastLoginFail='$timenow' where UserName='$UserName1'";
$result=mysql_query($query);
//返回到登录页面
header("refresh:5;url=http://localhost/members/login.php");
echo "密码错误,请重新输入
5秒后自动返回";
}
}
}
else
{
//失败次数超过5次
//检查时间,如果上次登录失败在半个小时前,则解锁,给用户一次重新登录机会。只有一次机会
$datetime=date("d-m-Y G:i, ",strtotime("-30 minutes"));
if($row["LastLoginFail"]<$datetime) //半个小时以前
{
$query="update als_signup set NumLoginFail='5' where UserName='$UserName1'";
$result=mysql_query($query);
}
else
{
//半个小时内,则锁定帐户,返回到登录页面,半个小时后解锁
$timenow=date("d-m-Y G:i ");
$query="update als_signup set LastLoginFail='$timenow' where UserName='$UserName1'";
$result=mysql_query($query);
header("refresh:5;url=http://localhost/members/login.php");
echo "您的账号目前被锁定,半个小时后自动解锁。请解锁后登录。";
echo "
5秒后自动返回";
exit;
}
}
}
//激活码不为0.用户需要激活
else
{
header("refresh:5;url=http://localhost/members/activate.php");
echo "您的账号没有激活,请激活后登陆。
5秒后自动跳转到激活页面。";
}
}
else
{
header("refresh:5;url=http://localhost/members/login.php");
echo "您的用户名不正确,请返回重新输入。
5秒后自动返回。";
}
?>
PHP注册登录系统-----forgot.php
hp
session_start();
//取出修改密码的数据,原始密码,新密码,确认的新密码
$OldPassword1=$HTTP_POST_VARS["OldPassword"];
$NewPassword1=$HTTP_POST_VARS["NewPassword"];
$NewPasswordAgain=$HTTP_POST_VARS["NewPasswordAgain"];
//导入数据库连接文件
include '../config.php'; //../表示上一级目录
//判断原始密码是否为空,两次输入新密码是否一致
if ($OldPassword1!="" && $NewPassword1==$NewPasswordAgain)
{
//修改表中的密码,注意用到session变量用户名和密码同时判断查询
$query="select * from als_signup where UserName='{$_SESSION['UserName']}' and Password='$OldPassword1'";
//必须要在数组前加上{},不然无法解析而报错。加上{}主要让语句识别里面是动态的数组
$result=mysql_query($query);
$row=mysql_fetch_array($result);
if ($row)
{
//修改密码,同时修改session会话变量的密码
$query="update als_signup set Password='$NewPassword1' where UserName='{$HTTP_SESSION_VARS['UserName']}'";
$result=mysql_query($query);
$HTTP_SESSION_VARS["Password"]=$NewPassword1;
//修改成功,跳转回到默认管理页面
header("refresh:3;url=http://localhost/members/manage.php");
echo "密码修改成功,3秒钟后自动返回到管理页面";
exit;
}
else
{
//原始密码输入错误,导致数据库表查询失败
//返回修改密码页面,重新输入
header("refresh:3;url=http://localhost/members/manage/change_password.php");
echo "原始密码输入错误,请重新输入
3秒钟后自动返回";
exit;
}
}
else
{
if ($OldPassword1=="")//如果原始密码为空
{
//返回修改密码页面,重新输入
header("refresh:3;url=http://localhost/members/manage/change_password.php");
echo "原始密码不能为空,请重新输入
3秒钟后自动返回";
exit;
}
else //如果新密码两次输入不一致
{
//返回修改密码页面,重新输入
header("refresh:3;url=http://localhost/members/manage/change_password.php");
echo "新密码两次输入不一致,请重新输入
3秒钟后自动返回";
exit;
}
}
?>
PHP注册登录系统-----login_off.php
//启动会话
session_start();
//将客户端cookie设置为过去时间,即过期
setcookie("RememberCookieUserName","UserName",time()-60);
setcookie("RememberCookiePassword","Password",time()-60);
//删除会话
session_unset();
session_destroy();
//回到登录界面
header("refresh:1;url=http://localhost/members/login.php");
?>