background image

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 代码:——————————————————————————–
Ob_Start();
Session_Start();
Echo ”
";
Echo "本页得到的_GET 变量有:";
Print_R($_GET);
Echo "本页得到的_POST 变量有:";
Print_R($_POST);
Echo "本页得到的_COOKIE 变量有:";
Print_R($_COOKIE);
Echo "本页得到的_SESSION 变量有:";
Print_R($_SESSION);
Echo "
“;
——————————————————————————–
然后在 php.ini 中设置:include_path = “c:/php”,并将 debug.php 放在此文件夹,
以后就可以在每个网页里包含此文件,查看得到的变量名和值.
3:如何使用 session
凡是与 session 有关的,之前必须调用函数 session_start();
为 session 付值很简单,如:
PHP 代码:——————————————————————————–
[php]
Session_start();
$Name = “这是一个 Session

例子 ;

Session_Register(“Name”);//注意,不要写成:Session_Register(“$Name”);
Echo $_SESSION["Name"];