5.使用ajax,MySQL实现用户的注册和登录
注: 和数据库里面的进行比对 如果存在用户名 密码 登录的时候就成功 不是 就是失败
还可以实现注册 注册的用户名和密码添加到数据库中
1. 在add.php中搭建一个框架
<body>
用户名:<input type="text" name="login" id="login"><br/>
密码: <input type="password" name="pass" id="pass"><br/>
<button id="btn">登录</button>
<button id="add">注册</button>
</body>
<script src="ajax.js"></script>
<script>
var login = document.getElementById("login");
var pass = document.getElementById("pass");
var btn = document.getElementById("btn");
var add = document.getElementById("add");
//登录
btn.onclick=function(){
var url="login-add.php?user="+login.value+"&pass="+pass.value+"&act=login";
ajaxFn(url,function(data){
alert(data);
});
}
//注册
add.onclick=function(){
var url="login-add.php?user="+login.value+"&pass="+pass.value+"&act=add";
ajaxFn(url,function(){
var json=JSON.parse(data); //转换为对象
alert(json.msg);
});
}
</script>
2.在login-add.php中与数据库匹配 设置一个act 变量 如果是login 就执行登录 如果是add就是注册
<?php
$user = $_GET["user"];
$pass = $_GET["pass"];
$act = $_GET["act"];
mysql_connect("localhost","root","");
mysql_select_db("613");
mysql_query("set names utf8");
switch($act){
case "login":
$sql = "SELECT * FROM users WHERE user='{$user}' AND pass ='{$pass}'";
$result = mysql_query($sql);
if(mysql_num_rows($result)>0){
echo "登录成功";
}else{
echo "登录失败";
}
break;
case "add":
//先验证用户名是否存在 要是不存在就插入
$sql = "SELECT * FORM users WHERE user='{$user}'";
$result=mysql_query($sql);
if(mysql_num_rows($result)>0){
echo "用户名存在";
exit();
}
$sql="INSERT INTO users(id,user,pass) VALUE(null,'{$user}','{$pass}')";
$result=mysql_query($sql);
if(mysql_affect_rows()>0){
echo '{"err":"0","msg":"注册成功"}';
}else{
echo '{"err":"0","msg":"注册失败"}';
}
break;
}
?>
3.页面实现效果
随便输入用户名,密码 登录失败
进行注册
去数据库里看一眼有没有添加成功(看到最后一个已经添加成功了)
用数据库已经存在的用户名和密码进行登录
注意: 再添加的时候用到了JSON 将字符串转换为对象的处理方式
新建一个demo.html中进行测试
<script>
var jsonText='{"id":"0","name":"jianjian","tel":["110","120"]}';
var json=JSON.parse(jsontext);
console.log(json);
</script>
看到结果就是一个对象