Php 必填字段缺少结果
我只想简短地回答这个问题。我的php代码有什么问题,它一直输出0或者缺少必需的字段。这是密码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
// 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'])) {