PHP:$ _POST / $ _ COOKIE变量

时间:2012-03-27 12:37:03

标签: php post cookies

我已经下载了这样的脚本:

$QUERY_STRING="login";

if (file_exists("passwd.dat") && $QUERY_STRING != ""):
     require ("passwd.dat");
     if (!isset($alogin) || md5($pass) != $Password[$alogin] || !isset($Password[$alogin])):
          $logined = 0;
          //$error = "Неверный логин или пароль!<br>";
          setcookie("alogin","",0);
          setcookie("pass","",0);
     else:
          $logined = 1;
          setcookie("alogin",$alogin,time()+60*60*24*30*12);
          setcookie("pass",$pass,time()+60*60*24*30*12);
     endif;
endif;
?>

它在远程服务器上工作正常,但不适用于本地服务器。正如我所知,在远程机器上,$ _POST / $ _ COOKIE数组被“解包”到只有变量,例如如果$ _POST ['abc']已定义,您可以通过$ abc访问它。它是什么机制?只是不知道在哪里看......

2 个答案:

答案 0 :(得分:5)

此设置称为register_globals您永远不应该使用。您应该修改脚本,以便它直接访问$_POST['abc'],这是正确的方法。

如果脚本很长和/或很复杂,那么只需接受它是垃圾并发现更好的事实。

答案 1 :(得分:3)

这称为register_globals,自PHP 5.3.0起不推荐使用。