我在这里疯了。我有两页。页面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数字打印作为测试时,显示实际故事文本似乎是一个梦想。
请帮忙!
答案 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'];