<input type='submit' name='submit' value='Register' class='register' />
如何在点击时创建网站链接?
以下是使用PHP的header()
函数对当前代码(提交类型按钮)执行此操作的一种方法。
(handler.php)
<?php
if(isset($_POST['submit'])){
header("Location: http://www.example.com/page.php");
exit;
}
我假设你的问题中有代码,类似于的影响
<form action="handler.php" method="post">
Username:
<input type='text' name='username' />
<input type='submit' name='submit' value='Register' class='register' />
</form>
当然,我没有在你的PHP中包含可能的$username=$_POST['username'];
,这取决于你将如何使用它
编辑
在阅读mplungjan's comment
后,对名称进行了轻微更改。我还不知道为什么使用submit
这个名字被认为是不安全的,因为我试图在谷歌上找到原因。我希望得到或找到一个答案,以应对这种影响。
(编辑调查结果)请参阅下面我迄今为止发现的更多信息。
(handler.php)
<?php
if(isset($_POST['reg_button'])){
header("Location: http://www.example.com/page.php");
exit;
}
我假设你的问题中有代码,类似于的影响
<form action="handler.php" method="post">
Username:
<input type='text' name='username' />
<input type='submit' name='reg_button' value='Register' class='register' />
</form>
调查结果:
我遇到的关于mplungjan
在评论中提到的主题的文章:
- 为什么
NAME
属性被认为是不安全的 - 跨站点脚本
- 在php-security.org上
如果您要使用PHP(服务器端)方法,请考虑使用以下方法,这是从本网站关于跨站点脚本的文章中借来的。
<input name="foo" value="<?php print htmlspecialchars($foo); ?>">
在您的情况下:
<input type='submit' name='reg_button' value='<?php print htmlspecialchars($reg_button); ?>' class='register' />
借用mplungjan's
注释:
1) 永远不要调用提交按钮name="submit"
2)使用链接或按钮<input type="button" onclick="location='somepage.html'" />
3)只需使用name="Submit"
或submitted
即可避免问题。
(感谢额外的输入mplungjan
)。
您必须了解正在使用的标记的默认行为。提交输入标记,将用户发送到表单操作。我不确定你想做什么,所以我也不确定你是否使用了正确的标签。也许可以考虑锚定标签?
考虑到这个模糊的问题,我的最佳猜测是:
<form action="{URL}" method="post">
<input type='submit' name='submit' value='Register' class='register' />
</form>
或
<a href="{URL}">Register</a>
<input type="button" onclick="window.location='YourUrlHere'" class="register" value="Register"/>
您可以使用锚点标记来解决此问题,锚点标记用于通过单击从一个页面重定向到另一个页面。在这里你可以如下使用:
<a href="url"><input type='submit' name='submit' value='Register' class='register' /></a>
注意:href是包含所需目的地路径的标记。就是这样,继续编码…:)
您可以使用刚才所说的<a href="{URL}">Register</a>
,或者如果您愿意,也可以使用按钮标记<button onclick="myFunction()">Click me</button>
,其中myFunction是其他页面的JavaScript代码