2016-01-24 45 views
-1

我正在嘗試構建一個問題& Answeer類似於Stack Overflow的網站,但更簡單一些。我想知道我怎麼能夠爲用戶提出的特定問題生成一個URL(一個頁面)?如何創建鏈接到特定帖子的網址?

是否將URL直接存儲到我的數據庫中?我使用PHP和MySQL構建它。

+0

謝謝你的編輯馬丁,以及所有的答案! – Jondave

回答

0

你需要在你的問題表上創建一個獨一無二的鍵。

CREATE TABLE questions (
    id integer auto_increment primary key 
    ,title varchar(100) not null 
    -- ... 
    -- yours table fields 
    -- ... 
) 

或使用你的ID主鍵像鍵選擇你的問題。

我想該URL是非常相似的未來:

http://www.yourdomain.com/questions.php?q=1002

當你列出你的問題,以鏈接嘗試這個循環的PHP裏面:

<a href="http://www.yourdomain.com/questions.php?q=<?=$question_info['id']?>"> 
<?=$question_info['title']?> 
</a> 

當你選擇你的問題,你需要得到一個URL的參數。例如用$ _GET瓦爾這樣的:

<?php 
    $mysqli = new('server','user','pass','bd_name'); 

    $question_id = $_GET['q']; 

    $query="SELECT * FROM questions WHERE id='$question_id'"; 
    //now you can launch the query to mysql 
    $result = $mysqli->query($query); 
    //get the rows array 
    $question_info = $result->fetch_array();  
    //your implementation 
    //..... 
?> 

您也可以與$ _POST瓦爾添加註釋使用一個唯一的密鑰的問題。

這是一個簡單的答案,但這種方法存在一個安全問題,因爲您需要清理$ _GET變量來防止SQL注入,但現在這不是問題。

0

您需要在數據庫中存儲帖子標識符並使​​用它來匹配URL。所以你的帖子URL應該包括標識符:http://example.org/posts/<post-identifier-here>

相關問題