蓝盟诗人[LUC]蓝客联盟

忘记密码

PHP中form表单提交以及Sessions问题

2011-03-09 23:32 作者: 来源: 本站 浏览: 1,602 views 我要评论 字号:

新版的PHP已经废弃了原来的表单内容处理方式,即不再把提交的表单的内容直接 
   复制到一个同名变量中。解决办法有四个: 
   1. 修改php.ini,查找 register_globals,将其值修改为 On。这样就可以像原 
      来一样,例如,提交的表单中包括一个名为"username"的变量,那么在php中 
      就可以直接使用$username来访问该变量。但是,除非你要使用一段旧的代码 
      而考虑到兼容性问题,否则不建议使用该方法。 
   2. 使用 $HTTP_GET_VARS、$HTTP_POST_VARS数组来访问,例如写成 
      $HTTP_POST_VARS["username"]的形式。不过该方法也不建议采用。 
   3. (推荐)使用 $_POST、$_GET等数组来访问,例如写成 $_POST["username"]的 
      形式。建议采用这种方法。 
   4. (推荐)使用 import_request_variables 函数。该函数将提交内容导入到变 
      量中。例如  import_request_variables("gp", "rvar_"); 
      第一个参数可以选择g,p,c,分别表示导入 GET,POST,COOKIE 变量;第二个参数 
      为导入后的变量前缀。执行上面的语句后即可使用 $rvar_username 来访问提交 
      的 username 变量。 
Tips: 第三项中提到的预设变量有: $GLOBALS, $_SERVER, $_GET, $_POST, $_COOKIE, 
      $_FILES, $_ENV, $_REQUEST, $_SESSION等。详细信息请参考PHP手册。 
    
     在Windows+Apache+PHP不能正常使用Session的原因 
A. PHP将session保存到服务器的一个目录中。由于PHP原本是为UNIX设计的,因此 
   该目录默认为 /tmp。因此在Windows下使用session时,需要将该目录修改为正 
   确的目录。 
   修改方法是:打开php.ini文件,查找变量session.save_path,然后将它的值 
       (默认是/tmp)修改为你的计算机上存在的目录,例如C:\WINNT\Temp。 
但是应该写为C:/WINNT/Temp(W2K Sd Server /Win2003 Server) 

打印
分享到:
复制链接

发表评论

*

* (保密)

Ctrl+Enter 快捷回复

会员登录关闭

记住我 忘记密码

注册会员关闭

小提示: 您的密码会通过填写的"电子邮箱"发送给您.

/** **/