-1

所以我已经将一篇文章 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而不是传递我的 URL,art_id这样我的 URL 就会www.site.com/index.php/lorem-ipsum-slug显示文章,在此先感谢您的帮助

4

2 回答 2

2

首先,看起来你有 SQL 注入的可能性。去谷歌上查询。

其次,您需要art_slug在数据库中创建一个列。之后,您应该能够执行以下操作:

$sql_articles = "SELECT * FROM app_articles WHERE art_id=".$_GET['art_slug'];
$result_articles = query($sql_articles);

并且您将能够使用这样的链接通过 url 传递 art_slug

<a href="content.php?art_slug=<?php echo $article['art_slug']; ?>">

你已经更新了问题,事情变得更清楚了。您可能有兴趣在服务器端重写您的 URL。给定的文档适用于 Apache,但此功能存在于所有主要的网络服务器中。

于 2013-04-28T20:20:55.403 回答
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 注入攻击。

于 2013-04-28T20:27:08.447 回答