在目标页面上传递GET变量显示有问题

时间:2013-12-07 08:48:35

标签: php mysql sql

我在这里疯了。我有两页。页面A和页面B.我只想在页面A中设置一个变量,通过GET方法(URL)将其传递给页面B,然后让代码显示变量。我没有得到任何错误,但变量根本不会显示。这是代码:

第A页:

print "<a href=\"http://mysite.net/page-b?var=".$id ."\">" .$name . "</a><br>"; 

Page B:

    <?php       


        //db connect info above not shown
        $password = "*****";
        $usertable = "stories";
        $myfield = (int) $_GET['id'];


        //Connect to db
        mysql_connect($hostname, $username, $password) OR DIE ("Unable to 
        connect to database! Please try again later.");
        mysql_select_db($dbname);

        //Fetch from db
        $query = "SELECT * FROM stories where story_id = $myfield";
        $result = mysql_query($query);
        echo "TEXT: "; 
        if ($result) {
            while($row = mysql_fetch_array($result)) {
                $name = $row["story_id"];
                echo $name;
            }
      }
  ?>

我得到的全部是“TEXT:” 但它希望它显示“TEXT:4”(因为我知道4是来自第a页的story_id。我甚至看到页面B的URL中的4成功通过,但无法在此处显示它。

作为问题的第二部分,我的真实目标不是简单地打印story_id,而是打印故事文本本身(一段文字)。此变量位于名为story_text的同一个表中。当我甚至不能简单地将story_id数字打印作为测试时,显示实际故事文本似乎是一个梦想。

请帮忙!

2 个答案:

答案 0 :(得分:2)

如果您的网址是 http://mysite.net/page-b?var=“。$ id。”\“

传递的变量是$ var,而不是$ id

$myfield = (int) $_GET['id'];    // WRONG
$myfield = (int) $_GET['var'];   // RIGHT

答案 1 :(得分:1)

您的陈述

$myfield = (int) $_GET['id'];

这应该是

$myfield = (int) $_GET['var'];