我有一个表单,用户可以通过从下拉菜单中选择一个值或只键入一些文本来插入他/她的教育水平。我的代码很简单:
<label for="education">Education: <input type="text" name="education"/> </label>
<select name="education">
<option value=""></option>
<option value = "Primary education" name="Primary education">Primary education</option>
<option value = "Secondary education" name="Secondary education">Secondary education</option>
<option value = "Bachelor" name="Bachelor">Bachelor</option>
<option value = "Master" name="Master">Master </option>
<option value = "Doctoral" name="Doctoral">Doctoral </option>
</select>
所以我想在数据库中名为education的列中插入该值。使用上面的代码仅在有人从菜单中选择值时插入。输入文本不存储在数据库中。
答案 0 :(得分:0)
在文本框部分;
更改
<label for="education">Hobby: <input type="text" name="education"/> </label>
到
<label for="education">Hobby: <input type="text" name="education_text"/> </label>
重复的名称会导致您的问题(选择和文本框名称相同)。我以education_text
为例,根据您的需要进行更新。不要忘记使用更新的名称处理后端。
在你的后端;
$education = "";
if(!empty($_REQUEST["education_text"])) {
$education = $_REQUEST["education_text"];
} else if(!empty($_REQUEST["education"])) {
$education = $_REQUEST["education"];
} else {
die("Invalid education");
}
并在查询中使用它。您可以根据需要将$_REQUEST
更改为$_POST
或$_GET