怎么编写login.php,【php增删改查实例】第十八节 - login.php编写

1.对用户名和密码进行非空判断(后台验证)

$username;

$password;

if(isset($_POST['username']) && $_POST['username'] != null){

$username = $_POST['username'];

}else{

echo "

用户名不能为空!

";

return;

}

if(isset($_POST['password']) && $_POST['password'] != null){

$password = md5($_POST['password']);

}else{

echo "

密码不能为空!

";

return;

}

2. 进行数据库链接

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

$db = mysql_select_db("test",$conn);

mysql_query("set names utf8");

根据用户名和密码进行用户表的查询,如果用户存在,那么查询出来的数量肯定等于1,否则,认为用户名和密码错误。还有一种情况,就是单单根据用户名去查,如果查不到这个用户名,就提示用户用户名不存在。

$sql = "select count(*) as total from tm_users where username = '$username'";

$rs = mysql_query($sql);

while($row = mysql_fetch_array($rs)){

if($row["total"] != 1){

echo "

该用户名不存在!

";

return;

}

}

$sql = "select count(*) as total from tm_users where username = '$username' and password = '$password'";

$rs = mysql_query($sql);

while($row = mysql_fetch_array($rs)){

if($row["total"] != 1){

echo "

用户名或者密码错误!

";

return;

}

}

echo "

恭喜,登录成功!

";

异步登陆 在上一节中,我们使用的是form表单提交的方式,也就是俗称的同步登陆。这样一来,如果后台不返回数据,那么用户什么都做不了。现在,我们使用sleep函数来模拟后台执行时间过长的问题。

sleep(5000);

6b947276af4e32dbf241a03f68c7231f.png 如果因为网络等问题,后台处理请求的时间过长,用户除了等待,什么事情也做不了。这个就是同步提交的一个弊端。

1d9d9a871b0dd15e5f7149a636c442b5.png 如图所示,同步就类似于打电话,如果对方不接,打电话的那个人只能一直等待,不想等了,就把电话挂了。如果是异步的方式,就好比两个人发短信,你什么时候回复,我就什么时候看,不会影响我当期所做的任何事情。

现在来演示异步提交。

###16.1 把login2.html 拷贝到这个目录:

C:\xampp\htdocs\5-7\login

7ef8c2f31a71ec1313c641b5b3c0a87b.png

5b3f0207d0c85d44c9c8393e6f921f8d.png 用户名和密码的非空判断,在前台JS中也有处理。如果用户名和密码都不为空,那么就会进行异步提交,异步提交采用的是ajax方法,在第281行:

fd5afad72b04e2896d06e67179b0781e.png

###16.2 编写login2.php 先进行一下登录成功的测试:

$resultData = array();

$resultData["errCode"] = 0;

$resultData["errMsg"] = "";

echo json_encode($resultData);

?>

啥也不干,直接返回没有错误的结果对象,然后login2.html就会进入success方法:

5e76a980dae00bf58a7171049bdd8caf.png 这边还做了一个小修改,当登录成功的时候,就去访问main.html。

e4b835240545066f7331d4427814d516.png

##16.3 后台非空判断

//后台判断用户名和密码是否为空

$username;

$password;

if(isset($_POST['account']) && $_POST['account'] != null){

$username = $_POST['account'];

}else{

$resultData["errCode"] = -1;

$resultData["errMsg"] = "用户名不能为空!";

echo json_encode($resultData);

return;

}

if(isset($_POST['password']) && $_POST['password'] != null){

$password = md5($_POST['password']);

}else{

$resultData["errCode"] = -1;

$resultData["errMsg"] = "密码不能为空!";

echo json_encode($resultData);

return;

}

###16.4 验证用户名是否存在?

//验证用户名是否存在?

$sql = "select count(*) as total from tm_users where username = '$username'";

$rs = mysql_query($sql);

while($row = mysql_fetch_array($rs)){

if($row["total"] != 1){

$resultData["errCode"] = -1;

$resultData["errMsg"] = "该用户名不存在!";

echo json_encode($resultData);

return;

}

}

##16.5 验证用户名和密码是否正确?

//验证用户名和密码是否正确?

$sql = "select count(*) as total from tm_users where username = '$username' and password = '$password'";

$rs = mysql_query($sql);

while($row = mysql_fetch_array($rs)){

if($row["total"] != 1){

$resultData["errCode"] = -1;

$resultData["errMsg"] = "用户名或者密码错误!";

echo json_encode($resultData);

return;

}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值