PHP:可以自动获取所有POSTed数据吗?

2022-08-30 09:08:42

简单的问题:即使您不知道所有字段,是否有可能将所有数据POST到一个页面?

例如,我想编写一个简单的脚本来收集任何POSTed数据并通过电子邮件发送。我可以预见到,表单中的字段可能会随着时间的推移而发生很大变化,因此从长远来看,为了节省一些时间,我想知道我是否可以编写一些自动收集所有内容的东西?

可能吗?


答案 1

确定。只需遍历数组:$_POST

foreach ($_POST as $key => $value) {
    echo "Field ".htmlspecialchars($key)." is ".htmlspecialchars($value)."<br>";
}

答案 2

没有人提到原始帖子数据,但很高兴知道,如果发布的数据没有键,只有值,请使用原始帖子数据

$postdata = file_get_contents("php://input");

PHP 人:

php://input 是一个只读流,允许您从请求正文中读取原始数据。在POST请求的情况下,最好使用 php://input 而不是$HTTP_RAW_POST_DATA,因为它不依赖于特殊的php.ini指令。此外,对于默认情况下未填充$HTTP_RAW_POST_DATA 的情况,它是激活always_populate_raw_post_data的内存密集程度较低的替代方法。php://input 不适用于 enctype=“multipart/form-data”。


推荐