我的数据库中有一个名为agendas的表,它与另一个名为meetings的表相关联。我想通过表单编辑议程表,但我希望议程字段中的当前信息显示在网络表单上。
<?php
include 'library/connect.php';
$agenda_id = $_GET['agenda_id'];
$result = mysql_query("SELECT agenda.*, meetings.meeting_id FROM agenda INNER JOIN meetings ON agenda.meetings = meetings.meeting_id WHERE agenda_id = '$agenda_id'");
$row = mysql_fetch_array($result);
$meeting_id = $row['meeting_id'];
?>
<form id="form1" name="form1" method="post" action="secretary_agendaSuccesful.php?agenda_id=<?php echo $agenda_id; ?>">
<table width="666" border="1">
<tr>
<td width="91">Subject:</td>
<td width="559"><span id="sprytextarea1">
<label for="subject"></label>
<textarea name="subject" id="subject" cols="45" rows="5" value="<? echo $row['subject'] ?>"></textarea>
<span class="textareaRequiredMsg">A subject is required.</span></span></td>
</tr>
<tr>
<td>Duration:</td>
<td><span id="sprytextfield1">
<label for="duration"></label>
<input type="text" name="duration" id="duration" value="<? echo $row['duration'] ?>"/>
<span class="textfieldRequiredMsg">duration in hours</span><span class="textfieldInvalidFormatMsg">Enter duration in hours</span></span></td>
</tr>
<td> </td>
<td><input type="submit" name="submitbtn" id="submitbtn" value="Submit" /></td>
</tr>
</table>
</form>
这是从数据库获取信息到字段的正确方法吗?
答案 0 :(得分:0)
这几乎是正确的方式
只需要在显示的值上使用htmlspecialchars()
函数。
可能存在另一个问题 - 查询本身会阻止您的数据显示。
并且还有明显的SQL注入
以这种方式制作代码
$agenda_id = intval($_GET['agenda_id']);
$query = "SELECT agenda.*, meetings.meeting_id FROM agenda
INNER JOIN meetings ON agenda.meetings = meetings.meeting_id
WHERE agenda_id = $agenda_id";
$result = mysql_query($query) or trigger_error(mysql_error()." ".$query);
并查看是否会显示任何错误
编辑
只是注意到您使用value
标记的<textarea>
参数。此标记与其他标记的用法不同。