php在5.1.2之後加入autoload的功能,目的是為了使用放在其他檔案的類別來建立物件時,省去include或require的步驟,讓php自行載入類別檔案。這個載入的過程,使用者可以自行設計,一般可以透過建立__autoload()函數來建立自動載入的的過程,而這個函數接受一個參數,就是類別名稱。例如:
function __autoload($classname){
require $classname . “.php”;
用來記錄人生的點點滴滴,包括學習記錄、工作、生活、觀察……
學習程式語言的一些心得發表
php在5.1.2之後加入autoload的功能,目的是為了使用放在其他檔案的類別來建立物件時,省去include或require的步驟,讓php自行載入類別檔案。這個載入的過程,使用者可以自行設計,一般可以透過建立__autoload()函數來建立自動載入的的過程,而這個函數接受一個參數,就是類別名稱。例如:
function __autoload($classname){
require $classname . “.php”;
到目前為止,為了避免$_POST是來自網路上機器人的隨意滲透,進而導致資料庫資料毀損,我一般會先判斷是不是登入的會員。不過,突然來的一個靈感:如果要做破壞的人並不是隨意搜尋目標,而是有心人,其實是可能先註冊一個會員身份,然後在登入會員後,再利用同一個瀏覽器session進行資料的POST測試,那麼前述提到的判斷就不足夠了。 閱讀全文〈來自POST資料的身份驗證〉
利用PHP操作POST並同步頁面重導,網路上找了很多討論,很多討論最後都沒有結果,或者是提供cURL或fsockopen等方式,但和主題還是有一些差距,因為cURL和fsockopen並不會進行頁面重導。 閱讀全文〈利用PHP操作POST並同步頁面重導〉
一html語法如下
<a id=”mylink” href=”#”><img id=”myimg” src=”XXX/xxxjpg”/></a>
我們給<a>註冊了click事件的處理函數,如下:
document.getElementById(“mylink”).onclick=function(e){
alert(e.target);
}
上述範例中的e.target會是指向<img/>物件。而如果<a>裡面放的是文字,e.target就會變成<a>了。 閱讀全文〈<a>的click事件目標〉
使用ini_set(“include_path”,”搜尋路徑”)可以在執行時期動態設定include或require的搜尋路徑,但在windows平台和Linux平台有不一樣的設定值內容。
第一個就是路徑的表達方式,windows平台是以「磁碟機:\路徑名」這種方式來指定路徑,Linux平台則是以「/路徑名」這種方式來指定路徑。 閱讀全文〈在Linux平台設定執行時期的include路徑〉
$(‘.selector’).children()可以得到.selector所代表dom物件的下一層子物件,而不是所有的子物件。例如:
<div class=’level-one’>
<div class=’level-two’>
<div class=’level-three’>
<input type=’text’ name=’mytext_three’ value=’my text’ size=’20’/>
</div>
</div>
<input type=’text’ name=’mytext’ value=’my test’ size=’20’/>
</div>
一般情況下,應該沒有人會把陣列直接拿來作加減乘除運算。
今天因為一個magic_quote_gpc設為on的情況下而導致這個情況發生,結果產生了一個錯誤,但錯誤訊息卻不是和陣列有關,而是說運算元不支援。 閱讀全文〈PHP的Array不能參與加減乘除運算〉
如果伺服器的php有開啟register_globals,但不想使用,卻又沒有權限可以更改環境設定,或者不想改,那麼怎麼辦?
本來想說使用ini_set來操作,原本以為可以,但後來想到一個問題,如果在執行期間更改設定,那麼在未更改設定前,GET、POST傳遞過來的變數怎麼辦,而在執行期間更改後,如果原本已註冊成全域變數是否會取消? 閱讀全文〈register_globals不能在執行期間(runtime)設定〉
有一個實作是用js來控制顯示及隱藏<li>裡面的<ul>,這是很一般顯示選單的作法。
在任何瀏覽器都運作得很好。原本也以為在IE6運作得很不錯,後來卻莫名其妙產生了問題,狀況是當滑鼠要移去點選次選單時,次選單會隱藏起來,就好像滑鼠是離開主選單一樣。奇妙的是,幾乎差不多語法及設定的頁面,在另外一個檔案卻是正常的,百思不得其解。 閱讀全文〈在IE6使用js操作ul li顯示的麻煩〉
這是一個單純的javascript的實作,牽涉到setInterval的用法和javascript的物件寫法。
我希望可以將整個倒數計時寫成一個物件,透過建構物件之後就可以開始進行倒數,而不用還要處理其它事情。所以所有的事情通通要包在物件裡面,包括setInterval。所以我這麼寫: 閱讀全文〈倒數計時的實作〉