- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有这个代码。
$message = "";
if($_REQUEST['msg'] == "new"){
$message = "New User has been added successfully";
}else if($_REQUEST['msg'] == 'edit'){
$message = "User has been saved successfully";
}else if($_REQUEST['msg'] == 'update'){
$message = "User(s) has been Updated successfully";
}
谁能告诉我什么是['msg']并解释一下$_REQUEST的功能吗?
最佳答案
$_REQUEST
是一个超全局数组(来自 PHP 文档):
An associative array that by default contains the contents of $_GET,$_POST and $_COOKIE.
喜欢$_GET
, $_POST
, $_COOKIE
,和$_SESSION
,它可以关联地存储信息列表。以$_REQUEST
为例, $_POST
,和$_GET
这些数组将存储发送到 PHP header 的编码数据。
可能包含的内容示例(但不建议这样设置):
$_REQUEST['key1'] = 'value1';
$_REQUEST['streetAddress'] = '123 Baker St';
或者这里是一个从 GET 参数填充它的链接示例: <a href='?key=value'>value</a> // for $_GET and $_REQUEST
PHP 将从 URL 中获取该键->值并将其保存到您正在使用的超全局数组中。要访问它,请调用: echo $_REQUEST['key']; // displays 'value'
就您而言,到目前为止,浏览器还没有发送消息。它需要通过不同的方式(表单、href 等)传递。所以,
$_REQUEST['msg'] = 'new'; // not recommended to actually set it directly, purely illustrative of it already being set to something
if (isset($_REQUEST['msg'])) { // use isset() to avoid an error
if ($_REQUEST['msg'] == 'new') {
$message = 'New User has been added successfully';
} elseif ($_REQUEST['msg'] == 'edit') {
$message = 'User has been saved successfully';
} elseif ($_REQUEST['msg'] == 'update') {
$message = 'User(s) has been Updated successfully';
}
} // sets $message = "New user..."
使用$_REQUEST
不推荐。它违背了最佳实践,因为它使得很难控制处理哪些信息。 GET 参数、POST 参数和 cookie 都有不同的用途。最好决定您要处理的数据应来自哪些数据并使用 $_GET
, $_POST
,或$_COOKIE
因此。 $_GET
请求显示 URL 中的键->值对。您不希望可见的信息可能不应该显示在那里。 GET 适合指示用户正在访问的内容,但这样做并不等于请求的操作/更改。 POST 更适合用户请求执行某些操作(例如更新数据或发送电子邮件)时涉及的参数。在适当的时候使用 GET 而不是 POST 可以降低用户仅仅通过回击或为页面添加书签(例如意外地第二次购买某些东西)而意外地重新请求更改/操作的可能性,尽管它并不能完全消除这种情况可能性,因为这取决于浏览器在这些情况下是否重新发送 POST 数据。
如果您使用$_REQUEST
对于所有内容,用户可以通过 URL 发送键->值对,以查看需要传递哪些信息并以其他方式利用该信息(谷歌跨站点请求伪造)。相反,使用更具体的 $_GET、$_POST 和 $_COOKIE 变量会使他们尝试此操作变得更加困难。然而,使用这些实际上并不能保护您,因为您仍在处理 GET 参数、POST 参数或用户发送的 cookie。即便如此,最好限制代码在不同场景中处理哪些内容。最终,您仍然需要使用适当的技术来防止以危险的方式处理用户提供的值,但这是一个单独的主题。
TL;博士:$_REQUEST['msg']
-- 'msg' 是键->值对中的键('new'| 'edit' | 'update' 是值)。 $_REQUEST
是一个超全局数组,其中包含用户浏览器或其他客户端发送的 GET、POST 和 cookie 键和值。可以从 PHP 代码的任何部分访问它。
关于php - PHP 中的 $_REQUEST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29195602/
下面的代码可以从数据库中删除行,但不能插入。这是为什么? 最佳答案 试试这个: mysql_connect("localhost","formuser","password") or die(mys
在 /app/models/review.rb ,我有一种方法,旨在从 review#print 的输出创建 PDF行动。还旨在捕获我的整个打印样式表并在我处于生产模式时将其内联到标题中: def c
我有一个搜索表单,我想将搜索词 $_REQUEST 作为一个数组,这样我就可以列出每个搜索词,将每个词包装在一个跨度中以进行样式设置。我怎么做? 编辑:这是请求的代码。 更新:谢谢大家的回答
PHP 超全局变量 PHP 具有可以在脚本的任何范围内访问的全局变量。其中三个变量($_GET、$_POST、$_COOKIE)存储在第四个变量($_REQUEST >). $_GET An asso
我对 php 中的 $_REQUEST 全局变量有疑问。当您使用相同的变量名提交了一个 get 和一个 post 时,php 会为它们中的任何一个分配优先级吗? IE。如果我将 $_POST['var
考虑以下代码片段: 图表 A: $_REQUEST = json_decode(stripslashes(json_encode($_REQUEST, JSON_HEX_APOS)), true);
我有这个代码。 $message = ""; if($_REQUEST['msg'] == "new"){ $message = "New User has been added succes
我正在开发 ZEND 框架,这对我来说是新的,AJAX 也是如此。我尝试了很多例子,但没有一个起作用。 请告诉我这段代码是错误的。 home.phtml
我想将一个变量传递给我的 Controller ,并且无论其请求方法(POST 或 GET)如何,我都需要获取它的值,相当于 $_REQUEST['myvar'],我该怎么做? 最佳答案 要获取作为路
我正在尝试从 URL 向我的 facebook 应用程序传递一些变量,即像 facebook 想要的那样使用 GET 变量 app_data 。 在某些时候,我已经停止获取 $_REQUEST 的 [
我有一个与外部 API 交互的应用程序。当远程服务发布包含特定状态的请求时,我需要通过外部 URL 将该帖子的全部内容重新发送到不同的应用程序。 是否可以获取整个 $_REQUEST 并将其重新发布到
首先我要说的是我并不真正了解 PHP...我正在为一个项目摆弄它。 我正在将数据从 Java 程序发布到我的 .php 文件。我当前的问题是,现在我希望我的 Java 函数将数据发布到 PHP 文件,
我无法使用 PHP 获取文本字段 new_list_id 的值。这是我的代码: New Input 101 102 var selectm
我有一个将数据插入 mySQL 的表单。效果很好。 提交后,我有一个显示“part_no”的成功页面。我还需要显示“add_qty”。 如何更改我的帖子脚本以在成功页面上显示两个字段数据? 这是我的代
运动选项的类型是从我拥有所有运动类型的数据库中选择的。Type_sport 包含运动的名称。一切都很好,数据库中的所有运动都显示在选项列表中。但是,当选项来自数据库时,我如何 $_REQUEST 用户
我在 html 文件中有表单,它是文件正文 function f() { var name = document.getElement
我有一些像这样的简单代码: "; echo $_COOKIE['user']; ?> 这是结果: Notice: Undefined index: user in D:\interpub\wwwroo
我最近在 PHP 脚本中遇到了这一行: $_REQUEST['start_date']=$date; 以任何方式为 super 全局 $_REQUEST 变量赋值是否允许或有用?如果有 $_COOKI
$p = (isset($_REQUEST["p"])?$_REQUEST["p"]:""); 这是我通常在我的 php 代码中使用的公共(public)行。我总是假设是否有更好(更小和更快)的方式来
最近我遇到了一些与 PHP 相关的流行答案,建议使用超全局 $_REQUEST,我认为这是代码味道,因为它让我想起了 register_globals. 您能否提供一个很好的解释/证据来说明为什么 $
我是一名优秀的程序员,十分优秀!