登录重定向PHP中帖子评论区的问题


Login redirect Issue in post comment area in PHP

如果有人想评论我网站上的任何项目,例如文章或论坛项目等。它会提示他们登录/创建帐户。是否可以确保当客户端登录时,它会将他们带回他们想要发表的评论?

但现在它不会像这样流动了。没有登录的用户会重定向到登录页面,但我希望,在登录到本节后,用户会自动重定向到当前帖子评论区。有办法吗?

<?php if ($sessionUser == 1 || $sessionSeller == 1 || $sessionadmin == 1) { ?>
    <form class="cp_form"
          action="article_comments_db.php"
          method="post"
          name="frm_comment"
          id="frm_comment">
        <div id="div_req_comment" class="cp_infopanel_off">
            <span><?= $_Reviews ?></span>:<span class="red">*</span>
            <textarea class="cp_textarea"
                      id="req_comment"
                      name="req_comment"
                      onBlur="do_blur(this.id)"
                      onFocus="do_focus(this.id)"></textarea>
            <div id="infobox_req_comment" class="cp_infobox"></div>
        </div>
        <input type="button"
               id="btn_submit"
               class="rp_button"
               value="<?= $_Submit ?>"
               onClick="validate_form('frm_comment')" />
        <input type="hidden"
               name="id" value="<?php echo $id ?>" />
    </form>
<?php } else {
?>
    <br/><br/>
    <div align="right">
        <input type="button"
               id="btn_submit"
               class="rp_button"
               value=" <?= $_Post_comment ?> "
               onClick="window.location.href='login.php?event=Account'" />
    </div>
<?php
}

您可以调用您的login.php吗?event=具有用户访问的当前页面的ID或URL(urlencode)的帐户。

login.php?event=Account&visitedpageid=1

在loginform中,您可以使用$_GET获取ID/URL,并将其放入隐藏输入中。

<input type="hidden" name="visitedpage" value="<?php echo $_GET['visitedpageid']; ?>">

如果登录正确,则使用该隐藏输入的POST值进行重定向。

$_POST['visitedpage']

请确保检查get参数是否已设置(isset)并与现有页面匹配。

我可以向您介绍如何实现。

  1. 重定向到登录页面时,请检查$_SERVER['HTTP_REFERER']是否为空。如果不为空,则将其保存到会话中。

  2. 成功登录后,检查用户是否来自另一个页面,是否使用您保存到会话中的值。

如果不为空,则将用户重定向到会话变量中定义的同一页面。在重定向之前,将会话值保存在一个变量中并销毁此会话变量。