我正在尝试实现一个简单的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”消息为“无法创建用户。数据不完整”。 我应该怎么做才能使其正常工作?