我建立了一个网站,用户可以将数据插入数据库并跟踪他们的药物摄入量。 我有一个提交到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;
要将它提交到数据库,我发现了一个关于我遵循的同样事情的先前问题。不幸的是,我无法让它发挥作用! 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很陌生,所以我很感激您可以提出的任何帮助:)
答案 0 :(得分:0)
我在您的代码中看到了一些基本问题:
当您填充“$ otherMedicin”字段时,您使用的是$ db而不是$ con,就像其他语句一样。
$ _ POST [medicin]永远不会成为“otherMedicin”,因为这是您的文本输入字段的名称,而不是单选按钮名称。您应该将此作为条件:
if ($users_medicin == 'other') {
这应该有所帮助。