2016-01-24 47 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>

相关问题