PHP Post操作始终以状态200结束

时间:2020-08-23 16:19:44

标签: php post

我正在尝试实现一个简单的PHP API。 它“工作”-测试数据并在DB中创建对象,但发送一些警告和状态码200。

database.php:

<?php
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: PUT, GET, POST, DELETE, OPTIONS");
header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, X-Auth-Token, Accept");
header ("Access-Control-Expose-Headers: Content-Length, X-JSON");

function connect()
{ //...
}

$con = connect();
?>

create.php:

<?php
require '../database.php';
$data = json_decode(file_get_contents("php://input"));
if(
    !empty($data->Name) && !empty($data->Login) && !empty($data->Password)
){
    $query = // ... 
    $stmt = $con->prepare($query);
    $create = $stmt->execute();
    if($create){
        http_response_code(201);
        echo json_encode(array("message" => "Product was created."));
    }
    else{
        http_response_code(503);
        echo json_encode(array("message" => "Unable to create user."));
    }
}
else{
    http_response_code(400);
    echo json_encode(array("message" => "Unable to create user. Data is incomplete."));
}

function real_post() {...}
?>

我的邮递员回复(带有有效数据):

<br />
<b>Deprecated</b>: Automatically populating $HTTP_RAW_POST_DATA is deprecated and will be removed in a future version.
To avoid this warning set 'always_populate_raw_post_data' to '-1' in php.ini and use the php://input stream instead. in
<b>Unknown</b> on line <b>0</b><br />
<br />
<b>Warning</b>: Cannot modify header information - headers already sent in <b>Unknown</b> on line <b>0</b><br />
<br />
<b>Warning</b>: Cannot modify header information - headers already sent in
<b>D:\Data\Dev\ASN\server\api\database.php</b> on line <b>2</b><br />
<br />
<b>Warning</b>: Cannot modify header information - headers already sent in
<b>D:\Data\Dev\ASN\server\api\database.php</b> on line <b>3</b><br />
<br />
<b>Warning</b>: Cannot modify header information - headers already sent in
<b>D:\Data\Dev\ASN\server\api\database.php</b> on line <b>4</b><br />
<br />
<b>Warning</b>: Cannot modify header information - headers already sent in
<b>D:\Data\Dev\ASN\server\api\database.php</b> on line <b>5</b><br />

{"message":"User was created."}

使用“状态:200 OK”。 并且数据已正确保存在数据库中。 我也尝试使用无效数据:相同的状态,相同的警告,并且“ Jason”消息为“无法创建用户。数据不完整”。 我应该怎么做才能使其正常工作?

0 个答案:

没有答案
相关问题