繁体   English   中英

POST方法变量未通过

[英]POST method variable not passing

我正在尝试制作一个简单的“请求注册应用程序”,因此我通过POST将变量$ appUser_id发送到一个.php文件,该文件将存储到数据库中。 我工作了一段时间,但后来停止工作了,我不知道自己做了什么更改。 它将注册到数据库中,但是将appUser_id设置为0 ,但是我正在发送一个数字。

它不会引发任何错误,但不会获得正确的变量值。

并立即通过Postman发送数据。

newRequest.php

<?php

if($_SERVER["REQUEST_METHOD"]=="POST"){
    require 'connection.php';
    makeRequestRegister();
}

function makeRequestRegister()
{
    global $connect;

    $appUser_id = $_POST["appUser_id"];

    $query = "INSERT INTO requests (appUser_id) VALUES ('$appUser_id')";

    mysqli_query($connect, $query) or die (mysqli_error($connect));
    mysqli_close($connect);

}

?>

Connection.php

<?php

define('hostname', 'localhost');
define('user', 'root');
define('password', 'password');
define('databaseName', 'belandri_TEII');

$connect = mysqli_connect(hostname, user, password, databaseName);

?>

邮差

在此处输入图片说明

数据库

在此处输入图片说明

Pd:忘记注射和那种保护。 我暂时不在乎。

您当前正在使用“ Headers选项卡,但是,应将“ Body选项卡用于POST数据。
查看以下示例:

在此处输入图片说明

如果您查看Postman文档 ,则会发现有几种方法构造请求正文:

表格数据

multipart / form-data是Web表单用于传输数据的默认编码。 这模拟在网站上填写表单并提交。 表单数据编辑器使您可以为数据设置键/值对(使用键值编辑器)。 您也可以将文件附加到密钥。 请注意,由于HTML5规范的限制,文件未存储在历史记录或集合中。 发送请求时,您将不得不再次选择文件。

urlencoded

此编码与URL参数中使用的编码相同。 您只需要输入键/值对,Postman就会正确编码键和值。 请注意,您无法通过此编码模式上传文件。 表单数据和urlencode编码之间可能会有一些混淆,因此请确保首先检查您的API。

生的

原始请求可以包含任何内容。 除替换环境变量外,Postman不会触摸在原始编辑器中输入的字符串。 无论您在文本区域中输入什么内容,都将随请求一起发送。 原始编辑器使您可以设置格式类型以及应随原始正文发送的正确标题。 您也可以手动设置Content-Type标头。 通常,您将在此处发送XML或JSON数据。

二元

二进制数据允许您发送无法在Postman中输入的内容。 例如,图像,音频或视频文件。 您也可以发送文本文件。 如前面在“表单数据”部分所述,如果要通过历史记录或集合加载请求,则必须重新附加文件。

看起来您可能正在标题中发送该post变量。 请改用“正文”标签。

您在查询中将$ appUser_id作为字符串传递,您不需要在变量周围加上单引号,因为双引号会在其中评估vars。 你可以做:

$query = "INSERT INTO requests (appUser_id) VALUES ($appUser_id)";

要么

$query = "INSERT INTO requests (appUser_id) VALUES (".$appUser_id.")";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM