HTML按钮:单击时重定向

Lon*_*ple 2 html php forum login mybb

<input type='submit' name='submit' value='Register' class='register' />
Run Code Online (Sandbox Code Playgroud)

如何点击链接到网站?

Fun*_*ner 9

这是使用PHP header()函数使用当前代码(提交类型按钮)执行此操作的一种方法.

(handler.php)

<?php
if(isset($_POST['submit'])){
header("Location: http://www.example.com/page.php");
exit;
}
Run Code Online (Sandbox Code Playgroud)

而且我假设您在问题中使用了代码,类似于以下内容:

<form action="handler.php" method="post">
Username: 
<input type='text' name='username' />
<input type='submit' name='submit' value='Register' class='register' />
</form>
Run Code Online (Sandbox Code Playgroud)

当然,我没有$username=$_POST['username'];在PHP中包含可能的内容,具体取决于您将如何使用它.


编辑

在阅读时mplungjan's comment略有改名.我还不知道为什么使用这个名字submit被认为是不安全的,因为我试图在Google上找到(或者说)原因.我希望得到或找到这种影响的答案.

(编辑 - 调查结果)查看我迄今发现的下面的进一步信息.

(handler.php)

<?php
if(isset($_POST['reg_button'])){
header("Location: http://www.example.com/page.php");
exit;
}
Run Code Online (Sandbox Code Playgroud)

而且我假设您在问题中使用了代码,类似于以下内容:

<form action="handler.php" method="post">
Username: 
<input type='text' name='username' />
<input type='submit' name='reg_button' value='Register' class='register' />
</form>
Run Code Online (Sandbox Code Playgroud)

发现:

关于mplungjan评论中提到的主题,我遇到的文章:


如果您打算使用PHP(服务器端)方法,请考虑使用以下内容,这是从本网站关于跨站点脚本编写的文章中借用的.

<input name="foo" value="<?php print htmlspecialchars($foo); ?>">
Run Code Online (Sandbox Code Playgroud)

在你的情况下:

<input type='submit' name='reg_button' value='<?php print htmlspecialchars($reg_button); ?>' class='register' />
Run Code Online (Sandbox Code Playgroud)

借鉴mplungjan's评论:

1)从不调用提交按钮name="submit"
2)使用链接或按钮<input type="button" onclick="location='somepage.html'" />
3)只需使用name="Submit"或者submitted将避免问题.

(感谢额外的输入mplungjan).