PHP-将锚标记值传递到目标页面

PHP-将锚标记值传递到目标页面,php,Php,TL:DR-我需要将锚定标记值传递到另一个php页面,并寻找会话/cookie的替代方法。不鼓励使用POST/GET格式的表单,因为我希望避免提交 详细说明: 我有一个php页面,该页面以列表形式列出mysqli结果集,如下所示: ID fname姓氏 12无名氏 13卡尔·布朗 现在我想把ID字段作为链接,我可以使用一个HTML锚标记来实现。单击后,我希望重定向到另一个页面,并传递单击的ID(例如12或13)以供进一步使用 我知道这可以通过cookies或会话来实现,但我想看看是否有其他方法

TL:DR-我需要将锚定标记值传递到另一个php页面,并寻找会话/cookie的替代方法。不鼓励使用POST/GET格式的表单,因为我希望避免提交

详细说明:

我有一个php页面,该页面以列表形式列出mysqli结果集,如下所示:

ID fname姓氏


12无名氏

13卡尔·布朗

现在我想把ID字段作为链接,我可以使用一个HTML锚标记来实现。单击后,我希望重定向到另一个页面,并传递单击的ID(例如12或13)以供进一步使用

我知道这可以通过cookies或会话来实现,但我想看看是否有其他方法来实现。此外,我希望避免使用表格,以避免“提交”实际表格。我想保持点击和重定向的体验

下面是我的php代码:

<?php
include 'functions.php';
    session_start(); //Fetches session already initialized in other pages.
    $page_fund=new page_fundementals; //simply gets menu items
    $conn = new consultant_ops; //executes a mysqli query to get the results used further below
    $result=$conn->listPatients($_SESSION['user_id']); //passes the $_SESSION['user_id'] to a listPatients method in order to get the mysqli resultset
    foreach($result as $row){
        $i=0;
        ${'p_id'.$i}=$row['p_id'];
        ${'p_fname'.$i}=$row['p_fname'];
        ${'p_surname'.$i}=$row['p_surname'];
        echo ${'p_id'.$i}." ".${'p_fname'.$i}."<br />";
        $i++;
    }
?>

为什么不在GET请求中传递变量

echo "<a href='page.php?pid=".$row['p_id']."'>redirect</a>";

为什么不在GET请求中传递变量

echo "<a href='page.php?pid=".$row['p_id']."'>redirect</a>";

有这样一个锚标签

<a href="sample.php?id=<?= $user->id ?>">
   <?= $user->name ?>
</a>

那么可能在sample.php中

<?php
    if(isset($_GET['id']) {
        $user_id = $_GET['id'];
        /* your code here to get user from database, maybe 
       SELECT * FROM users WHERE id = $user_id something like that
       then format afterwards */
    }
?>

有这样一个锚定标记

<a href="sample.php?id=<?= $user->id ?>">
   <?= $user->name ?>
</a>

那么可能在sample.php中

<?php
    if(isset($_GET['id']) {
        $user_id = $_GET['id'];
        /* your code here to get user from database, maybe 
       SELECT * FROM users WHERE id = $user_id something like that
       then format afterwards */
    }
?>

在锚定标记中,您可以为eg指定查询参数

<a href="todo.php?id=12"> 12 </a>

在这种情况下,当用户单击12时,他将被重定向到todo.php?id=12


在todo.php中,您可以获取$\u GET['id']并相应地工作。

在锚定标记中,您可以为例如指定查询参数

<a href="todo.php?id=12"> 12 </a>

在这种情况下,当用户单击12时,他将被重定向到todo.php?id=12


在todo.php中,您可以获取$\u GET['id']并相应地工作。

创建所有这些
${$i}
变量有什么意义?为什么你不能直接引用
$row
?我同意,但这是我代码的另一部分,与我的问题无关,所以我把它删掉了。创建所有这些
${$I}
变量有什么意义?为什么你不能直接参考
$row
?我同意,但这是我的代码的另一部分,与我的问题无关,所以我把它删掉了。谢谢@Jasper,这很有效。您是否知道使用POST是否可以实现这一点(因为它更微妙)?对于POST请求,使用表单更为实际。URL告诉HTTP将其解释为GET请求后的类似参数。谢谢@Jasper的帮助。您是否知道使用POST是否可以实现这一点(因为它更微妙)?对于POST请求,使用表单更为实际。URL告诉HTTP将其解释为GET请求之后的参数。