首页 > 解决方案 > php - 在 URL 中显示 ID

问题描述

在过去的几次中,我一直在尝试获取用户在 URL 中注册的事件的 ID,以便显示该事件中的所有详细信息。

我已经尝试通过 url 中的特定 id 从 MySQL 数据库获取数据, 但它似乎不适用于我想要做的事情。或者我做错了,我在这段代码中取得了更多进展

     <?php
if(isset($_SESSION['user_id'])){
    $userid = $_SESSION['user_id'];
    $QUERY3 = mysqli_query($DB, "SELECT * FROM `registration` WHERE `user_id`='$userid'");
    $GETEVENTZ = mysqli_fetch_array($QUERY3);
}
?>
    <?php 
    $eventid = $GETEVENTZ['event_id']; 
    echo '<li> <a href="leaderboard.php?eventid='.$eventid.'"><i class="icon icon-list"></i><span>Leaderboards</span></a> </li>'
?>

只是为了尝试获取 ID,但我得到了一个带有 url 的普通页面

leaderboard.php?eventid=

之后没有ID,没有弹出错误,页面和所有内容都加载了,只是没有添加ID。似乎找不到问题

标签: php

解决方案


会话超级全局不是要使用的。使用 $_GET 从 URL 获取信息。

<?php
if(isset($GET['user_id'])){
    $userid = $GET['user_id'];

    $mysqli = new mysqli("localhost", "my_user", "my_password", "world");

    /* check connection */

    if (mysqli_connect_errno()) {
        printf("Connect failed: %s\n", mysqli_connect_error());
        exit();
    }

    $query3 = "SELECT * FROM `registration` WHERE `user_id`=?";

    if($stmt = $mysqli->prepare($query3)) {
      $stmt->bind_param("s", $userid);

      $stmt->execut();
      $result = $stmt->get_result();
    }

}
?>



<?php 

// this section does not demonstrate getting the value from $result
// I will update answer later, must research mysqli more. 
     echo '<li> <a href="leaderboard.php?eventid='.$eventid.'"><i class="icon icon-list"></i><span>Leaderboards</span></a> </li>'
?>

免责声明:我不使用 mysqli,所以我的回答是对该部分的最佳猜测。请务必在http://php.net/manual/en/mysqli.prepare.php研究如何正确使用准备好的语句


推荐阅读