php打开链接重复内容

时间:2013-06-12 13:43:35

标签: php url blogs

所以在我的博客页面上,我使用substr来显示一些文章。这个想法是,一旦有人点击其中一个标题,他们就会被发送到显示完整文章的页面。

当我点击链接时,我在网址中获得了正确的标题,例如我点击第4个博客条目,我将被重定向到index.php?id = 4.问题是在此页面上内容保持不变,没有什么变化。我如何得到它,当我点击文章时,我将被引导到仅包含该文章的页面,而不包含其他文章。先谢谢你,这一整天都在破坏我的头脑。

<?php
$dbinfo = "SELECT blog_id, title, date, body FROM content ORDER BY blog_id DESC LIMIT 0, 3";
$result = mysql_query($dbinfo) or die(mysql_error());
$return = '<p><a href="index.php"> Go Back To Content Page</a></p>';


if(mysql_num_rows($result) !=0):
    while($row = mysql_fetch_assoc($result)){
    echo '<div id="roundedbox"><h2><a href="index.php?id=' . $row['blog_id'] . '">' .  $row['title'] . ' </a></h2>';
    echo '<div id="date"><h5><p>' . $row['date'] . '</p></h5></div>';
    echo substr('<p>' . $row['body'] . '</p>',0, 90)." .... "." read more</div>";

}
else:
    echo '<p> UH OOH! THERE IS NO SUCH PAGE IT DOES\'T EXIST </p>'; 
    echo $return;
    endif;  
?>

1 个答案:

答案 0 :(得分:0)

您的代码中的查询将返回表的所有记录,您想要的是根据$ _GET ['id']中的id参数返回记录的查询。确保你只使用整数来防止sql注入是一个好主意。

从你的代码中你需要有一个单独的查询来使用$ _GET ['id']参数获取相应的记录,如下所示......

    //the parameter is set and it is an integer
        if(isset($_GET['id']) && is_int($_GET['id'])) {
            $blogId = (int)$_GET['id'];
            $query = "SELECT blog_id, title, date, body FROM content WHERE blog_id='$blogId'";
            // run query and get record data and output it

        } else {
            //code to return all records as list
            $dbinfo = "SELECT blog_id, title, date, body FROM content ORDER BY blog_id DESC LIMIT 0, 3";
            $result = mysql_query($dbinfo) or die(mysql_error());
            $return = '<p><a href="index.php"> Go Back To Content Page</a></p>';


           if(mysql_num_rows($result) !=0):
           while($row = mysql_fetch_assoc($result)){
           echo '<div id="roundedbox"><h2><a href="index.php?id=' . $row['blog_id'].$row['title'] . ' </a></h2>';
           echo '<div id="date"><h5><p>' . $row['date'] . '</p></h5></div>';
           echo substr('<p>' . $row['body'] . '</p>',0, 90)." .... "." read more</div>";

           }
           else:
             echo '<p> UH OOH! THERE IS NO SUCH PAGE IT DOES\'T EXIST </p>'; 
             echo $return;
           endif; 
          }