Getting JSON from PHP


Getting JSON from PHP

我有以下注册脚本,在那里我的名字,电子邮件等通过简单的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);