我有一个包含文本和下拉菜单的表单。现在客户想使用复选框而不是下拉菜单。如何更改查询。这是我的代码:
表单位于join.php
<form name="pantryinfo" id="pantryForm" method = "post" action="email.php" data-toggle="validator" role="form">
<label>Name</label>
<input type="text" class="form-control" id="name" name="name" placeholder="Enter Pantry Name" required>
<label>Address</label>
<input type="text" class="form-control" id="address" name="address" placeholder="Enter Street address" >
<p class="help-block"></p>
<input type="checkbox" id="snapeligible" name="snapeligible" value="Yes">SNAP Eligilble<br>
<label>Community Meal?
select class="form-control" id="communitymeal" name="communitymeal" required >
<option></option>
<option value="Yes">Yes</option>
<option value="No">No</option>
</select>
</label>
<input name="submit" type="submit" id="submit" value="Add Food Provider" class="btn btn-primary center-block">
</form>
SNAP Eligilible
字段是一个下拉列表,就像Community Meal
一样,但现在是一个复选框。
我之前的查询在email.php
中如下
require 'config/connectDB.php';
//set variables from the form
$pname = $_POST['name'];
$paddress = $_POST['address'];
$psnapeligible = $_POST['snapeligible'];
$pcommunitymeal = $_POST['communitymeal'];
$sql = "INSERT INTO temp(pan_id, pname, paddress, psanpeligible, pcommunitymeal, )
VALUES(NULL,'$pname', '$paddress', '$psnapeligible', '$pcommunitymeal',)";
仅当复选框被选择为非必填字段时,我不确定如何附加查询以包含复选框中的数据。
最佳答案
在 $_POST
数组中甚至找不到未选中的复选框。这意味着从 PHP 端查看该框是否被选中,您所要做的就是查看是否设置了匹配的变量。
更改:
$psnapeligible = $_POST['snapeligible'];
致:
$psnapeligible = isset($_POST['snapeligible']) ? 'yes' : 'ho';
关于php - 我在编写 MySQL 查询来提交包含文本和复选框的表单内容时陷入困境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45393874/