發表文章

目前顯示的是 7月, 2013的文章

[JavaScript][PHP] 如何避免使用者在表單送出後,利用 "重新整理" 或 "回到上一頁" 來重覆送出表單資料

避免 "重新整理" 的方法,就是表單送出後進行"轉頁"的動作。 避免 "回到上一步" 的方法,就是不去紀錄瀏覽的紀錄,使瀏覽器無法回到上一步。 這兩個預防對策可以在一個指令同時完成,那就是 location.replace() ,使用方式就是在表單送出後,接收資料的頁面在處理完資料後,就利用 location.replace() 去轉頁,這樣可以避免重覆執行的問題了,範例如下:

[PHP][OOP] 類別中使用靜態方法

物件在實體化前,所有的方法都是無法使用的,除了靜態方法之外,未實體化也可以直些使用,直接看程式碼:(為了容易理解,我把class放上面) class Test{  public $temp = '5678';   static function get_pw(){     return '1234';   } } echo Test::get_pw();  //印出1234 備註: 靜態方法中不能使用$this,例如: static function get_pw(){   return $this -> temp; } 這是錯誤的。

[PHP][OOP] 類別中使用靜態屬性

物件在實體化前,所有的屬性都是無法使用的,除了靜態屬性之外,未實體化也可以直些使用,直接看程式碼:(為了容易理解,我把class放上面) class Test{   static $sta = 'a';   function get_sta(){     return self::$sta;   } } //方法一 echo Test::$sta; //方法二 $temp = new Test; echo $temp -> get_sta(); 備註: 如果使用echo $temp ->sta ;則會出現錯誤。

[PHP] 自訂函式裡的靜態變數

我們知道在自訂函式裡變數只有在呼叫時存在,使用完畢之後隨即消失,例如: function test(){   $i++;   echo $i; } 執行結果永遠都是1,如果我們今天想要保留函式裡的變數值,則可以使用靜態變數,如下: function test(){   static $i = 0;   $i++;   echo $i; } 執行結果就會一直累加,例如執行四次test(),就會是1、2、3、4。

[PHP][OOP] $this的用法

存取"當前"物件的屬性,例如: class My_cls{  public $my_str;  public function my_fun(){   return $this -> my_str;  } } $my_obj = new My_cls(); $my_obj -> my_str = 'asdf'; echo $my_obj -> my_fun();  //印出結果為asdf

[jQuery] 簡單做出ajax送出後,資料處理中的鎖住畫的效果

我們用ajax送出資料後,可能需要一些處理時間,在這段期間我們不希望使用者在作其他操作,所以會有鎖住畫面的需求,網路上可以找到很多類似的屏蔽畫面套件。如果我們只需要最簡單的方式,可以參考下面的作法...

[jQuery] 如何將checkbox選取值(陣列),以ajax方式傳送

我們知道表單中的checkbox的選取值會是一個陣列,假設我們今天要將這個選取值用ajax傳送出去處理,應該怎麼作呢?...

[jQuery] 輕鬆做出 checkbox 的 "全選" 與 "全不選" 功能

直接看程式碼: <script> $(function() { $('#button_all_yes').click(function() { $("#myform").find("input:checkbox").prop("checked", true); }); $('#button_all_no').click(function() { $("#myform").find("input:checkbox").prop("checked", false); }); }); </script>

[JavaScript] 日期時間的比較 (Comparing Dates)

圖片
有時我們會在表單中放入文字欄位,讓使用者輸入日期時間,如果我們希望輸入的值在一個範圍之內,就必須用javascript來限制,做法很簡單...

[PHP][OOP] 存取物件的屬性

在物件之中的變數,我們稱為該物件的【屬性】,假設我們建議立一個物件,如下: $obj = new User; class User {   public $name,$password; } 然後,把 $obj 用 print_r() 印出來 print_r($obj); 會看到 User Object {   [name] =>   [password] => } 代表 $obj 是一個物件( Object ),並帶有兩個屬性( name 、 password ),其值皆為空。 如果我們要存取物件的屬性,就必須使用下列方式: $obj = new User; $obj -> name = 'John'; $obj -> password = '1234'; 再用 print_r() 觀察,結果如下: User Object {   [name] => John   [password] => 123 } 這樣我們就成功存取了物件屬性值了。 備註:需注意物件屬性不需要加上錢字號($),加上錢字號是指參考儲存在變數中的值,例如: $name = 'id'; $obj -> $name = 'John'; 實際上並不是對 name 屬性作存取,而是對 id 屬性作存取, $obj -> id = 'John';

[PHP][OOP] 建立物件

如果【類別】是蓋房子的藍圖,那麼【物件】就是房子主體了,宣告類別之後,我們就可以建立物件,方式如下: $obj = new User; class User {   public $name,$password; } 這樣就是建立了一個物件。 備註: 類別跟自訂函式一樣,即使我們放在程式的最下端,也可以被引用;習慣上,類別跟自訂函式都會放在程式的最下端。

[PHP][OOP] 宣告類別

類別 class 就像藍圖一樣,要蓋房子前要先有藍圖,所以,要建立物件前,必須先宣告類別,方法如下: class User {   public $name,$password;  //這邊只是舉例 } 這樣就是宣告了一個名稱為 User 的類別。

[PHP] PSR 程式碼風格

【變數】 規則:區分大小寫, $a 跟 $A 是兩個不一樣的變數。 【常數】 風格:全大寫 舉例:define('ROOT_LOCATION','/usr/local/www/'); 【函式】 規則:不區分大小寫, getuser() 跟 GetUser() 都是同一支函式。 風格:函式命名需使用【小寫開始的駝峰大小寫命名法(camelCase)】。 【類別】 規則:區分大小寫, new User 跟 new user 是用不一樣的類別建立物件。 風格:類別命名需使用【大寫開始的駝峰大小寫命名法(StudlyCaps)】。 【方法】 風格:方法命名需使用【小寫開始的駝峰大小寫命名法(camelCase)】。 【縮排】 風格:四個空白字元。 【關鍵字】 風格:一律小寫。 舉例:true、and、null...等 【大刮號】 風格:開頭刮號在 類別、方法 時需獨立一行;於其他如 if 等控制流程則不換行。 舉例: class MyClass {     public function myFunc()     {         alert('123');     } } if (true) {     alert('456'); } 【控制流程】(if, elseif, else, switch, case, while, do while, for, foreach, try, catch) 風格:控制流程關鍵字後面需加一個空白字元。 舉例: if (true) {     alert('aaa'); }

[PHP] 如何讓 數字 格式化 (四捨五入、千分位符號、留小數點幾位...等)

直接看語法: echo number_format($num,2,'.',','); 範例1: $num = 1234.129 echo number_format($num,2,'.',',');  //顯示1,234.13 範例2: $num = 1234.129 echo number_format($num);  //顯示1,234 範例3: $num = 1234.129 echo number_format($num,4,'.',',');  //顯示1,234.1290