使用不同的 "GET" 变量提交到当前 url 的重定向
Submit redirect to current url with different "GET" variables
我在一个名为 SignUpForm.php
的文件中有一个表单,当它被提交时,页面被重定向到 url http://localhost/MySite/Includes/SignUp.php?step=1
,并且在文件 [=15] =]
我有 3 个表单,每个表单只显示其对应的 ?step=x
值。在第一种形式(显示为 ?step=1
的形式)中,我有以下代码
if(isset($_GET['step']) === true && empty($_GET['step']) === false){
if(isset($_POST['SignUpStep1Submit'])) {
// some code here
header('Location: SignUp.php?step=2');
}
// forms displaying codes with the $_GET['step'] conditions
所以问题是我想提交第一个表单,所以它会将我重定向到同一个 .php
文件,但是在执行前面的代码后使用 ?step=2 ,当我提交表单时,我最终使用 http://localhost/MySite/Includes/SignUp.php
... 未设置 step 变量,//some code here
中的代码根本没有执行,它所做的只是将我重定向到 SignUp.php
而没有 [=22] =] 值,留给我一个空白页
为什么不直接更改表单操作以包含步骤变量,这样对于表单 1,操作将是
<form name="form1" action="/signup.php?step=2" method="post"></form>
对于表格 2,它将是
<form name="form2" action="/signup.php?step=3" method="post"></form>
要在提交表单之前检查表单值是否有效,您可以使用 pattern
和 required
属性,例如
<input name="firstname" pattern=".{3,}" required title="Your first name should be at least 3 characters long">
<input name="city" pattern=".{1,30}" required title="The country field shouldn't be more than 30 characters">
required
检查输入框是否已填写。
pattern
使用正则表达式模式来检查已根据...模式填充的值的类型。这里有更多信息:https://www.w3schools.com/tags/att_input_pattern.asp
我在一个名为 SignUpForm.php
的文件中有一个表单,当它被提交时,页面被重定向到 url http://localhost/MySite/Includes/SignUp.php?step=1
,并且在文件 [=15] =]
我有 3 个表单,每个表单只显示其对应的 ?step=x
值。在第一种形式(显示为 ?step=1
的形式)中,我有以下代码
if(isset($_GET['step']) === true && empty($_GET['step']) === false){
if(isset($_POST['SignUpStep1Submit'])) {
// some code here
header('Location: SignUp.php?step=2');
}
// forms displaying codes with the $_GET['step'] conditions
所以问题是我想提交第一个表单,所以它会将我重定向到同一个 .php
文件,但是在执行前面的代码后使用 ?step=2 ,当我提交表单时,我最终使用 http://localhost/MySite/Includes/SignUp.php
... 未设置 step 变量,//some code here
中的代码根本没有执行,它所做的只是将我重定向到 SignUp.php
而没有 [=22] =] 值,留给我一个空白页
为什么不直接更改表单操作以包含步骤变量,这样对于表单 1,操作将是
<form name="form1" action="/signup.php?step=2" method="post"></form>
对于表格 2,它将是
<form name="form2" action="/signup.php?step=3" method="post"></form>
要在提交表单之前检查表单值是否有效,您可以使用 pattern
和 required
属性,例如
<input name="firstname" pattern=".{3,}" required title="Your first name should be at least 3 characters long">
<input name="city" pattern=".{1,30}" required title="The country field shouldn't be more than 30 characters">
required
检查输入框是否已填写。
pattern
使用正则表达式模式来检查已根据...模式填充的值的类型。这里有更多信息:https://www.w3schools.com/tags/att_input_pattern.asp