当前位置:  开发笔记 > 编程语言 > 正文

PHP用POST数据打开另一个网页

如何解决《PHP用POST数据打开另一个网页》经验,为你挑选了2个好方法。

我是PHP的新手,我正在尝试做一些可能不好的事情并且可能是不可能的.我基本上只是在一起黑客攻击测试我的知识,看看PHP能做些什么.

我有一个网页,其中包含收集数据的表单.这是一个PHP脚本,它执行一堆处理 - 但实际上并没有显示任何重要的东西.我想要的是,一旦处理完成,脚本就会告诉浏览器打开另一个页面,显示结果.

我知道我可以使用标题('Location:page.php'); 但我无法弄清楚如何提供POST数据.我怎样才能做到这一点?或者,是否有另一种方法告诉浏览器打开另一个页面?

编辑:我从回复中得到的是,使用各种黑客可以做到这一点,但我最好将处理和显示代码放在一个文件中.我很高兴; 这个实验比什么都重要.



1> Tom Haigh..:

您可以将该数据存储在会话中,例如在处理帖子的第一个文件中

session_start();
$_SESSION['formdata'] = $_POST; //or whatever

然后你可以在下一页上阅读它

session_start();
print_r($_SESSION['formdata']);

或者你可以通过GET传递它:(但根据评论,这是一个坏主意)

header('Location: page.php?' . http_build_query($_POST)); 

如果这样做,请确保在page.php上执行其他处理/验证,因为恶意用户可能会更改变量.您也可能不需要将整个帖子传输到下一页

编辑

我应该明确指出,我认为第二种选择可能更糟糕,因为您可以通过get发送的数据大小受限,并且可能不太安全,因为用户可以更明显地操纵数据.



2> Josh Smeaton..:

处理完成后是否真的需要调用另一个页面?我可能会做以下事情:

...

Display.php的:

if ($_POST) {
    require_once(process.php);
    process($_POST);
    display_results;
}

with process.php包含处理post请求所需的代码.

或者,您可以使用类似cURL库的内容将处理结果传递给您自己指定的页面.不知道这是不是你真正想要的.

推荐阅读
惬听风吟jyy_802
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有