【问题标题】:If not redirected redirect to original page如果没有重定向重定向到原始页面
【发布时间】:2013-04-30 08:30:24
【问题描述】:

我有两页

  1. parameters.php
  2. targetparameters.php

人们可以在parameters.php中输入他们的参数并点击提交。哪个被重定向到 targetparameters.php。此页面显示了他们一年后的目标。

现在,如果有人在地址栏中键入 targetparameters.php,页面将显示最后输入的条目。

我希望即使有人键入 targetparameters.php,他也应该被重定向到 parameters.php。但如果在parameters.php中按下提交应该允许

希望我不会让你对这个问题感到困惑。

谢谢

阿莫德(印度)

【问题讨论】:

    标签: redirecttoaction


    【解决方案1】:

    我认为实现这一目标的一种简单方法是使用会话变量。 当某人单击parameters.php 中的提交按钮时,您需要为某人创建一个会话变量。

    然后,在targetparameters.php 中,您将检查会话变量是否已定义。如果是这样,则授予访问者访问权限并销毁该变量。 如果它不存在,则不要授予访问权限。

    这是一个例子(您可能需要适应自己的情况):

    parameters.php

    <?php
        session_start();
    ?>
    [Your code]
    // On click on submit, a session is created with 'submit' = "yes";
    <input type = "submit" onclick = "<?php $_SESSION['submit'] = "yes"; ?>"
    

    targetparameters.php

    <?php
        if(isset($_SESSION['submit'])) {
            [rest of your code]
            session_destroy(); // Destroys the session
        } else {
            echo 'You are unknown';
        }
    ?>
    

    或者,如果你想保留一些变量,你可以使用:

    if( isset( $_SESSION['submit'] ) ) {
        unset( $_SESSION['submit'] );
    }
    

    希望有帮助!

    【讨论】:

    • 谢谢,但我已经有一个登录会话,如果 onclick 会话会崩溃
    • 不一定。根本不要使用session_destroy(),使用unset(),我已经更新了上面的帖子以表明这一点。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-21
    • 1970-01-01
    • 1970-01-01
    • 2011-01-14
    • 2014-06-10
    相关资源
    最近更新 更多