• PHP中$_REQUEST中包含的数据,数据被覆盖问题


    这个问题涉及到php.ini中的两个变量。

    variables_order = "EGPCS"
    variables_order 系统在定义PHP预定义变量,EGPCS 是 Environment, Get, Post, Cookie, and Server 的简写。 
    这个变量主要是在php执行时,对超级变量创建的设置。EGPCS对应的超级变量为$_ENV,$_GET,$_POST,$_COOKIE,$_SERVER。如果variables_order被设置为"",则对应的超级全局变量的值都为空数组。所以,要想$_REQUEST包含的预定义变量的值,variables_order必须有对应的设置。例如,variables_order = "G",则$_REQUEST中肯定不会有post的值。
    在register_globals=on的情况,这个配置的顺序将影响对应变量的值,重复key,后边的会覆盖前边的。
    request_order = "PGC"
    这个变量,说明$_REQUEST包含哪些类型的外部数据、数据加载的顺序。这个是有顺序的,如果key重复,后边的就会覆盖前边的值。
    比如,$_GET里面有个$_GET['id']=2,$_POST里有一个$_POST['id']=3。如果request_order = "PG"的形式设置,那么$_REQUEST['id']=2。如果request_order = "GP"的形式设置,则$_REQUEST['id']=3。
     
    $_REQUEST的实际应用中,要避免Cookie中的值覆盖Get, Post的值。尽量少用$_REQUEST,能不用就不用。
  • 相关阅读:
    「from CommonAnts」寻找 LCM
    P3380 二逼平衡树 [树状数组套可持久化主席树]
    [模板]二次剩余(无讲解)
    [校内训练19_09_10]sort
    [校内训练19_09_06]排序
    [校内训练19_09_06]直径
    [校内训练19_09_05]ca
    [校内训练19_09_02]不同的缩写
    [校内训练19_09_03]c Huge Counting
    [校内训练19_09_02]C
  • 原文地址:https://www.cnblogs.com/tdkj/p/3145163.html
Copyright © 2020-2023  润新知