我使用post方法从HTML表单中获取值,并通过mysql INSERT
命令(在PHP中完成)将它们存储在我的数据库中。
类似的东西:
$value = $_POST['name'];
$value1 = $_POST['age'];
$sql = "INSERT INTO table(name,age) VALUES('$value','$value1')" ;
现在我想做的是我想在同一个PHP文件中提供一个链接,如:
echo '<A HREF="http://xxx.com/rascal.php/">To update just entered info click on me</a>';
现在上面链接中提到的rascal.php也包含相同的表单字段(名称和年龄)。
通过上面的INSERT
命令存储在数据库中的值应该从DB中获取并放在相应的表单字段区域中(名称和年龄应该以各自的形式存储在rascal.php中)。 / p>
我该怎么做?
答案 0 :(得分:2)
这是:
<?php
if(isset($_GET['name']) AND isset($_GET['age'])){
$name=$_GET['name'];
$age=$_GET['age'];
}
else{
if(!empty($_POST['name']) AND !empty($_POST['age'])){
$value=mysql_real_escape_string($_POST['name']);
$value1=mysql_real_escape_string($_POST['age']);
$sql = "INSERT INTO table(name,age) VALUES('$value','$value1')" ;
mysql_query($sql);
echo '<A HREF="http://xxx.com/rascal.php?name='.$value.'&age='.$age.'">To update just entered info click on me</A>';
}
}
?>
<form method="POST">
<input name="name" value="<?php print $name;?>"/>
<input name="age" value="<?php print $age;?>"/>
</form>
如果您将'table'更改为您的表名,这应该有效。你应该感到高兴,因为我为你写了整个代码。请出示。
进一步的建议:确保通过mysql_real_escape_string()函数传递所有输入变量来保存代码。将id字段(唯一键,自我隐藏)添加到数据库表中,以便您可以根据其ID而不是其他字段选择记录(我提供的代码仅在您没有更多具有相同名称的条目时才有效)。
有一些很棒的php教程here。
答案 1 :(得分:0)
鲍比杰克对这种危险是完全正确的,但无论如何我都会试着回答你的问题。
为什么不在不触及数据库的情况下这样做?你可以像这样修改rascal.php的链接:
echo '<A HREF="http://xxx.com/rascal.php?name=' . $value1 . '&age=' . $value2 .' /">To update just entered info click on me</a>';
然后使用$ _REQUEST ['name']在rascal.php中获取该信息。通过这种方式,您可以确保保留相同的值。
另一种方法可能是使用mysql LAST_INSERT_ID并以这种方式获取信息,虽然它不是100%可靠,但您也可以使用该id来查询填充表单。
编辑:您可以使用LAST_INSERT_ID并将该ID放在rascal.php的链接中,或者在rascal.php中使用它来查询您需要的信息。