将行ID传递到php中的另一个页面

时间:2017-04-13 15:34:02

标签: php html sql

我试图通过用户点击指定的行到另一个页面来传递行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用于将信息行替换为编辑页面中的用户输入

2 个答案:

答案 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 值。