如何使用 foreach 循环和特定 ID 在另一个页面中发送数据?

How to send data in another page with a foreach loop and specific ID?

我在 PHP 和 HTML 中有以下代码:

 <?php if(isset($_POST['service1'])){
                        $sql = "SELECT u.id u.name, u.password FROM users u";
                        $result = conection($sql);
                        $data["tittle"] = "result";
                        $data["result"] = $result;
                        foreach($data["result"]as $smth){
                        $id = $smth["id"];
                        $name = $smth["name"];
                        $password = $smth["password"];
                    ?>
                        <table style="width:100%">
                        <div class="text-center">
                            <tr>
                                <th>ID</th>
                                <th>Name</th>
                                <th>Password</th>
                            </tr>
                            <tr>
                                <td><?php echo $id;?></td>
                                <td><?php echo $name;?></td>
                                <td><?php echo $password;?></td>
                                <td><a role="button" href='anotherpage.php' onclick="documents('<?= $id?>')" class='btn btn-primary' target="_blank"></td></tr>
                                </a>
                    <?php
                    }
                    }?>

以及按钮中使用的JavaScript:

<script>
      function documents($id)
  {
       document.getElementById($id);
  }
   </script>

一开始我通过复选框收到“服务 1”选项以继续我上面显示的脚本,当我想 select 显示的 3 中的 ID 时出现问题在FPDF中生成报表,FPDF中的脚本如下:

<?php
        ob_start();
        require ($_SERVER['DOCUMENT_ROOT']."/Libraries/fpdf.php");
        class PDF extends FPDF
        {
            function Header()
            {
                
                $this->SetFillColor(0,90,151);
                $this->SetTextColor(0);
                $this->SetDrawColor(0,90,151);
                $this->SetLineWidth(.50);
                $this->SetFont('','B');
                $this->Ln(50);
                $this->SetFont('Arial','B',20);
                $this->Cell(3);
                $this->Rect(10,55,260,25);
                $this->Ln(10);
                $this->Cell(3);
                $this->Cell('0','0',$id." ".$name. " ".$password,0,0,'L');
                $this->Ln(20);
                
            }
        }

        $pdf=new PDF('L','mm','A4');
            $pdf->SetFont('Arial','',12);
            $pdf->AddPage();
            $pdf->Output();
        ?>

当我按下按钮时,它不会根据与选项同时 selected 的 ID 给我带来数据,有人知道为什么会这样吗?或者如果我在某件事上失败了

您可以以搜索参数的形式向 link 添加值。
这些参数都有一个 key 和一个 value.

搜索参数的开始由 ? 标记。
然后指定 keyvalue 结合等号 key=value.
Key-value 对由 & 符号分隔。

<a role="button" href="anotherpage.php?id=<?= $id ?>&name=<?= $name ?>" class='btn btn-primary' target="_blank">

您会注意到,当单击 link 时,值会传递给 URL。服务器能够读取这些值。

anotherpage.php 中使用 superglobal $_GET 访问 URL 中的值。 $_GET 将数据呈现为 关联数组 。这意味着您可以通过访问数组中的 key 来获取值,如下例所示。

$id = $_GET['id'];
$name = $_GET['name'];

此方法可能会暴露敏感数据。所以一定不要在前端打印任何数据,比如密码,让人看到。将数据保存在后端。