这是用户发布帖子的代码。
if(islet($_POST['submit'])) {
$name = $_POST['name'];
$keywords = $_POST['keywords'];
$description = $_POST['description'];
if(islet($_GET['user_id'])) {
$_SESSION['user_id'] = $_GET['user_id'];
} //Then I just have a inset into statement for my database with these 4 variables.
}
我有一个由用户创建帖子的网络表单。我现在想让用户能够返回到该帖子专用的页面,以便他们进行编辑、添加等。
最佳答案
这是高级解决方案:
- 您需要创建一个需要 post_id 作为查询字符串参数的页面。该页面将通过以下方式访问:
http://yoursite.com/show-post.php?post_id=136
- 在 PHP 中,检索 post_id:
$_GET['post_id']
- 根据该帖子 ID,从数据库中提取与该 ID 关联的信息。类似于
SELECT * FROM post WHERE post_id = $_GET['post_id']
。 - 然后使用 SQL 查询返回的信息显示帖子。
- 如果您想显示当前用户的帖子列表,请创建另一个页面
http://yoursite.com/my-posts.php
。 - 在该页面中,根据当前用户 ID 编写 SQL 查询:
SELECT * FROM post WHERE user_id = $_SESSION['user_id']
(假设您在 post 表中有一个 user_id,并且用户已通过身份验证,并且他的 ID 已存储在 session 中)。 - 这将为您获取帖子列表,循环浏览它们以获取其详细信息。
请注意,您应该对查询字符串中传递的参数进行转义。有很多方法可以做到这一点,所以我不会在这里详细介绍。
编辑:
这是生成链接的方式:
<?php foreach ($mysql_result as $row) { ?>
<a href="http://yoursite.com/edit-post.php?post_id=<?= $row['post_id'] ?>">link</a>
<?php } ?>
然后,在edit-post.php中,您可以通过执行$postId = $_GET['post_id'];
来获取post_id,然后在查询中使用它来获取所有信息关于那个特定的帖子。
关于php - 如何根据用户输入创建链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20986323/