我有以下注册脚本,在那里我的名字,电子邮件等通过简单的html形式插入数据库。
<?php
include("connect.php");
$error = "";
$response[]=array();
if(isset($_POST['submit'])){
$firstName = $_POST['fname'];
$lastName = $_POST['lname'];
$email = $_POST['email'];
$password = $_POST['password'];
$passwordConfirm = $_POST['passwordConfirm'];
$image = $_FILES['image']['name'];
$temp_image = $_FILES['image']['tmp_name'];
$imageSize = $_FILES['image']['size'];
//echo $firstName."<br/>".$lastName."<br/>".$email."<br/>".$password."<br/>".$passwordConfirm."<br/>".$image."<br/>".$imageSize."<br/>";
if(strlen($firstName)<3){
$error = "First name is too short";
}else if(strlen($lastName)<3){
$error = "Last name is too short";
}else if(!filter_var($email, FILTER_VALIDATE_EMAIL)){
$error = "Please enter valid email address";
}else if(strlen($password)<8){
$error = "Password must be greater than 8 characters";
}else if($password !== $passwordConfirm){
$error = "Password does not match";
}else if($image == ""){
$error = "Please upload your image";
}else{
$insertQuery = "INSERT INTO users(firstName,lastName,email,password,image) VALUES('$firstName','$lastName','$email','$password','$image')";
$result = mysqli_query($con,$insertQuery);
if($result){
//upload image in images forlder
$sql = "SELECT * FROM users";
$selectQuery = mysqli_query($con,$sql);
if($selectQuery){
while($row = mysqli_fetch_assoc($selectQuery)){
$response[] = $row;
}
}
if(move_uploaded_file($temp_image,"images/$image")){
$error = "You are successfully regirestered";
}else{
$error = "Image is not uploaded";
}
}
}
}
?>
<?php
echo $error."<br/>";
echo json_encode($response);
?>
我所做的就是验证表单,插入数据,最后从数据库中选择所有数据,以便它们可以表示为JSON格式。
我得到的JSON是这样的
[[],{"id":"37","firstName":"Theo","lastName":"Tziomakas","email":"theo899@gmail.com","password":"testingpass","image":"56a5e6dc-d102-4f9a-bd5b-e6a217e5ad97.png"}]
如何取空数组
[]
从JSON响应中取出,即
[{"id":"37","firstName":"Theo","lastName":"Tziomakas","email":"theo899@gmail.com","password":"testingpass","image":"56a5e6dc-d102-4f9a-bd5b-e6a217e5ad97.png"}]
我怎么能生成这样的JSON ?
{"status":"success","message":"Successfully registered"}
要删除JSON结构开头的错误[]
,请更改这一行
$response[]=array();
$response = array();
生成如下JSON结构
{"status":"success","message":"Successfully registered"}
我会这样做
$j = new stdClass();
$j->status = 'success';
$j->message = 'Successfully registered';
$string = json_encode($j);