我有一个 PHP 更新页面,其中显示一个包含数据库中的值的文本字段。就是这样,并且正在工作,
<input type="text" name="title" id="title" class="text_box" value="<?php echo $row['title']?>"/>
现在我需要将这个更新后的值放回到数据库中!我已经使用了这样的代码,但它没有更新:
$title=$_POST['title'];
$v_id = $_GET['v_id'];
$sql = mysql_query("update vehicles set title = '$title' where v_id = '$v_id'");
详细来说...有一个输入字段。它显示了包含在中的值$title
(从数据库检索)并且该值将被编辑和更新。
从我这边来看,我的代码运行完美,没有显示任何错误,但是我给出的值$title
是给予相同的,没有任何改变。
有没有其他方法可以在输入字段中显示值而不放入“值”标签?
在一个输入字段中希望发生两件事!
您还需要发布您的表单 HTML。
除非您的表单如下所示,否则该代码将不起作用
<form method='post' action='page.php?v_id=1'>
<input type="text" name="title" id="title" class="text_box" value="<?php echo $row['title']?>"/>
</form>
这是因为您使用 $_GET 来获取 id 字段,使用 $_POST 来获取 value 字段
EDIT你的编辑让水变得更浑了。我假设您想要做的就是显示标题并让用户更新标题
<?php
if ($_POST) {
$title = mysql_escape_string($_POST['title']);
$id = intval($_GET['v_id']);
$sql = "update vehicles set title = '$title' where v_id = '$id'";
mysql_query($sql) or trigger_error(mysql_error()." ".$sql);
}
if (isset($_GET['v_id'])) {
$id = intval($_GET['v_id']);
$sql = 'SELECT title FROM vehicles WHERE v_id = ' . $id;
$rs = mysql_query($sql) or trigger_error(mysql_error()." ".$sql);
$row = mysql_fetch_assoc($rs);
$title = htmlspecialchars($row['title']);
}
?>
<form method='post' action='?v_id=<?php echo $id?>'>
<input type="text" name="title" id="title" class="text_box" value="<?php echo $title ?>"/>
<input type='submit' value='update'>
</form>
这应该对你有用。我显然没有进行错误测试,但这个想法是合理的。您还应该添加您认为必要的任何其他输入筛选。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)