如果输入为空,如何从单选按钮向数据库发送值?

时间:2019-03-07 22:56:50

标签: php html mysql

我制作了一个表格,您可以选择“ 30”或“ 60”或输入自定义值。

当我选择例如“ 30”后提交表单时,由于输入字段为空,它将向数据库发送一个空值。

如何做到这一点,如果输入为空,它将采用单选按钮的输入值,但是如果其中写入了某些内容,它将采用自定义输入值

html:

<div class="tid">
<label class="container"><span class="tidtekst">30m</span>
  <input type="radio" class="checked" name="tid" id="tid" value="30">
  <span class="checkmark"></span>
</label>
<label class="container"><span class="tidtekst">60m</span>
  <input type="radio" name="tid" value="60">
  <span class="checkmark"></span>
</label>
<input type="text" name="tid" id="egentid" placeholder="Tid">
</div>

Php:

if (@$_POST["submit"] != "") {
$baatnr = @$_POST["baatnr"];
$fornavn = @$_POST["fornavn"];
$etternavn = @$_POST["etternavn"];
$tid = @$_POST["tid"];
$kr = @$_POST["kr"];
}


$sql = "INSERT INTO utleie (utleid, baatnr, fornavn, etternavn, tid, kr)
VALUES ('$utleidtid', '$baatnr', '$fornavn', '$etternavn', '$tid', '$kr')";

此处将使用输入值“ tid”,但如果我在输入字段中未键入任何内容,则不会向数据库发送任何内容。

2 个答案:

答案 0 :(得分:0)

尝试

$_POST['tid']

没有 @ 和简单引号''

还要检查您的方法是否为HTML method="POST"格式的POST并将输入名称更改为另一个名称,例如'tid_result'

答案 1 :(得分:0)

您可以添加另一个单选按钮来代表自定义值的输入,并按如下所示更改文本输入的名称:

HTML

<div class="tid">
    <label class="container"><span class="tidtekst">30m</span>
        <input type="radio" class="checked" name="tid" id="tid" value="30">
        <span class="checkmark"></span>
    </label>
    <label class="container"><span class="tidtekst">60m</span>
        <input type="radio" name="tid" value="60">
        <span class="checkmark"></span>
    </label>
    <label class="container"><span class="tidtekst">Custom Value</span>
        <input type="radio" name="tid" value="custom">
        <span class="checkmark"></span>
    </label>
    <input type="text" name="tid_custom" id="egentid" placeholder="Tid">
</div>

PHP

if (@$_POST["submit"] != "") {
    $baatnr = @$_POST["baatnr"];
    $fornavn = @$_POST["fornavn"];
    $etternavn = @$_POST["etternavn"];
    $tid = @$_POST["tid"];

    if ($tid == 'custom') {
        $tid = @$_POST["tid_custom"];
    }

    $kr = @$_POST["kr"];
}