首页 > 解决方案 > 用户在上传后注销 [PHP]

问题描述

我的帖子上传公式有问题,需要您的帮助。

使用这个公式,我将数据同时插入到 2 个表中,效果非常好。我的下一步是userid在 post 表中插入 ,以便将帖子链接到帖子的创建者。

在 post 表中插入userid也可以,但在上传后,用户会被注销。

这是我的代码的一部分(我标记了我认为 a 有问题的代码"X"

session_start();
$db = mysqli_connect("localhost", "root", "", "abc");

if (isset($_POST['upload_post']))
{ 
  $ad_post_title = mysqli_real_escape_string($db, $_POST['post_title']);

X $user_id = $_SESSION['id_u']; 
X $_SESSION['id_u'] = mysqli_insert_id($db);
X $sql_p = "INSERT INTO ad_posts (post_title, user_id) VALUES ('$post_title','$user_id')";

  if (mysqli_query($db, $sql_p))
  {
    $ad_post_id = mysqli_insert_id($db);

    ...

  }
}

也许我在会话中做错了什么?

标签: php

解决方案


在代码的第二行,您将覆盖用户 ID 的会话变量,我认为您正在使用该变量来确保用户已登录,并使用新插入的行的 ID。

   $user_id = $_SESSION['id_u']; 
X  $_SESSION['id_u'] = mysqli_insert_id($db);
   $sql_p = "INSERT INTO ad_posts (post_title, user_id) VALUES ('$post_title','$user_id')";

在您提供的代码中,我没有看到第二行的原因,删除它并且您的用户不会被注销,除非您当然也在其他地方覆盖它。


推荐阅读