2013-03-19 107 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注入的內容