2014-11-20 99 views
-1

有两页(比如1和Page 2)在我的项目,可以提交一个表单到第三页。 我需要根据这两页中的哪一页提交表单,以不同的方式组合第三页。确定将表单提交给当前页面的页面?

问:在第三页的情况下(从第1页第2页或导航),我怎么能确定哪些页面(第1页出和PAG2的)提交表单?

+0

使用的'isset()函数',并添加一个关键参考每个。 – 2014-11-20 17:33:24

回答

2

您可以使用HTTP引用,但因为它是由客户端进行控制这可能是不可靠的。浏览器可以配置为不发送引用者,在这种情况下,表单将会中断。

最可靠的选择是明确发送当前页面中的隐藏字段在您的形式。你可以得到当前页面的名称是这样的:

$current_page = basename($_SERVER['PHP_SELF']); 

然后,在你的HTML:

<input type="hidden" name="last_page" value="<?php echo $current_page; ?>"> 

如果你担心用户修改隐藏字段,你可以在存储这个值一个会话变量。

+0

'<?='假设OP的短打开标签设置/当然;)有些不知道这些。否则OP将需要执行'<?php echo'。 – 2014-11-20 17:37:33

+0

页面的$ _POST值如何?发件人页面的整个网址?我的意思是,接收方页面将在$ _POST数组中获得的值。 – jvktr 2014-11-20 18:02:47

+0

我测试了它,发现它是发件人页面文件名的名称。非常感谢/ u/nullability :) – jvktr 2014-11-20 18:11:01

0

$_SERVER["HTTP_REFERER"]说明你以前的页面。所以,如果你提交表单你现在可以抓住它

0

我建议$_SERVER["HTTP_REFERER"]那么你可以使用parse_url分析所有URL部分