如果我在api中使用post方法,如何通过在url中传递值来检查浏览器中的php api?

3qpi33ja  于 2021-06-19  发布在  Mysql
关注(0)|答案(3)|浏览(230)

当我在postman上测试时,这个api工作得很好,但当我试图通过在url中传递id来签入浏览器时,它显示出错误。http://192.168.43.88/mydatabase/delete.php?id=1 当我使用get方法时,我就可以在url中传递值,但是为什么我在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';
}
wz1wpwve

wz1wpwve1#

如果要使用get和post,请删除

if($_SERVER['REQUEST_METHOD'] == 'POST') { }

使用
$\请求['id']
而不是$u post

wmtdaxz3

wmtdaxz32#

您不能从浏览器中调用post方法api,因为您应该使用“postman”。 Postman 是api开发人员的完整工具链,
Postman
或者使用rest客户端
高级rest客户端

c86crjj0

c86crjj03#

如果使用post请求方法,但将变量作为get参数传入,则需要更改以下代码:

$id = $_POST['id'];

成为

$id = $_GET['id'];

这样,当它是post请求时,它仍然会查找get参数。其中,因为它当前正在寻找一个名为id的post变量

相关问题