$ _REQUEST在PHP中

Sac*_*dav 2 php request

我有这个代码。

$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";
}
Run Code Online (Sandbox Code Playgroud)

有人可以在这里告诉我[[msg]]是什么,并请说明$ _REQUEST的功能吗?

小智 8

$ _REQUEST是一个超级全局数组。就像$ _GET,$ _ POST,$ _ COOKIE,$ _ SESSION等一样,这意味着它可以以数字方式或关联方式存储列表信息。

例如:关联: $array = array(key->value, key->value); 数字: $array = array([0]->value, [1]->value);

对于$ _REQUEST或$ _POST或$ _GET,这些数组将存储发送到PHP标头的编码数据。

例如: $_REQUEST['key'] = value;

要么

您有一个导航项: <a href='?key=value'>value</a> //for $_GET

PHP将把key-> value编码为url并将其保存到您正在使用的超级全局数组中。要访问它,请致电: echo $_REQUEST['key']; //returns 'value'

就您而言,到目前为止,味精尚未编码到浏览器中。它需要通过不同的方式(形式,href等)传递。所以,

 $_REQUEST['msg'] = 'new';
 if(isset($_REQUEST['msg'])){       //use isset() to avoid an error
    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";
    }
}                           //returns $message = "New user..."
Run Code Online (Sandbox Code Playgroud)

建议不要使用$ _REQUEST,因为它会使控制哪些信息变得困难。$ _GET请求在URL中显示键->值对。您不希望看到的信息可能不应在此处显示。使用$ _REQUEST,用户可以在网址上发送该键-值对,以查看需要传递哪些信息并以其他方式加以利用(谷歌跨站点请求伪造)。

TL; DR:$ _REQUEST ['msg']-'msg'是键->值对中的键('new'|'edit'|'update'是值)

$ _REQUEST是一个超全局数组,它保存用户可以在网站其他部分的任何范围中使用的值。