/*-----------------JS 代码------------------------*/

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title></title>

<script src="js/jquery-1.12.4.min.js"></script>

</head>

<body>

<p><input type="text" id="username" placeholder="用户名"/></p>

<p><input type="text" id="pwd" placeholder="密码"/><br></p>

<input type="button" id="regit" value="注册"/>

<script>

$(function(){

var username = $("#username");

username.blur(function(){

if(username.val()==''){

alert("用户名不能为空");

}else{

checkUsername(username.val());

}

});

function checkUsername(name){

$.ajax({

type:"post",

url:"demo1.php",

async:true,

data:{"type":"checkusername","username":name},

success:function(data){

var flag = JSON.parse(data);

if(flag == true){

alert("用户名重复");

}else{

alert("用户名可用");

}

}

});

}

})

$("#regi").click(function(){

var name = $("#username").val();

var pwd = $("#pwd").val();

$.ajax({

type:"post",

url:"demo1.php",

async:true,

data:{"type":"register","username":name,"password":pwd},

success:function(data){

alert(data);

}

});

})

</script>

</body>

</html>


/*-----------------PHP 代码------------------------*/

<?php

$type = $_POST["type"];

if(isset($type)){//存在为true

//检查用户名是否存在;

if($type == "checkusername"){

$flag = "";

$username = $_POST["username"];

$json = file_get_contents("user1.json"); //获取user1.json里的数据 json格式

$arr_json = json_decode($json,true);//将json格式的数据转化为数组类型的数据

for($i=0;$i<count($arr_json);$i++){ //获取数组长度

if($arr_json[$i]["name"] == $username){

$flag = true;

}

}

echo json_encode($flag); //echo 返回前台的值  json_encode 将数组类型转换为json类型的数据

}

//用户注册;即向json文件写入新注册的用户名和密码

if($type == "register"){

$flag = true;

$username = $_POST["username"];

$password = $_POST["password"];

$array = array("name" => $username,"pwd" => $password);

$json = file_get_contents("user1.json");

$arr_json = json_decode($json,true);

array_push($arr_json,$array);

$json = json_encode($arr_json);

file_put_contents("user1.json",$json);

echo json_encode($json); //将更新过的json文件中所有的用户返回(仅用于测试)

}

//用户登录;在json文件检查是否存在输入的用户名以及密码是否正确;

if($type == "login"){

$name = $_POST["username"];

$pwd = $_POST["pwd"];

$flag = "";

$json = file_get_contents("user.json");

$arr_json = json_decode($json,true);

for($i=0;$i<count($arr_json);$i++){

if($arr_json[$i]["name"] == $name && $arr_json[$i]["pwd"] == $pwd){

$flag = true;

}

}

echo json_encode($flag);

}

}

?>


/*---------------------随便来一json文件-----------------------*/

[

{

"name": "admin",

"pwd": "1234"

}, {

"name": "aaa",

"pwd": "3333"

}, {

"name": "q",

"pwd": "1112"

}, {

"name": "111",

"pwd": "qqq"

}, {

"name": "1234567",

"pwd": "qqq"

}

]


源代码见附件