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

时间:2018-02-18 13:46:11

标签: php

TL:DR - 我需要将一个锚标记值传递给另一个php页面并寻找SESSION / COOKIES的替代品。不鼓励使用POST / GET去表格,因为我不想提交。

详细说明:

我有一个php页面,按照以下内容列出了列表形式的mysqli结果集:

  

ID fname姓氏

           <12> John Doe

     13卡尔布朗

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

我知道这可以通过cookie或会话实现,但我想检查是否有另一种方法可以做到这一点。此外,我想避免使用表格,以避免必须“提交”实际表格。我希望将这种体验保持为点击和重定向。

这里给出一些上下文是我的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++;
    }
?>

3 个答案:

答案 0 :(得分:2)

有这样的锚标记

<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 */
    }
?>

也许是那样的

答案 1 :(得分:1)

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

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

您可以在目标page.php上访问

$pid = $_GET['pid'];

答案 2 :(得分:1)

在锚标记中,您可以为例如

指定查询参数
<a href="todo.php?id=12"> 12 </a>

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

在todo.php中你可以获取$ _GET ['id']并相应地工作。