使用API url时,PHP#u POST[';字段';]为空

使用API url时,PHP#u POST[';字段';]为空,php,rest,api,http,post,Php,Rest,Api,Http,Post,我按照下面的在线教程构建了一个PHP API 当我使用Chrome的“高级Rest客户端”时,HTTP请求可以完美地工作。我得到以下回应: { "status": 1 "msg": "Your record inserted successfully" } 我试图将以下URL直接放入我的web浏览器: http://localhost/API/insert.php/name=paul&email=paul@domain.com&status=active 我期望得到与使用

我按照下面的在线教程构建了一个PHP API

当我使用Chrome的“高级Rest客户端”时,HTTP请求可以完美地工作。我得到以下回应:

{
"status": 1
"msg": "Your record inserted successfully"
}

我试图将以下URL直接放入我的web浏览器:

http://localhost/API/insert.php/name=paul&email=paul@domain.com&status=active
我期望得到与使用高级Rest客户端时相同的结果,但是,我收到了以下错误:

Notice: Undefined index: name
我使用以下PHP代码设置变量“name”:

$name = $_POST['name'];
我的理解是,当我将URL粘贴到浏览器中时,$name变量没有设置为$\u POST['name'],因为输入URL实际上不是一个POST操作

我是否可以在URL中添加一个参数,以便告诉浏览器发布?例如:

http://localhost/API/insert.php/type=POST&name=paul&email=paul@domain.com&status=active
简而言之,我希望能够将URL直接传递到web浏览器中,而不必通过HTML表单发布

这是我为insert.PHP编写的PHP代码

<?php
include 'conn.php';

$name = $_POST['name'];
$email = $_POST['email'];
$status = $_POST['status'];
$id = 1;

$sql = "INSERT INTO `service`.`user` (`id`, `name`, `email`, `status`) VALUES ($id, '$name', '$email', '$status');";

if ($connection->query($sql)) {
$msg = array("status" =>1 , "msg" => "Your record inserted successfully");
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($connection);
}

$json = $msg;

header('content-type: application/json');
echo json_encode($json);


@mysqli_close($conn);

?>

问题已通过在insert中将$\u POST更改为$\u GET解决。php

POST不是通过浏览器url完成的,$\u GET是。将
$\u POST
更改为
$\u GET
localhost/API/insert.php?name=paul&email=paul@domain.com&状态=有效使用?作为get参数的开头,不是a/但是它真的是吗?您不想用
get
来“post”,因为这不是RESTfulOops。。打字错误这个问题现在已经解决了。
<?php
include 'conn.php';

$name = $_POST['name'];
$email = $_POST['email'];
$status = $_POST['status'];
$id = 1;

$sql = "INSERT INTO `service`.`user` (`id`, `name`, `email`, `status`) VALUES ($id, '$name', '$email', '$status');";

if ($connection->query($sql)) {
$msg = array("status" =>1 , "msg" => "Your record inserted successfully");
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($connection);
}

$json = $msg;

header('content-type: application/json');
echo json_encode($json);


@mysqli_close($conn);

?>