當前位置:學者齋 >

計算機 >php語言 >

PHP編程小經驗總結

PHP編程小經驗總結

在PHP代碼中,所有的工作都運行在PHP的內存空間中,也就是説PHP不是基於COM對象的,所以的他的運行速度會快一些。以下是小編整理的PHP編程小經驗總結,就跟隨小編去了解下吧,想了解更多相關信息請 持續關注我們應屆畢業生考試網!

PHP編程小經驗總結

1、為什麼PHP的echo多行批量輸出為空白?

答:

echo <<<hdv

內容1;

內容2;

hdv;

//hdv必須頂格,並且且後面似乎也不能有任何字符包括空格輸出;

2、在使用session_start()函數時,為什麼PHP輸出空白?

答:必須設置D:usrlocalphp目錄下的文件裏面的_path

存儲路徑,並且該路徑必須為實際存在的路徑,否則輸出為空白,也就是沒有任何輸出。

還需要注意:

有些USR目錄的快捷方式到的文件,可能不是指向D:usrlocalphp,而是指向%SystemRoot%目錄的,所以在使用自帶快捷方式編輯文件的時候,要注意實際的編輯對象。

3、為什麼我升級PHP後,原來的程序出現滿屏的 Notice: Undefined variable?

答:這是警告的意思,由於變量未定義引起的`,打開,找到最下面的error_reporting,修改為error_reporting = E_ALL & ~E_NOTICE

對於Parse error錯誤error_reporting(0)無法關閉。

如果你想關閉任何錯誤提示,請打開,找到display_errors,設置為display_errors = Off.以後任何錯誤都不會提示。

4、經驗:PHP函數傳遞數組,要求參數必須是數組形式,不能為常量或者非數組變量。

5、如何更好的分析URL以及引用或提取URL路徑問題?

答:

echo "<pre>;";

print_r($_SERVER);

所有服務器方法都會顯示出來。

6、為什麼使用COOKIE傳遞變量會失敗?

答:

請先檢查COOKIE中的服務器端作用域設置情況,有可能因為作用域問題總是傳遞不過去變量;

7、為什麼有時候採用非IE默認編碼字符的網頁有時候可以正常顯示有時候不可以正常顯示,甚至什麼都不顯示(顯示空白)?

答:

請注意,把字符默認編碼設置放到TITLE之前,先後次序如下(事例):

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>登錄管理系統-管理員控制面板</title>

請不要把<title></title>設置在meta之前,否則可能無法正常顯示IE6下測試如此;

8、為什麼SESSION變量值與隨機值總是不同?

這個是筆者遇到奇怪的問題,例子如下:(寫入SESSION變量值與隨機值總是不同)

$cbcc=rand(1,1000);

//if(!isset($_SESSION['cbconfirmcode']))

//{

// unset($_SESSION['cbconfirmcode']);//comfirm buy rand code,確認購買隨機碼

//}

$_SESSION['cbconfirmcode']=$cbcc;

echo $_SESSION['cbconfirmcode'].'*****';

<input type="hidden" value="<?php echo $cbcc;?>" name="cbconfirmcode"/>

...

<img title="" height="2" alt=" " src="#" width="1" />

...

最後查出是因為插入的圖象SRC地址用#造成的,我也不知道為什麼。去掉插入的圖象就可以了,加上就不對,未做深入研究;

9、經驗:當使用UPDATE 查詢,MySQL 不會將原值和新值一樣的列更新。這樣使得 mysql_affected_rows() 函數返回值不一定就是查詢條件所符合的記錄數,只有真正被修改的記錄數才會被返回。MYSQL UPDATE語句執行時候,如果要更新的記錄與原來的記錄相同,則使用mysql_affect_rows()時,MYSQL會返回0值!所以在使用mysql_affected_rows檢測更新行數時候要特別小心。

標籤: PHP 經驗總結 編程
  • 文章版權屬於文章作者所有,轉載請註明 https://xuezhezhai.com/zh-hk/jsj/php/4xvqlv.html