gpt4 book ai didi

mysql - SQL 数据库的简单复选框值

转载 作者:行者123 更新时间:2023-11-29 23:04:45 25 4
gpt4 key购买 nike

很抱歉问了一些似乎已经被问过很多次的问题,但这是因为我没有找到任何像我的情况那么简单的东西,所以我不太确定要遵循的路径。

问题是,我在“estimate.php”页面中有一个表单,其大部分输入类型为文本,还有一些复选框。其操作设置为“insert.php”,其中是发送电子邮件、将数据发送到数据库的代码,最后是警报和重定向到表单页面的代码。

当我填写表单而不检查复选框上的任何内容时,一切正常,数据库列填充完美,并且电子邮件正确发送,应该接收复选框值的字段为空白,如下所示应该是这样,因为我还没有填写它们。但是,一旦我尝试使用复选框,当我点击“提交”时,我会得到一个空页面,并且地址卡住在 insert.php 上。我不确定发生了什么,但由于我之前没有使用过 Checkbox to SQL,而且我在编码方面是新手,我认为这与我尝试处理数据的方式有关将其发送到数据库的复选框。我明白,为每个复选框设置值,它会将它们作为文本发布。

以下是代码(尝试总结一下 if 中最重要的部分。[...] 代替了我拿走的部分,以便让您更轻松地帮助我。)

-表格:

<form id="contact-form" action="../painel/insert.php" method="POST">
//[...]
<div style="margin-top: 20px;">
<p style="margin-bottom: 0;">Quantidade de pares por numeração</p>
<br />
<div class="table-responsive">
<table class="table table-bordered">
<tr>SANDÁLIAS INFANTIS</tr>
<thead>
<tr>
<th class="text-center">Numeração</th>
<th class="text-center">Quantidade</th>
<th class="text-center">Alça</th>
</tr>
</thead>
<tbody>
<tr>
<td>25/26</td>
<td><input type="text" name="i2526_quant"></td>
<td style="text-align: left;">
<input type="checkbox" name="i2526_a" value="Slim"> Slim<br>
<input type="checkbox" name="i2526_a" value="Tradicional"> Tradicional
</td>
</tr>
<tr>
<td>27/28</td>
<td><input type="text" name="i2728_quant"></td>
<td style="text-align: left;">
<input type="checkbox" name="i2728_a" value="Slim"> Slim<br>
<input type="checkbox" name="i2728_a" value="Tradicional"> Tradicional
</td>
</tr>
<tr>
<td>29/30</td>
<td><input type="text" name="i2930_quant"></td>
<td style="text-align: left;">
<input type="checkbox" name="i2930_a" value="Slim"> Slim<br>
<input type="checkbox" name="i2930_a" value="Tradicional"> Tradicional
</td>
</tr>
<tr>
<td>31/32</td>
<td><input type="text" name="i3132_quant"></td>
<td style="text-align: left;">
<input type="checkbox" name="i3132_a" value="Slim"> Slim<br>
<input type="checkbox" name="i3132_a" value="Tradicional"> Tradicional
</td>
</tr>
</tbody>
</table>
</div>
//[...]
<input type="submit" class="submit no-margin-bottom" value="Enviar" style="font-size:20 px; padding: 10px; border: 3px solid #555555;"/>
</form>

-Insert.php 上的代码:

<?php
include "conexao.php";
//[...]
$i2526_quant = $_POST['i2526_quant'];
$i2526_a = $_POST['i2526_a'];
$i2728_quant = $_POST['i2728_quant'];
$i2728_a = $_POST['i2728_a'];
$i2930_quant = $_POST['i2930_quant'];
$i2930_a = $_POST['i2930_a'];
$i3132_quant = $_POST['i3132_quant'];
$i3132_a = $_POST['i3132_a'];
//[...]

$inserir = "INSERT INTO orcamento VALUES([...],'$i2526_quant','$i2526_a','$i2728_quant','$i2728_a','$i2930_quant','$i2930_a','$i3132_quant','$i3132_a',[...])";

//[...](here is the part of the code that sends the e-mail. As I said, everything is working fine, except for the checkboxes (actually, I took away the part from the code that would send the checkbox values to the e-mail and tested it again, and it didn't work. Since the code is pretty long, I decided not to post it (if you need to, I will).

$enviado = $mail->Send();

if ($enviado) {
//$envia = mail($recipient, $subject, $message, $headers);
echo '<script>alert("Obrigado! Orcamento enviado com sucesso, responderemos o mais breve possível.");location="../estimate.php";</script>';
}else{
echo '<script>alert("Erro ao enviar orcamento.");location="../estimate.php";</script>';
} }

?>

--预先非常感谢您。我很抱歉英语不好,而且我是个新手,因为我很确定这是一个简单的解决问题,但是嘿,在这里我试图向最好的人学习(:

最佳答案

尝试在 HTML 文件中的复选框名称后面添加 []。这会将它们作为数组发布到您的 PHP 文件中。如果不这样做,就不可能有多个检查值。

不确定这是否解决了您的错误。通过将以下内容添加到 insert.php 文件的顶部,您应该能够获得更多信息:

error_reporting = E_ALL;
ini_set('display_errors', 'On');

这将启用文件的错误报告,并应输出出现的问题。请务必在修复错误后将其删除。

关于mysql - SQL 数据库的简单复选框值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28344802/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com