Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 必填字段缺少结果_Php_Mysql - Fatal编程技术网

Php 必填字段缺少结果

Php 必填字段缺少结果,php,mysql,Php,Mysql,我只想简短地回答这个问题。我的php代码有什么问题,它一直输出0或者缺少必需的字段。这是密码 <?php // array for JSON response $response = array(); // check for required fields if (isset($_POST['id']) && isset($_POST['status_id'])) { $id = $_POST['id']; $status_id = $_POST['

我只想简短地回答这个问题。我的php代码有什么问题,它一直输出0或者缺少必需的字段。这是密码

<?php

// array for JSON response
$response = array();

// check for required fields
if (isset($_POST['id']) && isset($_POST['status_id'])) {

    $id = $_POST['id'];
    $status_id = $_POST['status_id'];

    // include db connect class
    require_once __DIR__ . '/db_connect.php';

    // connecting to db
    $db = new DB_CONNECT();

    // mysql update row with matched pid
    $result = mysql_query("UPDATE pims_liip_pallet_purchase_order SET status = '$status_id' WHERE id = $id");


    // check if row inserted or not
    if ($result) {
        // successfully updated
        $response["success"] = 1;
        $response["message"] = "Product successfully updated.";

        // echoing JSON response
        echo json_encode($response);
    } else {

    }
} else {
    // required field is missing
    $response["success"] = 0;
    $response["message"] = "Required field(s) is missing";

    // echoing JSON response
    echo json_encode($response);
}
?>

你的错误说明了一切。由于您到达
}else{…}
位,它意味着
isset($\u POST['id'])和&isset($\u POST['status\u id'])
为false

换句话说,您的表单是:

  • 不使用POST,但获取。在这种情况下,将
    method=“post”
    添加到您的
    标记中。(实际上,POST是默认行为,因此如果是这种情况,您可能必须从表单标记中删除或更改
    method=“GET”
  • 和/或您的表单不包含带有
    name=“id”
    和/或
    name=“status\u id”
更新后的问题添加了Android代码。因此,本次更新:

我怀疑
jsonParser.makeHttpRequest
实际上发布了一个表单编码的json字符串。它很可能只是将json数据发布到Web服务器。PHP的$u POST不会自动填充此数据,因为它只处理表单编码的数据

您可能需要从stdIn读取此数据

尝试:


然后使用$postData,否则将使用$\u POST

您的错误说明了一切。由于您到达
}else{…}
位,它意味着
isset($\u POST['id'])和&isset($\u POST['status\u id'])
为false

换句话说,您的表单是:

  • 不使用POST,但获取。在这种情况下,将
    method=“post”
    添加到您的
    标记中。(实际上,POST是默认行为,因此如果是这种情况,您可能必须从表单标记中删除或更改
    method=“GET”
  • 和/或您的表单不包含带有
    name=“id”
    和/或
    name=“status\u id”
更新后的问题添加了Android代码。因此,本次更新:

我怀疑
jsonParser.makeHttpRequest
实际上发布了一个表单编码的json字符串。它很可能只是将json数据发布到Web服务器。PHP的$u POST不会自动填充此数据,因为它只处理表单编码的数据

您可能需要从stdIn读取此数据

尝试:


然后使用$postData,否则将使用$\u POST

只需调试
$\u POST['id']
$\u POST['status\u id']
。 在这一行之前

if (isset($_POST['id']) && isset($_POST['status_id'])) {
您将自动找到答案。希望没有设置两个post变量中的一个。
对于调试使用
print\r($\u POST)

只需调试
$\u POST['id']
$\u POST['status\u id']
。 在这一行之前

if (isset($_POST['id']) && isset($_POST['status_id'])) {
您将自动找到答案。希望没有设置两个post变量中的一个。

对于调试使用
print\r($\u POST)

打印($\u POST),然后查看从表单中获得的参数。您的验证正在阻止您的提交。如果您没有收到任何错误消息,并且您看到自己的错误消息,那么您期望的两个参数(id和status_id)中至少有一个丢失“它一直输出0或缺少必填字段”。这表示您的案例失败。为什么您不能检查或回显post变量,并查看它们是否缺少答案!:Dprint_r($_POST)并查看从表单中获得的参数。您的验证正在阻止您的提交。如果您没有收到任何错误消息,并且您看到自己的错误消息,那么您期望的两个参数(id和status_id)中至少有一个丢失“它一直输出0或缺少必填字段”。这表示您的案例失败。为什么您不能检查或回显post变量,并查看它们是否缺少答案!:如果我没有在这张表上用什么表格呢。当我点击“批准”或“不批准”按钮时,我只需要将结果成功地用于我的android应用程序。有可能吗?那么post数据来自哪里?从你的android应用程序?如何发送?我已经发布了我应用程序的帖子数据。我就是这样寄的。我的代码有什么问题吗?如果我没有使用任何表单怎么办。当我点击“批准”或“不批准”按钮时,我只需要将结果成功地用于我的android应用程序。有可能吗?那么post数据来自哪里?从你的android应用程序?如何发送?我已经发布了我应用程序的帖子数据。我就是这样寄的。我的代码有什么问题吗?每当我把print\u r($\u POST);输出是Array()正确的。。。这就是您遇到问题的原因。未设置post值。请从发送帖子值的位置检查表单。问题是没有表单:请参阅更新的问题。他是从安卓应用程序发帖的。最有可能的是_POST是空的,因为他发布的是JSON数据,而不是“x-www-form-urlencoded”数据,php不会以本机方式解释该数据,因此不会填充_POST。@Lewis请检查发送POST值的代码。每当我放置print_r($_POST);输出是Array()正确的。。。这就是您遇到问题的原因。未设置post值。请从发送帖子值的位置检查表单。问题是没有表单:请参阅更新的问题。他是从安卓应用程序发帖的。很可能_POST是空的,因为他发布的是JSON数据,而不是“x-www-form-urlencoded”数据,php不会以本机方式解释该数据,因此不会填充_POST。@Lewis请检查发送POST值的代码。
if (isset($_POST['id']) && isset($_POST['status_id'])) {