gpt4 book ai didi

PHP/HTML 表单进入数据库复选框验证

转载 作者:行者123 更新时间:2023-11-30 00:05:25 26 4
gpt4 key购买 nike

我正在尝试编写一段 PHP 代码,让网页将信息从 FORM 插入到数据库中。我已设法将表单中的信息正确插入到数据库列中,但是当用户没有选择“复选框”的所有四个项目时,对于每个未选择的复选框项目,我都会收到以下错误消息。

“注意:未定义索引:ESPAOL 位于 C:\xampp\htdocs\PHP\index1f.php 第 66 行”

有人告诉我“isset”句子可能是解决方案,但我自己无法弄清楚。

HTML

<br>
Idiomas:<br>
ESPAÑOL:<INPUT type="checkbox" name="ESPANOL" value="s">
INGLES:<INPUT type="checkbox" name="INGLES" value="s"><br>
FRANCES:<INPUT type="checkbox" name="FRANCES" value="s">
PORTUGUES:<INPUT type="checkbox" name="PORTUGUES" value="s">
<br>
<小时/>

PHP

mysql_query("insert into alumnos2
(NOMBRE,APELLIDO,GENERO,ESTADO_CIVIL,ESTUDIOS,ESPANOL,INGLES,PORTUGUES,FRANCES,CLAVE)
values('$_REQUEST[NOMBRE]','$_REQUEST[APELLIDO]','$_REQUEST[GENERO]','$_REQUEST[ESTADO_CIVIL ]','$_REQUEST[ESTUDIOS]','$_REQUEST[ESPANOL]','$_REQUEST[INGLES]','$_REQUEST[PORTUGUES]','$_ REQUEST[FRANCES]','$_REQUEST[CLAVE]')",$x)
<小时/>

注意:信息无论如何都会插入数据库中。

最佳答案

您的查询包含很多列,因此难以阅读。我会将列名称和值放入一个数组中,并使用它来构造查询。这种方法还可以轻松地仅填充某些值,而让其余值回退到默认值(例如 NULL):

$values = array();

if (isset ($_REQUEST['ESPANOL'])) {
$values['ESPANOL'] = "''"; /* Indicating true */
}
if (isset ($_REQUEST['INGLES'])) {
$values['INGLES'] = "''";
}
/* ... */

$col_string = implode (',', array_keys ($values));
$val_string = implode (',', $values);

$query = "INSERT INTO alumnos2 ($col_string) VALUES ($val_string)";

另外:

您不应该使用已弃用的 mysql 扩展。使用PDOmysqli相反。

关于PHP/HTML 表单进入数据库复选框验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24600899/

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