我对$_POST, $_GET, $_REQUEST
中的这些超全局变量(php
)感到有点困惑。我想知道在php
中使用这些变量需要哪种情况,这三种代表的主要区别是什么?
答案 0 :(得分:3)
$ _ POST 是使用application / x-www-form-urlencoded或multipart / form-data作为HTTP内容时通过HTTP POST方法传递给当前脚本的关联变量数组 - 输入请求。 您可以在向服务器发送大数据时使用,或者如果您有密码,信用卡详细信息等敏感信息,则可以使用
$ _ GET 是通过URL参数传递给当前脚本的关联变量数组。您可以在有少量数据时使用它,它主要用于分页,页码显示在网址中,您可以使用$ _GET
轻松地从URL获取页码 $ _ REQUEST 是'超全球'或自动全局变量。这仅仅意味着它在整个脚本的所有范围内都可用。它是一个关联数组,默认包含$ _GET,$ _POST 和$ _COOKIE 的内容(取决于request_order=
)
答案 1 :(得分:2)
有两种方法可以将HTML表单数据从1页发送到另一页或将HTML页发送到服务器端(在PHP中)。
POST
这是一种使用数据包发送数据的方法,该数据包对于Web浏览器的任何用户都不可见。与GET方法相比,它是安全的。
GET
这是一种使用URL发送数据的方法,该URL在任何Web浏览器的地址栏中均对用户可见。因此,它作为POST方法并不安全。
现在,共有三个超全局变量可以在PHP中捕获此数据。
$_POST
:它可以捕获使用POST方法发送的数据。$_GET
:它可以捕获使用GET方法发送的数据。$_REQUEST
:它可以捕获使用POST和GET方法发送的数据。也可以使用$_GET
超全局变量来收集通过“提交”按钮在URL中发送的数据。
答案 2 :(得分:1)
区别在于:
DataGridView grid_records = new DataGridView();
grid_records.DataSource = dset;
//grid_records.DataBind();
Response.Clear();
Response.Buffer = true;
Response.ClearContent();
Response.ClearHeaders();
Response.Charset = "";
string FileName = "UIDAI" + DateTime.Now + ".xls";
StringWriter strwritter = new StringWriter();
HtmlTextWriter htmltextwrtter = new HtmlTextWriter(strwritter);
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.ContentType = "application/vnd.ms-excel";
Response.AddHeader("Content-Disposition", "attachment;filename=" + FileName);
grid_records.GridLines = GridLines.Both;
grid_records.HeaderStyle.Font.Bold = true;
grid_records.RenderControl(htmltextwrtter);
Response.Write(strwritter.ToString());
//Response.End();
Response.Flush();
Response.SuppressContent = true;
HttpContext.Current.ApplicationInstance.CompleteRequest();
答案 3 :(得分:-1)
要了解更好,请访问http://www.diffen.com/difference/GET-vs-POST-HTTP-Requests
1)
$_GET
和$_POST
都会创建一个数组,例如array( key => value, key2 => value2, key3 => value3, ...)
。此数组包含键/值对,其中键是表单控件的名称,值是来自用户的输入数据。2)
GET
和POST
都被视为$_GET
和$_POST
。这些是超级全局,这意味着它们始终可以访问,无论范围如何 - 您可以从任何函数,类或文件访问它们,而无需执行任何特殊操作。3)
$_GET
是通过URL参数传递给当前脚本的变量数组。4)
$_POST
是通过HTTP POST方法传递给当前脚本的变量数组。----而
$_REQUEST
包含$_POST
,$_GET
和$_COOKIE
。
希望它有所帮助。