我试图通过用户点击指定的行到另一个页面来传递行ID。我有一个带有ID和信息栏的表。
下面的代码显示了所需的行ID和信息
if ($info = $stmnt2->fetch()) {
echo '<p>Your Info:</p>';
do {
echo "$info[id] . $info[review] . <a href=edit.php?edit=$info[id]>edit</a></br> </br>" ; //The info id is contained in the $info['id']
} while ($info = $stmnt2->fetch());
} else {
echo "<p>No Info</p>";
}
我希望用户能够点击任何行和所选行,将其ID传递到另一个页面。我该怎么做?
这是另一页上的代码,我希望用户点击的ID在sql查询中替换“$ info [id]”。这将替换整个列而不是指定的行。
if(isset($_POST['id'])){
$update=$_POST['id'];
$db->exec("UPDATE infos SET info = '$update' WHERE reviewid = '$info[id]'");
}
在编辑页面中,我有一个输入,用户可以编写该输入以替换所选择的行(来自传递的ID)
<form action="edit.php" method="POST">
<input type="text" name="id" value="">
<input type="submit" value=" Update "/>
</form>
所以我希望从第一页传递的ID用于将信息行替换为编辑页面中的用户输入
答案 0 :(得分:1)
将ID传递到下一页的URL,导航到下一页,然后使用$id =$_GET['id']
;
您的edit=$info['id']
部分是正确的,但您在下一页上使用了$ _POST和$ _POST [&#39; id&#39;]。需要 GET 全局,并将其命名为编辑,而不是 ID
if ($info = $stmnt2->fetch()) {
echo '<p>Your Info:</p>';
do {
echo "$info[id] . $info[review] . <a href=edit.php?edit=$info[id]>edit</a></br> </br>" ; //The info id is contained in the $info['id']
} while ($info = $stmnt2->fetch());
} else {
echo "<p>No Info</p>";
}
edit.php:
if(isset($_GET['edit'])){
$update = $_GET['edit'];
$db->exec("UPDATE infos SET info = '$update' WHERE reviewid = '$info[id]'");
}
另外,对于将来的扩展和学习,如果您要使用内置变量的查询,请阅读如何使用绑定参数执行预准备语句。您现在很容易进行sql注入并且它很好练习学习更新更安全的方法。
答案 1 :(得分:1)
您可以使用 $ _ REQUEST
获取参数值 edit.php文件中的 $update = $_REQUEST['edit']
当您使用 $ _ REQUEST 方法时,您可以同时捕获 $ _ GET 和 $ _ POST 值。