當前位置:才華齋>計算機>php語言>

PHP程式設計小經驗總結

php語言 閱讀(4.85K)

在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檢測更新行數時候要特別小心。