Этот API отлично работает, когда я тестирую Postman, но когда я пытаюсь проверить браузер, передав id в url, он показывает ошибку. http://192.168.43.88/mydatabase/delete.php?id=1, когда я использую метод GET, а затем могу передать значение в URL-адресе, но почему m получает ошибку в случае метода POST.
if($_SERVER['REQUEST_METHOD'] == 'POST') {
$id = $_POST['id'];
if($id == '') {
echo 'please provide required value';
} else {
require_once('connection.php');
$sql = "SELECT * FROM circle_detail WHERE id='$id' AND deleted='0' ";
$check = mysqli_fetch_array(mysqli_query($conn, $sql));
if(isset($check)) {
$sql = "UPDATE circle_detail SET deleted='1' WHERE id='$id'";
if(mysqli_query($conn, $sql)) {
echo 'marked as deleted';
} else {
echo 'oops! Please try again!';
}
} else {
echo 'not found';
}
mysqli_close($conn);
}
} else {
echo 'error';
}
Если вы хотите использовать GET и POST, вы удаляете
if($_SERVER['REQUEST_METHOD'] == 'POST') { }
и использовать
$ _REQUEST [ 'ID']
вместо $ _POST
Вы не можете вызывать API-адрес POST-метода из браузера, чтобы использовать "Почтальон". Postman
- это полная инструментальная привязка для разработчиков API,
или использовать Rest Client
Если вы используете метод запроса POST, но передаете переменную в качестве параметра GET, вам необходимо изменить следующий код:
$id = $_POST['id'];
Быть
$id = $_GET['id'];
Таким образом, когда это запрос POST, он все равно будет искать параметр get. Где он сейчас ищет переменную POST с именем id