我在html中有一个简单的表单,用户从网站上的表中选择和ID(所需数据),然后他可以/不更改2个字段。首先是2个值(字符串)的下拉列表,第二个是开放点的数量! 因此,如果用户将两个字段都留空并且单击发送,则不会发生任何事情。如果用户只更改其中一个字段,则只更改一个字段!
我已经检查了每个论坛和几乎所有帖子,我仍然无法让它工作。
console.log(results)
PHP
<form action="viv_settings_tecaji.php" method="post">
Datum termina (izberi ID):
<input type="number" name="ID" required><br><br>
<!--Sprememba tega datuma (če ne želiš spremenit pusti prazno):
<input type="date" name="nov_datum"><br><br>-->
Sprememba statusa (če želiš da ostane isto vpiši trenutni status!:
<select name="STATUS">
<option></option>
<option value="zaprt">Zaprt</option>
<option value="odprt">Odprt</option>
</select><br><br>
Sprememba števila odprtih mest
<input type="number" name="st_odprtih_mest"><br><br>
<input type="submit">
</form><br>
答案 0 :(得分:1)
一个不错的表单示例如下所示
<form action='' method='post'>
<input type='text' name='field1' required>
<select name='fieldSelect'>
<option value='value1'>Value1</option>
<option value='value2'>Value2</option>
</select>
<input type='submit' name='send'>
</form>
然后PHP就像
<?php
if(isset($_POST['send'] && (!empty($_POST['field1']) || !empty($_POST['fieldSelect']))){
$field1 = $_POST['field1'];
$fieldSelect = $_POST['fieldSelect'];
//YOUR SQL CODE
} else {
echo "Please Insert Some Data";
}
?>
简而言之:
if(isset($_POST['submit-button-name'])){}
$_POST
变量。答案 1 :(得分:0)
有几种方法可以避免插入&#34;空&#34;数据库中的记录。这取决于您是要在客户端(表单提交之前)还是服务器端(表单提交到服务器时)执行此操作。
我将向您展示如何在服务器端执行此操作,因为您发布了PHP脚本。
在viv_settings_tecaji.php
...
$update_status = $_POST['STATUS'];
$update_st_odprtih_mest = $_POST['st_odprtih_mest'];
$update_ID = $_POST['ID'];
if($update_status == "" || $update_st_odprtih_mest == "" || $update_ID == ""){
die("One of the form fields was empty");
}
...
如果任何表单字段为空,那将会终止您的脚本。您可以检查null
或使用PHP empty()
函数。
我希望这有帮助!
答案 2 :(得分:0)
所以我想使用以下代码让它工作。因此,对于该部分,如果用户将两个字段都留空,我将整理一个脚本,至少需要1个。
$sql = "UPDATE razpisani_tecaji
SET
STATUS = IF(LENGTH('$update_status')=0, STATUS, '$update_status'),
ST_ODPRTIH_MEST = IF(LENGTH('$update_st_odprtih_mest')=0, ST_ODPRTIH_MEST, '$update_st_odprtih_mest')
WHERE ID_TECAJA = $update_ID";