我有一个使用method="POST"
如果在处理请求的脚本中未满足条件,我应该使用POST
或类似内容销毁UNSET
数据,还是应该将其保留在那里。
这些数据会怎样? PHP会破坏它吗?
示例:
$a = 1;
if(isset($_POST['a'],$_POST['b'],$_POST['c'],$_POST['d'],$_POST['e'])) {
if($a == 1) {
echo 'Success'; // Do something with the data
} else {
// Should the above `POST` data be left as is, or should it be UNSET or...
}
} else {
echo 'Error';
}
答案 0 :(得分:1)
当你请求页面时,php处理php脚本从第1行到结尾。在那之后,所有变量,对象和其他所有东西都会消失,就像它不存在一样。
我应该使用UNSET或类似的东西销毁POST数据
不,你不必这么做,因为它神奇地消失了,好像它从未出现在php到达页面末尾时。
$_POST
就像任何其他变量一样。没有什么特别之处,除非您不必手动创建它。它就像其他变量一样在脚本结束时被自动销毁
session data
(通常在服务器上的文件中)对象cookies
(作为浏览器中的文件)答案 1 :(得分:0)
您可以直接离开。当您导航到其他网页时,这些($_POST
或$_GET
)数据将无法到新导航的网页无论如何。 ,所以在这种情况下,取消是毫无意义的。
答案 2 :(得分:0)
为什么要取消设置* $ _ POST *或* $ _ GET *? 这不会给你任何好处。
我建议你将感兴趣的$ _POST / $ _ GET数组索引复制到另一个变量中,并将它们放在那个新变量中,或者只是将新变量设置为 null
此外,在您的代码中,如果$a == 1
条件为真,您只需要检查是否设置了$ _POST索引,否则您只需花费处理时间和内存。
答案 3 :(得分:0)
您不需要销毁$ _GET或$ _POST全局变量。当php完成执行时,它们将被自动销毁。