【问题标题】:How to correctly navigate to same and different page如何正确导航到相同和不同的页面
【发布时间】:2012-03-26 12:07:40
【问题描述】:

下面是我在 create_session.php 页面中的一个简单表单的代码。当用户提交表单时,我正在使用表单操作方法将用户导航到“QandATable.php”页面。但我想要的是,如果用户在会话数文本框中输入数字 1,然后导航到用户提交表单时的 QandATable.php 页面,否则如果它是任何其他数字,那么当用户提交表单,我希望它回到“create_session.php”(回到它自己的页面)。想象一下,就像您单击提交按钮并刷新页面一样,它会恢复为空白表单,如果会话数文本框包含大于“1”的数字,这就是我想要做的。如何才能做到这一点?我正在使用 php 和 jquery 代码以及基本的 html。

谢谢

 <form action="QandATable.php" method="post" id="sessionForm">
      <p><strong>Number of Sessions you Require:</strong> <input type="text" id="sessionNo" name="sessionNum" onkeypress="return isNumberKey(event)" maxlength="5" /></p>
        <p><input class="questionBtn" type="submit" value="Prepare Questions" name="prequestion" onClick="myClickHandler(); return false;"/></p>      <!-- Prepare Questions here-->

    </form>

【问题讨论】:

  • 您可以使用 jquery 轻松完成,但您是否有理由不检查 QandATable.php 并直接从那里重定向?
  • 您好,这是有原因的,比如说您为 2 个人填写了一份表格,您为一个人填写了一份表格,然后当您提交表格时,接下来您要做的事情是填写第二个人的表格。如果是一个人,那么当您提交表单时,您就完成了,如果有多个人,那么您一次填写一个表单,填写表单提交,然后填写下一个人的表单,然后是第三人等等。这就是为什么我想知道如何执行此示例,如果文本框为“1”,则导航到 QandATable.php 页面,否则如果超过 1,则返回同一页面
  • 是的,但是让它自己提交(create_session.php)然后提交表单,根据数字在php中重定向似乎更容易。因为否则跟踪创建的会话数量将是一团糟。但我有点困惑,因为如果你在创建页面上有“会话数”,你在哪里创建这个人?
  • 嗨,那个创建人只是一个例子来展示我正在寻找的东西。我只想知道会话数是否大于 1,如何将表单提交给自身,如果是 1 则提交到另一个页面。

标签: php jquery html forms


【解决方案1】:

QandATable.php 脚本的最顶部添加:

if ($_POST['sessionNum']!=1) {
  header("Location: create_session.php");
  exit();
}

但正如其他人在 cmets 中提到的那样,您不妨将表单提交到 create_session.php 页面,如果成功则重定向到下一页。

【讨论】:

  • header('Location: ...')之后不要忘记exit
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-05
  • 2016-03-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多