如何在2个php页面之间通过GET请求发送变量

时间:2018-10-22 07:08:18

标签: php html get

在我的程序中,数据库中有一个表Artists,具有ID,名称和性别。我正在尝试创建2个PHP页面。

  • 第一页显示所有艺术家的姓名及其性别。
  • 我想将第一页上的每个名称超链接到第二页。因此,每当单击艺术家时,ID都会发送到第二页。
  • 我将使用该ID与另一个表格进行比较以打印出其他信息。

我正在尝试使用GET执行上述过程。但是,我的代码无法正常工作。我尝试发送的值是row [artist_id],即$ id。

第一个PHP页面 ......

$sql = 'SELECT name, gender,artist_id FROM artists '
                 . ' ORDER BY name ASC, artist_id ASC';
          $result = $pdo->query($sql);
          echo "<table>";
          echo "<tr><th>Artist name</th><th>Gender</th></tr>";
          foreach ($result as $row) {
             echo "<tr>";
             $name = htmlspecialchars($row['name']);
             $gender = htmlspecialchars($row['gender']);
             $id = $row['artist_id'];
             echo "<td><a href='artist_events.php'?val=$id>".$name."</a></td>";
             echo"<td>".$gender."</td>";
             echo "</tr>";

第二PHP页面

<!doctype html>
<html>
  <head>
    <meta charset="utf-8">
<style>
table,th,td{
border: 1px solid black;
}
</style>
    <title>My second PHP page</title>
  </head>
  <body>
    <?php
      include 'config.php';
    ?>
    <?php
    $my_id= $_GET['val'];
    echo $my_id;

    ?>

</body>

1 个答案:

答案 0 :(得分:1)

echo "<td><a href='artist_events.php'?val=$id>".$name."</a></td>";

问题在于此行。在传递GET参数之前,您已经关闭了href属性。

将其更改为

echo "<td><a href='artist_events.php?val=$id'>".$name."</a></td>";

我更改了href属性的右引号位置。