带文本字段的单选按钮到SQL

时间:2017-10-06 22:13:54

标签: html sql radio-button textfield

我建立了一个网站,用户可以将数据插入数据库并跟踪他们的药物摄入量。 我有一个提交到SQL数据库的简单表单:



<form method='post'>
  <b>Dato:</b> <input type="date" name='date' id='date' value="<?php echo date('Y-m-d'); ?>" /><br /><br \>
  <b>Tid:</b> <input type="time" name='time' id='time' value="<?php echo " $hour:$minute "; ?>" /><br /><br \>
  <b>Medicin:</b><br /> <input type="radio" name="medicin" value="Medicin1" checked> Medicin1 <br />
  <input type="radio" name="medicin" value="medicin2"> Medicin2 <br />
  <input type="radio" name="medicin" value="other"> Other <input type="text" name="otherMedicin"><br /><br />
  <b>Kommentar:</b><br /><textarea name='comment' id='comment'></textarea><br /> <hr \>
  <input type='submit' value='Send' />
</form>
&#13;
&#13;
&#13;

要将它提交到数据库,我发现了一个关于我遵循的同样事情的先前问题。不幸的是,我无法让它发挥作用! html radio button with an "other" selection that has a text box

以下是我的代码的重要部分:

$users_date = mysqli_real_escape_string($con, $_POST['date']);
$users_time = mysqli_real_escape_string($con, $_POST['time']);
$users_medicin = mysqli_real_escape_string($con, $_POST['medicin']);
$otherMedicin = mysqli_real_escape_string($db, $_POST['otherMedicin']);
if ($users_medicin == 'otherMedicin') {
        $medicinField = $otherMedicin;
    } else {
        $medicinField = $users_medicin;
    }

$users_comment = mysqli_real_escape_string($con, $_POST['comment']);
$query = "
INSERT INTO `myDatabase`.`medi_list` (`id`, `dato`, `tid`, `medicin`, `kommentar`) VALUES (NULL, '$users_date',
    '$users_time', '$medicinField', '$users_comment');";

我仍然对SQL很陌生,所以我很感激您可以提出的任何帮助:)

1 个答案:

答案 0 :(得分:0)

我在您的代码中看到了一些基本问题:

当您填充“$ otherMedicin”字段时,您使用的是$ db而不是$ con,就像其他语句一样。

$ _ POST [medicin]永远不会成为“otherMedicin”,因为这是您的文本输入字段的名称,而不是单选按钮名称。您应该将此作为条件:

if ($users_medicin == 'other') {

这应该有所帮助。