user reg.php,PHP+AJAX实现账号注册和登陆,附可用demo

前言

登陆和注册已经是网站的标配了,所以这是我们web开发学习过程中必学的了。其实很容易实现,只需要懂数据库的增删改查,还有if_else的条件语句即可做出来。

目录

css

--Login-Reg.css

server

--LoginUser.php

--RegUser.php

--LoginFrom.html

--RegForm.html

注册

RegForm.html

用户注册

用户注册

function RegUser() {

$.ajax({

type: "POST",//方法

url: "../server/RegUser.php" ,//表单接收url

data: $('#form1').serialize(),

success: function (data) {

//提交成功

var result=document.getElementById("Result");

result.innerHTML=data[0].result;

//注册后跳转

if (data[0].result == "注册成功") {

location.href="LoginFrom.html";

}

},

error : function(data) {

//提交失败

var result=document.getElementById("Result");

result.innerHTML="连接服务器失败";

}

});

}

RegUser.php

header("Content-type:application/json");

// 注册账号验证

$username = $_POST["username"];//获取表单POST过来的用户名

$password = $_POST["password"];//获取表单POST过来的密码

$cpassword = $_POST["cpassword"];//获取表单POST过来的重复密码

//表单过滤

$user = trim($username);//过滤空格

$psw = trim($password);//过滤空格

$cpsw = trim($cpassword);//过滤空格

//开始判断

if($user == "" && $psw == "" && $cpsw == ""){

echo "[{\"result\":\"都还没填呢!\"}]";

}else if($user == "" && $psw == ""){

echo "[{\"result\":\"账号和密码都还没填呢\"}]";

}else if ($psw == "" && $cpsw == "") {

echo "[{\"result\":\"密码都还没填呢\"}]";

}else if($user == "" && $cpsw == ""){

echo "[{\"result\":\"账号和重复密码还没填呢\"}]";

}else if ($user == "") {

echo "[{\"result\":\"账号还没填呢\"}]";

}else if ($psw == "") {

echo "[{\"result\":\"密码还没填呢\"}]";

}else if ($cpsw == "") {

echo "[{\"result\":\"重复密码还没填呢\"}]";

}else if ($psw !== $cpsw) {

echo "[{\"result\":\"两次输入密码不一样呢\"}]";

}else if (strlen($user) < 5){

echo "[{\"result\":\"账号不能小于5位数\"}]";

}else if (strlen($psw) < 8){

echo "[{\"result\":\"密码不能小于8位数\"}]";

}else if (preg_match('/^[\x{4e00}-\x{9fa5}]+$/u', $user)>0){

echo "[{\"result\":\"账号不能为中文\"}]";

}else if (preg_match('/[\x{4e00}-\x{9fa5}]/u', $user)>0){

echo "[{\"result\":\"账号不能存在中文\"}]";

}else if(preg_match("/[\'.,:;*?~`!@#$%^&+=)(<>{}]|\]|\[|\/|\\\|\"|\|/",$user)){

echo "[{\"result\":\"账号不能存在特殊符号\"}]";

}else{

//生成用户ID,为简单学习,随机生成随机数

$uid = rand(10000,99999);

//密码MD5加密

$md5psw = MD5($psw);

// 数据库连接

$con = mysql_connect("localhost","root","root");

mysql_select_db("test", $con);

mysql_query("SET NAMES UTF8");

//查询数据库是否有存在该用户

$exist = mysql_query("SELECT * FROM userlist WHERE username = '$user'");

$exist_result = mysql_num_rows($exist);

if($exist_result){

//如果存在该用户

echo "[{\"result\":\"该账号已被注册\"}]";

}else{

//插入数据库

mysql_query("INSERT INTO userlist (username, password, userid) VALUES ('$user', '$md5psw', '$uid')");

echo "[{\"result\":\"注册成功\"}]";

}

}

?>

登陆

LoginFrom.html

用户登陆

用户登陆

function LoginUser() {

$.ajax({

type: "POST",//方法

url: "../server/LoginUser.php" ,//表单接收url

data: $('#form1').serialize(),

success: function (data) {

var result=document.getElementById("Result");

//提交成功

result.innerHTML=data[0].result;

if (data[0].result == "登陆成功") {

result.innerHTML="登陆成功";

}else if (data[0].result == "fail") {

result.innerHTML="登陆失败,账号或密码错误";

}

},

error : function(data) {

//提交失败的提示词或者其他反馈代码

var result=document.getElementById("Result");

result.innerHTML="连接服务器失败";

}

});

}

LoginUser.php

header("Content-type:application/json");

// 注册账号验证

$username = $_POST["username"];//获取表单POST过来的用户名

$password = $_POST["password"];//获取表单POST过来的密码

//表单过滤

$user = trim($username);//过滤空格

$psw = trim($password);//过滤空格

//开始判断

if($user == "" && $psw == ""){

echo "[{\"result\":\"账号和密码都没填呢!\"}]";

}else if ($user == "") {

echo "[{\"result\":\"账号还没填呢\"}]";

}else if ($psw == "") {

echo "[{\"result\":\"密码还没填呢\"}]";

}else{

// 数据库连接

$con = mysql_connect("localhost","root","root");

mysql_select_db("test", $con);

mysql_query("SET NAMES UTF8");

//校验MD5密码

$md5psw = MD5($psw);

//查询数据库账号密码是否一致

$exist = mysql_query("SELECT * FROM userlist WHERE username = '$user' AND password = '$md5psw'");

$exist_result = mysql_num_rows($exist);

if($exist_result){

echo "[{\"result\":\"登陆成功\"}]";

}else{

echo "[{\"result\":\"fail\"}]";

}

}

?>

数据库

自增id --id --int(11)

用户id --userid -- varchar(32)

用户名 --username -- varchar(32)

密码 --password -- varchar(32)

注册时间 --regtime --timestamp

demo

Author:TANKING

web:http://likeyunba.com

WeChat:face6009

Date:2019-2-2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值