if(isset($_POST['submit'])){
$patientname = $_POST['patientname'];
$task = $_POST['task'];
$description = $_POST['description'];
$status = $_POST['status'];
$date = date('Y-m-d H:i:s');
$query = $db ->query("INSERT INTO task VALUES('','$patientname', '$task',
'$description', '$status', '$date')");
<form method="post">
<div class="form-group">
<label for="assignedto">Assigned To</label>
<select class="form-control" name="patientname" required>
<option>Select Patient</option>
<?php
$stmt=$dbcon->prepare("SELECT * FROM users");
$stmt->execute();
while($row=$stmt->fetch(PDO::FETCH_ASSOC)){
extract($row);
echo "<option value=''> $type $username $Lastname</optioin>";
}
?
</select>
<button type="submit" class="btn btn-primary" name="submit">Submit</button>
</form>
Я не знаю, в чем проблема, но когда я отправляю эти данные в базу данных, он показывает пустое. Надеюсь, вы можете помочь мне, ребята. то есть вывод в базе данных. Весь код работает в одном файле php
У ваших опций нет установленных значений. Строка в атрибуте value
- это то, что входит в переменную $_POST['patientname']
.
Так что у тебя есть:
echo "<option value=''> $type $username $Lastname</optioin>";
Перейдите к следующему:
echo "<option value='$username $Lastname'> $type $username $Lastname</option>";
// ^-add the value you want ^- fixed typo
Однако у вас есть некоторые другие проблемы, которые вам необходимо преодолеть, например, предотвращение SQL-инъекций, а также экранирование данных в html, чтобы html не прерывался, если имена пользователей имеют что-то в них, которое считается html. Например, лучше всего повторить следующие варианты:
echo '<option value="'. htmlspecialchars($username) .'">'. htmlspecialchars("$type $username $Lastname") .'</option>';
Joe "stinky" Doe
... htmlspecialchars
помогает предотвратить разрыв.
С вашим кодом я вижу много проблем.
Прежде всего, у вас нет никаких значений в вашем варианте.
Я предполагаю, что вам понадобится что-то вроде этого:
echo "<option value='$username $Lastname'> $type $username $Lastname</option>";
Затем вы никогда не отправляете description
task
или status
поэтому вы должны иметь их в своей форме как поля <input>
. Что-то вроде этого:
<input type="text" name="task"></input>
Затем у вас есть синтаксические проблемы, такие как вы никогда не открываете и не закрываете теги php здесь
<?php
if(isset($_POST['submit'])){
$patientname = $_POST['patientname'];
$task = $_POST['task'];
$description = $_POST['description'];
$status = $_POST['status'];
$date = date('Y-m-d H:i:s');
$query = $db ->query("INSERT INTO task VALUES('','$patientname', '$task',
'$description', '$status', '$date')");
?>
а позже у вас есть только ?
вместо ?>
а также </optioin>
вместо </option>
И вы никогда не закрываете <div class="form-group">
с </div>