Php 试图在<;中显示数据;选择>;但提交时数据库中没有显示任何内容 if(isset($\u POST['submit'])){ $patientname=$\u POST['patientname']; $task=$_POST['task']; $description=$_POST['description']; $status=$_POST['status']; $date=日期('Y-m-d H:i:s'); $query=$db->query(“插入到任务值(“”,$patientname’,“$task”, “$description”、“$status”、“$date”); 分配给 选择患者
您的选项未设置任何值。Php 试图在<;中显示数据;选择>;但提交时数据库中没有显示任何内容 if(isset($\u POST['submit'])){ $patientname=$\u POST['patientname']; $task=$_POST['task']; $description=$_POST['description']; $status=$_POST['status']; $date=日期('Y-m-d H:i:s'); $query=$db->query(“插入到任务值(“”,$patientname’,“$task”, “$description”、“$status”、“$date”); 分配给 选择患者,php,html,mysql,Php,Html,Mysql,您的选项未设置任何值。value属性中的字符串是$\u POST['patientname']变量中的字符串 所以你有: if(isset($_POST['submit'])){ $patientname = $_POST['patientname']; $task = $_POST['task']; $description = $_POST['description']; $status = $_POST['status']; $date = date
value
属性中的字符串是$\u POST['patientname']
变量中的字符串
所以你有:
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>
echo“$type$username$Lastname”;
更改为喜欢:
echo "<option value=''> $type $username $Lastname</optioin>";
echo“$type$username$Lastname”;
//^-添加所需的值^-修复打字错误
但是,您确实需要克服一些其他问题,如SQL注入预防,以及转义html中的数据,以便在用户名中包含任何被视为html的内容时,html不会中断。例如,最好像这样回应您的选项:
echo "<option value='$username $Lastname'> $type $username $Lastname</option>";
// ^-add the value you want ^- fixed typo
echo'.htmlspecialchars($type$username$Lastname');
我发现您的代码存在很多问题
首先,您的选项中没有任何值
我猜你需要这样的东西:
echo "<option value='$username $Lastname'> $type $username $Lastname</option>";
// ^-add the value you want ^- fixed typo
echo“$type$username$Lastname”
然后,您再也不会将任务说明或状态提交到as
字段中,因此您应该在表单中将它们包含在as
字段中。类似如下:
echo "<option value='$username $Lastname'> $type $username $Lastname</option>";
// ^-add the value you want ^- fixed typo
然后您会遇到一些语法问题,比如您从未在这里打开和关闭php标记
echo '<option value="'. htmlspecialchars($username) .'">'. htmlspecialchars("$type $username $Lastname") .'</option>';
你自己做过调试吗?即使是最基本的调试也值得你去学习。是的,我已经做过了。只有那个标记不会提交任何数据…至于TA、描述、状态和日期,它们都出现在数据库中。你的代码容易受到攻击。你应该使用带有绑定参数的准备语句ters,via or or.有一些很好的例子。别担心,我会的。我只需要先弄清楚我面临的问题,你的代码有很多问题。首先你的选项中没有任何值,然后你不提交任何名称任务描述或状态,最后你有一些像
OOOHHH这样的yntax错误真的很有效!!我认为这个值不需要,因为我在Thank@creditablehat your name真的很适合你哈哈,超级感谢!@Gervin我在答案中添加了一点,以帮助你解决名字中可能出现的html破坏。例如,如果一个名字是Joe“臭烘烘的”Doe
…htmlspecialchars
有助于防止中断。非常感谢您的帮助以及SQL注入,我将遵循您的建议:)非常感谢:)@难以置信我也遇到了这种问题。问题是这样的。我想在表单提交事件中将几个值传递给数据表。让我们假设我的表单cont有两个textboxe
(姓名、ID号)和三个单选按钮
组(性别、眼睛颜色和肤色),所以我想按一个记录传递这些信息。我只想在表单提交类型传递5行。所以我将每个表单输入元素命名为类似数组。(例如:值[]
)我打印并检查数组的输出。它只显示前两个textbox
和第一个单选按钮组。如果你引导它意味着很多…我会给你一个向上的投票。他接受我的太快了。Gervin可以随时更改他的选择!@难以置信,我不介意选择哪个问题,只要OP知道他的代码有什么问题并设法解决了他的问题:)谢谢你的投票!是的,我喜欢你在他的代码示例中涵盖所有问题的方式:)@DimitrisFilippou也谢谢你的答案:)但令人难以置信的是,问题出在选项值中,选项值为空:)@Gervin最好也对他的答案进行投票,而不仅仅是选择这是正确的答案:)而且对代码要更加小心。对于这样一个小的代码示例来说,语法错误太多了:)