2013-03-19 98 views
0

我建立了一个博客。我希望索引页面有一个标题,每个帖子页面有不同的标题。所以我做了这样的代码。这是做这件事的最好方法吗?使用只有一个标题的每个页面的不同页面标题

<title><?php 
    $posttitle = $_GET["article"]; 

    if (empty($posttitle)) { 
print $blog_title; 
    } 

    else { 
     $result = mysqli_query($con,"SELECT * FROM post WHERE postlink='$posttitle' "); 
     while($row = mysqli_fetch_array($result)) 

       { 
        print $row['title']; 
       }; 
     }; 


    ?></title> 

此代码适用于我。但我不认为它的好主意是检查我们是否每次查看文章。

+1

您的代码容易受到[SQL注入](http://en.wikipedia.org/wiki/SQL_injection)的攻击Imho您应该切换到开始使用预准备语句并绑定参数或至少妥善逃避数据。 – PeeHaa 2013-03-19 09:48:50

+0

毕竟,你真的需要在大括号后面加上分号吗? – goseo 2013-03-19 09:49:39

回答

1

首先:如果$

$posttitle = $_GET["article"]; 

    if (empty($posttitle)) { 
     print $blog_title; 
    } 

会产生E_NOTICE错误),得到的是没有设置。这样做:

if (empty($_GET['article'])) { 
    $posttitle = $_GET['article']; 
     print $blog_title; 
    } 

也使用“,而不是”如果没有解析字符串

二:什么都逃不过取之于POST获取或得到,如果你希望数据能够文章编号,执行(荷兰国际集团$! _GET ['article'])并阅读关于SQL注入的内容

相关问题