Php部分常见问题总结.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

PHP编程

PHP编程

Php部分常见问题总结

第PAGE10页共26页

Php部分常见问题总结

1:为什么我得不到变量

我在一网页向另一网页POST数据name,为什么输出$name时却得不到任何值?

在PHP4.2以后的版本中register_global默认为off

若想取得从另一页面提交的变量:

方法一:在PHP.ini中找到register_global,并把它设置为on.

方法二:在接收网页最前面放上这个extract($_POST);extract($_GET);(注意extract($_SESSION)前必须要有Session_Start()).

方法三:一个一个读取变量$a=$_GET[a];$b=$_POST[b]等,这种方法虽然麻烦,但比较安全.

2:调试你的程序

在运行时必须知道某个变量为何值。我是这样做的,建立一文件debug.php,其内容如下:

PHP代码:

?PHP

Ob_Start();Session_Start();Echopre;

Echo本页得到的_GET变量有:;Print_R($_GET);

Echo本页得到的_POST变量有:;Print_R($_POST);

Echo本页得到的_COOKIE变量有:;Print_R($_COOKIE);

Echo本页得到的_SESSION变量有:;Print_R($_SESSION);

Echo/pre;

?

然后在php.ini中设置:include_path=c:/php,并将debug.php放在此文件夹,

以后就可以在每个网页里包含此文件,查看得到的变量名和值.3:如何使用session

凡是与session有关的,之前必须调用函数session_start();

为session赋值很简单,如:PHP代码:

?phpSession_start();

$Name=这是一个Session例子;Session_Register(Name);//注意,不要写成:Session_Register($Name);

Echo$_SESSION[Name];

//之后$_SESSION[Name]为这是一个Session例子

?

在php4.2之后,可以为session直接赋值:PHP代码:

?PHP

Session_Start();

$_SESSION[name]=value;

?

取消session可以这样:PHP代码:

?phpsession_start();session_unset();

session_destroy();

?

取消某个session变量在php4.2以上还有BUG.

注意:

1:在调用Session_Start()之前不能有任何输出.例如下面是错误的.

==========================================

行?PHP

行Session_Start();//之前在第一行已经有输出

4行

5行?

==========================================

提示1:

凡是出现headersalreadysent,就是Session_Start()之前向浏览器输出信息.

去掉输出就正常,(COOKIE也会出现这种错误,错误原因一样)提示2:

如果你的Session_Start()放在循环语句里,并且很难确定之前哪里向浏览器输出信息,

可以用下面这种方法:

1行?PHPOb_Start();?

这里是你的程序

2:这是什么错误

Warning: session_start():open(/tmp\sess_7d190aa36b4c5ec13a5c1649cc2da23f,O_RDWR)failed:

因为你没有指定session文件的存放路径.

解决方法:

在c盘建立文件夹tmp

打开php.ini,找到session.save_path,修改为session.save_path=c:/tmp

4:为什么我向另一网页传送变量时,只得到前半部分,以空格开头的则全部丢失PHP代码:

?php

$Var=hellophp;//修改为$Var= hellophp;试试得到什么结果

$post=receive.php?Name=.$Var;header(location:$post);

?

receive.php的内容:

PHP代码:

?PHP

Echopre;

Echo $_GET[Name];Echo/pre;

?

正确的方法是:

PHP代码:

?p

文档评论(0)

tianya189 + 关注
官方认证
文档贡献者

该用户很懒,什么也没介绍

认证主体阳新县融易互联网技术工作室
IP属地上海
统一社会信用代码/组织机构代码
92420222MA4ELHM75D

1亿VIP精品文档

相关文档