所以我已经将一篇文章slug保存到我的数据库中,通常我会用art_id
过滤我的页面,如此,
$sql_articles = "SELECT * FROM app_articles WHERE art_id=".$_GET['art_id'];
$result_articles = query($sql_articles);
我传递的内容会通过网址传递art_id
,链接就像这样
<a href="index.php?art_id=<?php echo $article['art_id']; ?>">
我想知道如何通过art_slug
代替art_id
,这样我的网址就像www.site.com/index.php/lorem-ipsum-slug
一样,它会显示文章,提前感谢任何帮助< / p>
答案 0 :(得分:3)
首先,看起来你有SQL注入的可能性。谷歌吧。
其次,您需要在数据库中创建art_slug
列。在它之后你应该能够做到以下几点:
$sql_articles = "SELECT * FROM app_articles WHERE art_id=".$_GET['art_slug'];
$result_articles = query($sql_articles);
您将能够通过网址传递art_slug,其链接如此
<a href="content.php?art_slug=<?php echo $article['art_slug']; ?>">
你已经更新了问题,事情变得更加清晰。您可能对rewriting your URL on the server side感兴趣。给定的文档适用于Apache,但所有主要的Web服务器都存在此功能。
答案 1 :(得分:1)
与传递ID的方式相同。
$sql_articles = "SELECT * FROM app_articles WHERE art_slug=".$_GET['art_slug'];
$result_articles = query($sql_articles);
和
<a href="content.php?art_slug=<?php echo $article['art_slug']; ?>">
您应该清理变量而不是直接从$ _GET中使用它,因为它会使您容易受到SQL注入攻击。