在上一篇文章中我们介绍了“$_POST”和“$_GET”,但是我们忘记介绍“$_REQUEST”,这篇文章就将这最后一部分给介绍了,让php收集表单数据这一趴完美结束。
首先我们来看一下栗子,这都成为我们约定俗成的啦。
<!DOCTYPE html> <html> <body> <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>"> Name: <input type="text" name="fname"> <input type="submit"> </form> <?php $name = htmlspecialchars($_REQUEST['fname']); echo $name; ?> </body> </html>
结果是
为了与上一篇文章的“$_POST”形成对比,我特意将栗子写的与“$_POST”相似。但是光看结果,好像没有什么区别,都是在输入框中输入信息,点击提交的时候,页面就会出现我们刚刚输入好的信息。我们再去看看代码,好像代码方面有所区别,form标签的method属性值还为post,只是在“<?php
”与“?>
”之间不在是“$_POST['fname']
”,而是“$_REQUEST['fname']
”。这可能是他们之间地方区别吧。
当然我们先来具体看看$_REQUEST。
PHP $_REQUEST 用于收集HTML表单提交的数据。当用户通过点击 "Submit" 按钮提交表单数据时, 表单数据将发送至<form>标签中 action 属性中指定的脚本文件。 在这个实例中,我们指定文件来处理表单数据。如果你希望其他的PHP文件来处理该数据,你可以修改该指定的脚本文件名。 然后,我们可以使用超级全局变量 $_REQUEST 来收集表单中的 input 字段数据。
我们具体看看$_REQUEST与$_POST、$_GET之间的区别吧。
$_REQUEST[]具用$_POST[]和$_GET[]的功能,但是$_REQUEST[]比较慢。通过post和get方法提交的所有数据都可以通过$_REQUEST数组获得。
EGPCS
就是说明用$_REQUEST数组获取内容的优先级,其字母的含义分别代表为:E代表$_ENV
,G代表$_GET
,P代表$_POST
,C代表$_COOKIE
,S代表$_SESSION
。后面出现的数据会覆盖前面写入的数据,其默认的数据写入方式就是EGPCS,所以POST包含的数据将覆盖GET中使用相同关键字的数据。
就说到这里了,有其他想知道的,可以点击这个哦。→ →php视频教程
以上就是除了$_GET和$_POST,还有其他方法可以收集表单数据吗?的详细内容,更多请关注自由互联其它相关文章!