如何保存评论作者的用户名?

时间:2019-01-09 08:14:17

标签: php session username

我正在编写博客,以获取有关php的经验。

在发布信息时,我已经获得了要发布的所有评论。现在,我还希望在其旁边显示写有此注释的用户的用户名。

问题是:我是否需要在comments-表中添加一个额外的列,用于保存$_SESSION['login'](这使我具有登录用户的用户名)

OR

我是否需要将$_SESSION['login']保存在从数据库中获取所有注释的函数中?

现在,我只获得当前登录用户的用户名,而不是实际作者的用户名,并且当没有人登录时,我得到错误undefined index 'login'

我知道这是因为未设置$_SESSION['login'](如果用户已登录,则是其用户名),但是我不知道如何解决。

这是PostsController.php中的函数,该函数以所有注释呈现帖子的站点:

public function show()
{
  $emptyComment = false;

  $id = $_GET['id'];                              
  if (isset($_POST['content'])) {
    $content = $_POST['content'];
    $this->commentsRepository->insertForPost($id, $content);
    $emptyComment = true;
  }

  $post = $this->postsRepository->find($id); aus DB
  $comments = $this->commentsRepository->allByPost($id);
  $author = $_SESSION['login'];

  $this->render("post/show", [
   'post' => $post, // übergibt die post-Variable als Parameter
   'comments' => $comments,  
   'emptyComment' => $emptyComment,
   'author' => $author
  ]);
} 

我真的不知道如何保存作者的用户名并正确显示。

我是否真的需要在数据库中创建一个新列,以便将当前登录用户的用户名保存为作者(甚至可以将其与users表进行1:1连接)? ?

0 个答案:

没有答案