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

时间:2018-06-25 22:57:04

标签: php

我正在尝试使用在php页面中查询的变量(日期),然后将其放在$ _SESSION中的另一个页面中,以执行另一个查询。

我只会使用该会话数组中的一个日期。那是我点击其链接标记的那个。

该链接onclick上是否应该执行一项操作?

这是我的php,它首先创建$ _session变量并创建链接。

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

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!";
    }

    ?>

content.php

<?php

 $datetable = $_SESSION[$row["Tdate"]];
 echo "$datetable";

 $query = "SELECT table_name FROM information_schema.tables where table_schema='council_db'";



?>

1 个答案:

答案 0 :(得分:2)

您的$_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>';
}
...

然后在content.php中,您可以使用$_GET

进行访问
$datetable = $_GET["Tdate"];