代码之家  ›  专栏  ›  技术社区  ›  topcat

如何使用$会话变量在php页面之间传递随机变量?

php
  •  0
  • topcat  · 技术社区  · 6 年前

    我试图使用在php页面中查询的变量(日期),然后将其放入$_会话中,在另一个页面中执行另一个查询。

    我将只使用该会话数组中的一个日期。我点击了它的链接标签。

    是否有应该执行的操作 onclick 关于那个环节?

    这是我的php,第一页创建$会话变量并创建链接。

    第二页应该打印我点击的值。但事实并非如此。

    oldEntries.php:

    <?php
    
        $query = "SELECT DISTINCT Tdate FROM titletable";
        $result = mysqli_query($conn, $query);
        if(mysqli_num_rows($result) > 0 )
        {
            while($row = mysqli_fetch_assoc($result))
            {
                $_SESSION[$row["Tdate"]]= $row["Tdate"];
                echo '<a href="content.php" class="datelink">'.$_SESSION[$row["Tdate"]].'</a><br>';
    
            }
    
        }
        else
        {
            echo "No Results in the database!";
        }
    
        ?>
    

    内容.php

    <?php
    
     $datetable = $_SESSION[$row["Tdate"]];
     echo "$datetable";
    
     $query = "SELECT table_name FROM information_schema.tables where table_schema='council_db'";
    
    
    
    ?>
    
    1 回复  |  直到 6 年前
        1
  •  2
  •   jfadich    6 年前

    你的 $_SESSION 数组由sql查询的结果设置键。在你的 content.php $row变量不可用。在这种情况下,最好用查询参数而不是会话来传递页面之间的变量。

    ...
    while($row = mysqli_fetch_assoc($result))
    {
        echo '<a href="content.php?Tdate='.$row["Tdate"].'" class="datelink">'.$row["Tdate"].'</a><br>';
    }
    ...
    

    然后进入 内容.php 你可以用 $_GET

    $datetable = $_GET["Tdate"];