PHP用户登录模块实现
项目包含的功能脚本:
login.php//登录
reg.php//注册用户
user_add.php//注册校验脚本
user_login_check.php//登录校验脚本
image.php//验证码图片生成脚本
流程:
设计数据库:
包含用户uid,用户名,密码,昵称,性别,邮箱,注册时间
sql语句如下
create table users (uid bigint(20) not null auto_increment primary key unique key,username varchar(100) default null, userpassword varchar(100) default null, nickname varchar(100) default null, sex tinyint(1) default 0,email varchar(100) default null, regtime timestamp(14) default 0);
注册模块:
reg.php填写注册信息,通过js脚本判断所填写信息是否合法
如果合法,那么提交表单,通过user_add.php进行用户的注册
user_add.php脚本实现的功能如下:
判断输入的信息是否合法,这个js可以实现,但是为了浏览器兼容这里用php再实现一遍js的功能
如果合法并且以前没有注册过,那么可以注册,否则提示错误信息
登录模块:
login.php填写登录信息,js判断输入信息是否合法
如果合法提交表单,通过user_login_check.php登录
user_login_check.php实现功能如下:
判断输入信息是否合法,与js功能相同
如果合法并且用户名密码都对的话保存session变量,允许用户登录
验证码模块:
防止恶意注册生成验证码,生成的是png格式的5位数字验证码
需要用到session变量,服务器需要安装gd库
具体注意事项:
1、JavaScript脚本
function IsDigit(cCheck)
{
return(('0'<=cCheck)&&(cCheck<='9'));
}
function IsAlpha(cCheck)
{
return((('a'<=cCheck)&&(cCheck<='z'))||(('A'<=cCheck)&&(cCheck<='Z')));
}
function IsValid()
{
var struserName=reg.UserName.value;
for(nIndex=0;nIndex
{
cCheck=struserName.charAt(nIndex);
if(!(IsDigit(cCheck)||IsAlpha(cCheck)))
{
return false;
}
}
return true;
}
function chkEmail(str)
{
return str.search(/[\w\-]{1,}@[\w\-]{1,}\.[\w\-]{1,}/)==0?true:false;
}
function docheck()///This place has a very important problem.MF can't do as wo expect!
{
if(reg.UserNam