确定$ _POST的来源

时间:2012-07-09 19:24:44

标签: php

有没有一种简单的方法可以在PHP中找到post变量的来源?

表单上的example.com/formone.php

<form method="post" action="test.php">
<input name="myusername"type="text">
<input name="mypassword" type="password">
<input type="submit">
</form>

表单上的example.com/formtwo.php

<form method="post" action="test.php">
<input name="myusername"type="text">
<input name="mypassword" type="password">
<input type="submit">
</form>

我知道我可以使用隐藏的输入,但我想知道PHP是否有一种方法来测试POST的来源。

1 个答案:

答案 0 :(得分:8)

虽然您可以使用HTTP_REFERER服务器变量it is not very reliable。你最好的选择是使用一个隐藏的领域。

另一种方法是为提交input切换提交button。通过这种方式,您可以使用它传递值,保留按钮的标签,并在test.php页面内对其进行测试:

<button name="submit" type="submit" value="form1">Submit</button>

然后在PHP文件中测试:

if( $_POST['submit'] == "form1" )
    // do something