【发布时间】:2018-11-02 23:30:44
【问题描述】:
我有这个表格:
<select id="mudar_produto">
<option></option>
<option value="#produto_1">Novo Produto Higiene</option>
</select>
<section class="hide-section" id="produto_1">
<form class="form-validate" id="feedback_form">
<div class="campo">
<fieldset>
<h1>
<legend>
<center>
<strong>Produtos de Higiene</strong>
</center>
</h1><br>
</div>
<fieldset class="grupo">
<div class="campo">
<strong><label for="Nome do Produto">Nome do Produto</label></strong>
<input type="text" id="DescricaoProd" name="DescricaoProd" required="" style="width:350px">
</div>
<div class="campo">
<strong><label for="Unidade">Unidade</label></strong>
<input type="text" id="DescricaoUnid" name="DescricaoUnid" style="width:160px" required="" size="120">
</div>
</fieldset>
<button class="btn btn-success btn_contact" type="button">Registo</button>
</form>
</section>
我有这个 ajax 可以在不刷新页面的情况下发送数据并清理输入:
<script type="text/javascript">
$(".btn_contact").click(function () {
$.ajax({
type: "POST",
url: "inserir",
data: $("#feedback_form").serialize(), // serializes the form's elements.
success: function (data)
{
if ($.trim(data) == 'true') {
$("#feedback_form").find('input').val(''); //clear text
$(".success_messages").removeClass('hide'); // success message
} else {
$(".error_message").removeClass('hide'); // error message
}
}
});
});
</script>
在插入页面我有 php 代码:
<?php
$servername = "xxx.xxx.x.xx";
$username = "xxxxxx";
$password = "xxxxxxxxx";
$dbname = "xxxxxxxx";
$conn = new mysqli($servername, $username, $password, $dbname);
$conn->set_charset('utf8');
$name = isset($_POST["DescricaoProd"]) ? $_POST["DescricaoProd"] : '';
$unid = isset($_POST["DescricaoUnid"]) ? $_POST["DescricaoUnid"] : '';
if (!empty($name)) && (!empty($unid)) {
echo 'true';
} else {
echo 'false';
}
$sql = "INSERT INTO ProdHigieneteste (DescricaoProd,DescricaoUnid)
VALUES ('$name','$unid')";
if ($conn->query($sql) === TRUE);
$sql1 = "INSERT INTO StockHigieneteste (DescricaoProd,DescricaoUnid)
VALUES ('$name','$unid')";
if ($conn->query($sql1) === TRUE);
//Count total number of rows
$rowCount = $query->num_rows;
$conn->close();
?>
但是当我单击注册按钮时,我在控制台中收到以下错误:
POST http://xxx.xxx.x.xx/wordpress/index.php/inserir 500(内部 服务器错误)
并且不插入到数据库表中。
除了@Jeff 识别的错误之外还有这个语法错误:
if (!empty ($name)) && (!empty ($unid)) {
我不得不切换到:
if (!empty ($name) && !empty ($unid)) {
【问题讨论】:
-
您的调试测试结果如何?数据库错误?任何其他错误消息?是否发送了正确的数据?它到达php吗? ...?
-
DescicaoUnid听起来像一个整数,但您将其默认为''。 ? -
这行应该做什么?
if ($conn->query($sql) === TRUE);- 这是一个语法错误。 -
如果这是您页面上的所有代码,我并不奇怪您会收到 500 错误消息。该文件不仅包含语法错误(关闭
}没有匹配的打开{),我也看不到您在哪里定义$conn。 -
@Jeff - 平心而论,
empty()-checks 确实有一些意义,因为它不仅检查变量是否存在,而且检查它们是否为空也是。没有意义的是 OP 无论如何都会继续执行脚本。 :-)
标签: php html mysql ajax wordpress