为什么我的提交按钮不重定向到新页面(使用 PHP)
Why doesn't my submit button redirect to a new page (using PHP)
我试图在单击“确认”按钮时将我的页面重定向到 $PaymentPage。出于某种原因,当我单击它时,什么也没有发生。
我已经制作了表单方法post,我检查了如果提交,直接到$PaymentPage。
<form method="post"></form>
<div class="col-sm-offset-2 col-sm-4">
<button type="submit" class="btn btn-default">Confirm</button>
</div>
</form>
<?php
if ( isset( $_POST['submit'] ) ) {
header("Location: $PaymentPage", false);
}
?>
它应该会给你一个错误,你可以启用 error_reporting,你需要在任何输出之前添加 header,所以将它移到文件的顶部。
您还关闭了表单,这就是您的按钮没有任何作用的原因
<form method="post"></form>
由于其他一些嵌套问题,您过早地关闭了表单元素,还像这样将变量附加到字符串:
"String". $variable ." more string";
HTML:
<form method="post">
<div class="col-sm-offset-2 col-sm-4">
<input type="submit" name="button" class="btn btn-default" value="Confirm">
</div>
</form>
PHP:
<?php
$page = "http://www.google.com/";
if ( isset( $_POST['button'] ) ) {
header("Location: ". $page,false);
}
?>
这里有一些问题。首先,您的提交按钮没有名称属性来匹配条件语句,所以这永远不会发生。
此外,您在 header 之前输出 PHP。
然后,<form method="post">
之后的额外</form>
标签;需要删除。
因此,您需要将代码修改为:
<?php
if ( isset( $_POST['submit'] ) ) {
header("Location: $PaymentPage", false);
exit; // added to stop execution if more code is below it
}
else{
echo "It is not set.";
}
?>
<form method="post">
<div class="col-sm-offset-2 col-sm-4">
<button name="submit" type="submit" class="btn btn-default">Confirm</button>
</div>
</form>
错误报告会给你一个未定义的索引提交通知。
将 error reporting 添加到您的文件的顶部,这将有助于查找错误。
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
// rest of your code
旁注:显示错误只应在试运行中进行,绝不能在生产中进行。
N.B.:
现在,$PaymentPage
未定义,所以我不知道您在哪里定义它或该值应该是什么。
旁注:当未定义对另一个文件的操作时,表单默认为 "self"。
参考文献:
我试图在单击“确认”按钮时将我的页面重定向到 $PaymentPage。出于某种原因,当我单击它时,什么也没有发生。
我已经制作了表单方法post,我检查了如果提交,直接到$PaymentPage。
<form method="post"></form>
<div class="col-sm-offset-2 col-sm-4">
<button type="submit" class="btn btn-default">Confirm</button>
</div>
</form>
<?php
if ( isset( $_POST['submit'] ) ) {
header("Location: $PaymentPage", false);
}
?>
它应该会给你一个错误,你可以启用 error_reporting,你需要在任何输出之前添加 header,所以将它移到文件的顶部。
您还关闭了表单,这就是您的按钮没有任何作用的原因
<form method="post"></form>
由于其他一些嵌套问题,您过早地关闭了表单元素,还像这样将变量附加到字符串:
"String". $variable ." more string";
HTML:
<form method="post">
<div class="col-sm-offset-2 col-sm-4">
<input type="submit" name="button" class="btn btn-default" value="Confirm">
</div>
</form>
PHP:
<?php
$page = "http://www.google.com/";
if ( isset( $_POST['button'] ) ) {
header("Location: ". $page,false);
}
?>
这里有一些问题。首先,您的提交按钮没有名称属性来匹配条件语句,所以这永远不会发生。
此外,您在 header 之前输出 PHP。
然后,<form method="post">
之后的额外</form>
标签;需要删除。
因此,您需要将代码修改为:
<?php
if ( isset( $_POST['submit'] ) ) {
header("Location: $PaymentPage", false);
exit; // added to stop execution if more code is below it
}
else{
echo "It is not set.";
}
?>
<form method="post">
<div class="col-sm-offset-2 col-sm-4">
<button name="submit" type="submit" class="btn btn-default">Confirm</button>
</div>
</form>
错误报告会给你一个未定义的索引提交通知。
将 error reporting 添加到您的文件的顶部,这将有助于查找错误。
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
// rest of your code
旁注:显示错误只应在试运行中进行,绝不能在生产中进行。
N.B.:
现在,$PaymentPage
未定义,所以我不知道您在哪里定义它或该值应该是什么。
旁注:当未定义对另一个文件的操作时,表单默认为 "self"。
参考文献: