Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何允许匿名帖子评论,以便在他们再次登录时将其保存在db中?_Php_Session_Cookies_Comments - Fatal编程技术网

Php 如何允许匿名帖子评论,以便在他们再次登录时将其保存在db中?

Php 如何允许匿名帖子评论,以便在他们再次登录时将其保存在db中?,php,session,cookies,comments,Php,Session,Cookies,Comments,我想允许匿名用户在我的帖子上发表评论,所以当他们再次登录时,我们会将这些评论保存到数据库中 例如,用户的uid=1,但他现在是匿名的,他可以将评论发布到postid=1。此注释将存储在某个位置(可能是会话),然后当uid=1登录时,一条记录将被推送到数据库中的“comments”表中 像这样: uid = 1 postid= 1 text = "some text here" 我可以使用会话、cookie或其他方法来执行此操作吗?您可以尝试这样做,但会话将过期,如果cookie未过期,客户端可

我想允许匿名用户在我的帖子上发表评论,所以当他们再次登录时,我们会将这些评论保存到数据库中

例如,用户的uid=1,但他现在是匿名的,他可以将评论发布到postid=1。此注释将存储在某个位置(可能是会话),然后当uid=1登录时,一条记录将被推送到数据库中的“comments”表中

像这样:

uid = 1
postid= 1
text = "some text here"

我可以使用会话、cookie或其他方法来执行此操作吗?

您可以尝试这样做,但会话将过期,如果cookie未过期,客户端可以手动删除它们。因此,虽然您可以检查会话和/或cookie是否存在,但如果没有登录,您最终无法一致地保护这些值

但是,如果使用一些if语句来查看它们是否已设置,则只要会话没有过期,cookie也没有过期,就有可能进行设置。

Yes。调用
session_start()
然后向会话写入内容(
$\u会话['comment']=$comment;
)。如果/当用户登录时,您可以检索此评论并根据其用户ID将其写入评论表。如@RUJordan所述,如果您的会话过期(例如,用户仅使用会话cookie,并且他们关闭浏览器),则评论将丢失。