簡體   English   中英

PHP-將定位標記值傳遞給目標頁面

[英]PHP - Pass anchor tag value to target page

TL:DR-我需要將錨標記值傳遞到另一個php頁面,並尋找SESSION / COOKIES的替代方法。 不建議使用POST / GET表單,因為我希望避免提交表單。

詳細說明:

我有一個php頁面,其中按照以下列表列出了mysqli結果集:

ID fname姓


12約翰·杜

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++;
    }
?>

有這樣的錨標簽

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

也許像那樣

為什么不在GET請求中傳遞變量?

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

您可以在目標page.php上訪問

$pid = $_GET['pid'];

在錨標記中,您可以指定查詢參數,例如

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

在這種情況下,當用戶單擊12時,他將被重定向到todo.php?id = 12。

在todo.php中,您可以獲取$ _GET ['id']並進行相應的工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM