Php高手带路

preview
需积分: 0 21 下载量 112 浏览量 更新于2008-09-22 收藏 41KB DOC 举报
【PHP 高手带路】本文汇总了一些 PHP 开发中的常见问题及解决方案,旨在帮助开发者提升 PHP 技能。以下是一些关键知识点: 1. **变量获取**:在 PHP4.2 及更高版本中,`register_globals` 默认关闭。要获取通过 POST 或 GET 传递的变量,可以: - 修改 `php.ini` 文件,将 `register_globals` 设置为 `on`。 - 使用 `extract($_POST)` 和 `extract($_GET)` 函数,一次性提取所有变量,但注意安全性问题。 - 或者逐个读取变量,如 `$a=$_GET["a"]`,这种方法更安全。 2. **调试程序**:创建一个名为 `debug.php` 的文件,包含以下代码,用于显示当前页面的 GET、POST、COOKIE 和 SESSION 变量: ```php <?php ob_start(); session_start(); echo "<pre>"; echo "本页得到的_GET 变量有:"; print_r($_GET); echo "本页得到的_POST 变量有:"; print_r($_POST); echo "本页得到的_COOKIE 变量有:"; print_r($_COOKIE); echo "本页得到的_SESSION 变量有:"; print_r($_SESSION); echo "</pre>"; ``` 然后将 `include_path` 设置为 PHP 文件所在的目录,并在每个需要调试的页面中包含 `debug.php`。 3. **使用 session**: - 在处理 session 之前,必须先调用 `session_start()` 函数。 - 在 PHP4.2 之前的版本,设置 session 值需使用 `session_register()`,如 `Session_register("Name")`。 - 自 PHP4.2 起,可以直接赋值给 `$_SESSION`,如 `$_SESSION["name"] = "value"`。 - 取消 session 可以使用 `session_unset()` 清除所有 session 变量,然后用 `session_destroy()` 销毁 session。 - 注意:`session_start()` 前不能有任何输出,否则会提示“headers already sent”。 4. **错误处理**: - 当出现“headers already sent”错误时,表示在调用 `session_start()` 之前有输出,需检查并删除这些输出。 - 如果 `session_start()` 放在循环中,且难以定位输出位置,可使用 `ob_start()` 来捕获输出。 5. **session 文件路径**: - 当遇到错误“Warning: session_start(): open(/tmp/sess_...”, 提示无法打开 session 文件,通常是因为未指定 session 存储路径。 - 解决方法是创建指定的存储路径,如在 C 盘创建 `tmp` 文件夹,并在 `php.ini` 中设置 `session.save_path` 为该路径。 以上是 PHP 开发中关于变量获取、调试、session 使用和错误处理的一些实用技巧。理解并熟练应用这些知识,将有助于提升 PHP 编程效率和代码质量。
yangjie83102
  • 粉丝: 2
  • 资源: 8
上传资源 快速赚钱
voice
center-task 前往需求广场,查看用户热搜