无法在PHP页面之间传递正确的值

时间:2012-12-29 09:19:34

标签: php

如果我的问题看起来很愚蠢,但我的解释就用完了。 我正在尝试设置一个包含一些新闻的页面。我拥有包含News_id,news_header,newsbody等属性的数据库。

我有2页第一页给出了按钮的简要说明列表,该按钮允许用户在其上阅读更多特定新闻。如果单击它,它会将相应的news_id值传递给第2页,该页面取出News_Id Value,从数据库值中查询相应的值并输出内容。

问题在于,我点击第1页的列表中没有哪个按钮看到新闻,页面2总是在林 * e中首先收到新闻的news_id值* 。这是代码

PAGE ONE(列表)

<form name='NewsLineSelection' method='post' action='news.php'>
<?php
 $News_Query = "Select * from news order by Date_Posted Desc;";
 $GetNews = mysql_query( $News_Query, $IVE_Connection ) or die("ERROR: ".mysql_error());

while ( $News_Database = mysql_fetch_array( $GetNews ) ){                   
?>
<tr><td ><?php echo $News_Database[1]; ?></td>//header
<tr><td ><?php echo $News_Database[2]; ?></td>//news body
...etc

<tr><td class="maintext">
<input type='hidden' name='NewsToRead' value='<?php echo $News_Database[0]; ?>'>//News_ID is here
<input type='submit' name='AddNews' value='Read More...' >
</td></tr>
 }//end of the loop

第2页(包含信息详情)

$News_id = addslashes($_POST['NewsToRead']);

$News_Query = "Select * from news where news_id = ".$News_id.";";
$GetNews = mysql_query( $News_Query, $Connection ) or die("ERROR: ".mysql_error());
$News_Database = mysql_fetch_row( $GetNews );

//Then output the query's content

它看起来很完美。但是我真的不明白为什么如果在第1页的列表中有10个新闻,例如,无论我点击第2页中的$ News_id的值,将始终是列表中第一个新闻的ID第1页。

可能是我看不到的东西。它假设工作正常,但事实并非如此。

感谢您提供任何帮助或建议。

1 个答案:

答案 0 :(得分:5)

那是因为您有多个具有相同名称的输入。你看错了。

您正在获取(获取)数据,您应该使用GET请求,而不是POST请求。

我的建议是,每个新闻标题都会包含在这样的链接中:

<h1>
    <a href="news.php?id=<?php //Code to output the correct ID here ?>"><?php //Code to output the correct headline here ?>
    </a>
</h1>

额外的一些事情