1

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

但现在它不会像这样的流程了。未登录的用户重定向到登录页面,但我希望,在登录此版块后,用户自动重定向到当前发表评论区。有办法吗?

<?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
}
4

2 回答 2

0

我可以告诉你如何实现它。

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

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

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

于 2012-07-20T05:06:59.693 回答
0

您可以使用 ID 或 URL ( urlencode ) 调用您的 login.php?event=Account您可以使用用户访问的当前页面

login.php?event=Account&visitedpageid=1

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

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

如果登录是正确的,那么您将使用该隐藏输入的 POST 值进行重定向。

$_POST['visitedpage']

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

于 2012-07-20T05:07:14.737 回答