php - 如何根据用户输入创建链接

标签 php mysql forms web hyperlink

这是用户发布帖子的代码。

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.
}

我有一个由用户创建帖子的网络表单。我现在想让用户能够返回到该帖子专用的页面,以便他们进行编辑、添加等。

最佳答案

这是高级解决方案:

  1. 您需要创建一个需要 post_id 作为查询字符串参数的页面。该页面将通过以下方式访问:http://yoursite.com/show-post.php?post_id=136
  2. 在 PHP 中,检索 post_id:$_GET['post_id']
  3. 根据该帖子 ID,从数据库中提取与该 ID 关联的信息。类似于 SELECT * FROM post WHERE post_id = $_GET['post_id']
  4. 然后使用 SQL 查询返回的信息显示帖子。
  5. 如果您想显示当前用户的帖子列表,请创建另一个页面http://yoursite.com/my-posts.php
  6. 在该页面中,根据当前用户 ID 编写 SQL 查询:SELECT * FROM post WHERE user_id = $_SESSION['user_id'](假设您在 post 表中有一个 user_id,并且用户已通过身份验证,并且他的 ID 已存储在 session 中)。
  7. 这将为您获取帖子列表,循环浏览它们以获取其详细信息。

请注意,您应该对查询字符串中传递的参数进行转义。有很多方法可以做到这一点,所以我不会在这里详细介绍。

编辑:

这是生成链接的方式:

<?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/

相关文章:

php - 条件赋值

mysql - 在 mysql 中对多个 COUNT 实例进行排序?

javascript - Bootstrap 3 - 基于值的自动背景颜色

php - 如何加速AJAX?

PHP 递增最大 ID

java - 错误; java.lang.IllegalStateException : Cannot create a session after the response has been committed

javascript - 注册 routerLink 不起作用 [Angular]

单击 "Submit"后重定向用户/更改文本的 Javascript 函数

html - 创建一个返回多个隐藏文本值的搜索框

php - 如何使用 Monolog 关闭调试日志