Time of Update: 2018-12-08
在PHP 4.2中,他們取消了那種老的做法!正如我將在這篇文章中解釋的那樣,作出這樣的變化的目的是出於安全性的考慮。我們將研究PHP在處理表單提交及其它資料時的新的做法,並說明為什麼這樣做會提高代碼的安全性。 這裡有什麼錯誤? 看看下面的這段PHP指令碼,它用來在輸入的使用者名稱及口令正確時授權訪問一個Web頁面: 複製代碼 代碼如下:<?php // 檢查使用者名稱及口令 if ($username == 'kevin' and $password == 'secret')
Time of Update: 2018-12-08
register_globals的值可以設定為:On或者Off,我們舉一段代碼來分別描述它們的不同。 代碼: 複製代碼 代碼如下:<form name="frmTest" id="frmTest" action="URL"> <input type="text" name="user_name" id="user_name"> <input type="password" name="user_pass" id="user_pass"> <input
Time of Update: 2018-12-08
近期,我做了一個娛樂門戶的投票系統,也是被刷票搞的焦頭爛額,一切可用的方法都用了。但都不是太理想,最終,琢磨出來了下面的方法,我做成了流程圖與大家分享。看不懂流程的也不要鑽牛角了,本人也不做太多無聊的解釋,當然,這個流程只是一個大體的過程,中間還有很多的判斷,主要運用的還是session。因為什麼驗證碼什麼的,那你別用在互連網投票系統中來吧,沒有人去驗證,一看就煩了。還是那句話,我的WEB開發筆記中寫的全是一些簡單的思想性的東西,如果想完善,可以自己擴充。本人沒有時間解釋。以下的流程圖中,一定要
Time of Update: 2018-12-08
在堆棧中,最後壓入的資料(進棧),將會被最先彈出(出棧)。 即在資料存放區時採用“先進後出”的資料結構。 PHP中,將數組當做一個棧,主要是使用array_push()和array_pop()兩個系統函數來完成。 入棧主要是利用array_push()函數向第一個參數的數組尾部添加一個或多個元素,然後返回新數組的長度,樣本如下: 複製代碼 代碼如下:<?php $zhan=array("WEB");//聲明一個數組當做棧
Time of Update: 2018-12-08
百度的搜尋大家都在用,當使用者輸入文字時,搜尋方塊下面自動提示相關的資訊,加強了使用者體驗,的確不錯,那麼這個效果是如何?的呢先看一下吧,這樣更有動力,要不然大家還不知道我在講什麼,到底要達到什麼樣的效果! 下面先主要講解原理: 在search.html頁面中,使用者在搜尋方塊內輸入“j”時,使用javascript擷取搜尋方塊的常值內容,到資料庫中尋找相關的內容並返回,再使用javascript將伺服器返回的結果顯示在搜尋方塊下面的提示框內,供使用者參考選擇。 具體的實現方法: 首先在
Time of Update: 2018-12-08
在使用的時候,得先把要產生摘要的內容strip_tags()一下,當然,你也可以把strip_tags()直接添加到函數中,我沒有搞,自己添加吧。下面是函數: 複製代碼 代碼如下:function cutstr($string, $length,$charset,$dot) {//字元,截取長度,字元集,結尾符 if(strlen($string) <= $length) { return $string; } $pre = chr(1); $end = chr(1);
Time of Update: 2018-12-08
PHP中將數組當做一個棧,主要是使用array_push()和array_pop()兩個系統函數來完成。入棧主要是利用array_push()函數向第一個參數的數組尾部添加一個或多個元素,然後返回新數組的長度,樣本如下: 而PHP中,將數組當作是隊列則主要是用array_push()和array_shift()實現。 複製代碼 代碼如下:<?php $zhan=array("WEB");//聲明一個數組當做隊列 array_push($zhan,"PHP");//將字串壓入棧(數組)中
Time of Update: 2018-12-08
mysql_pconnect在單一進程,特別是一直保持執行的監控程式,特別適用。 mysql_pconnect用法和mysql_connect類似: 複製代碼 代碼如下:<?php $conn = mysql_pconnect($host,$user,$pwd); mysql_select_db($dbname,$conn); $result=mysql_query("select * from table_name where col_id ='test_id'", $conn);
Time of Update: 2018-12-08
一、安全 無論程式寫的如何,首先安全是第一位的,沒有安全保障的程式根本不能談高品質。 二、穩定 無論你代碼寫的再爛,必須要能穩定運行。 三、使用者體驗 使用者的體驗直接決定著一個程式的命運,根本不懂使用者體驗的程式高品質便無從談起。 四、商業體驗 開發應用的目的自然是為了賺錢,我認為,再優秀的程式,不賺錢也等於是一個廢物。 五、效率
Time of Update: 2018-12-08
類很簡單,主要是運用了幾個函數數組列表函數list(),字串分割成數組函數explode(),擷取時間戳記和微秒數microtime(),代碼如下: 複製代碼 代碼如下:<?php class runTime { private $starTime;//開始時間 private $stopTime;//結束時間 private function getMicTime(){ $mictime=microtime();//擷取時間戳記和微秒數 list($usec,$sec)=explode(
Time of Update: 2018-12-08
題目:組合演算法:有一個數組a,有N 個元素,現在要求從中找出含有任意元素的所有組合個數。 解答:先看規律吧: 假設這個數組為array(1,2,3,4,5)那麼M=5; 可能出現的組合為: 1個數位組合個數: 5 2個數位組合個數: 4+3+2+1 3個數位組合個數: 3+2+1 4個數位組合個數: 2+1 5個數位組合個數: 1 很眼熟吧,就是一個逆序的9*9乘法表。除過第一行有M個組合外,其他的組合按乘法表來處理,2個FOR語句嵌套而已 代碼: 複製代碼 代碼如下:$c = 5; $a =
Time of Update: 2018-12-08
呵呵,好玩吧,一真的想做一個函數百科網,只是由於我的精力有限了,唯寫WEB開發筆記,一天一篇文章的更新就已經夠忙了,因為,我的職業也不只是寫這一個部落格,還有其它很多網站需要維護,天天就是寫軟文,發原創,真夠累的,好了,以後有機會,我還是要把函數百科網做起來,希望大家支援。 定義和用法 strrev() 函數反轉字串。 文法 strrev(string) 參數 描述 string 必需。規定要反轉的字串。 例子 複製代碼 代碼如下:<?php echo strrev("Hello
Time of Update: 2018-12-08
下面是基本的註冊表類的代碼: 複製代碼 代碼如下:<?php class Registry { private static $instance; private $request;//註冊表的內容類別 private function __construct(){}//本類,不可執行個體化 static function instance(){//單例類,通過這個方法返回執行個體 if (!isset(self::$instance)){self::$instance=new self(
Time of Update: 2018-12-08
我自己構思了下,實際上程式來解決這個事情,就是一個位移量的問題。首先看數列::1、1、2、3、5、8、13、21、34數列的下一個數是前2個數字之和,以此類推。
Time of Update: 2018-12-08
這也是OO設計的基本思想之一。在PHP5之前,如果需要使用一個類,只需要直接使用include/require將其包含進來即可。下面是一個實際的例子: 複製代碼 代碼如下:class ClassA{ public function __construct(){ echo “ClassA load success!”; } } //定義一個類ClassA,檔案名稱為ClassA.php class ClassA{ public function __construct(){ echo
Time of Update: 2018-12-08
以前我也寫過一個註冊表類,不過那一個不能進行多個類的註冊,下面用數組對類進行了儲存。 複製代碼 代碼如下:<?php //基礎類 class webSite {//一個非常簡單的基礎類 private $siteName; private $siteUrl; function __construct($siteName,$siteUrl){ $this->siteName=$siteName; $this->siteUrl=$siteUrl; } function
Time of Update: 2018-12-08
__autoload()的用法就不再說了,以前已經在我的WEB開發筆記中說過。PHP __autoload函數(自動載入類檔案)的使用方法, 原文地址:http://www.jb51.net/article/29625.htm 。 說一說,spl_autoload_register()的用法吧,很簡單,可以這樣理解,就是聲明一個自訂__autoload(),你可以是A函數,也可以是B函數,想怎麼樣就怎麼樣,函數體的寫法,當然要和__autoload()一樣就OK 了。
Time of Update: 2018-12-08
需要注意的幾個PHP漏洞 幾個重要的php.ini選項 Register Globals php>=4.2.0,php.ini的register_globals選項的預設值預設為Off,當register_globals的設定為On時,程式可以接收來自伺服器的各種環境變數,包括表單提交的變數,而且由於PHP不必事先初始設定變數的值,從而導致很大的安全隱患. 例1: 複製代碼
Time of Update: 2018-12-08
通常變數通過下面這樣的語句來命名 : 複製代碼 代碼如下:<?php $a = 'hello'; ?> 可變變數名指的是使用一個變數的值作為這個變數的名稱。在上面的例子中,通過使用兩個$符號,你可以把hello設定成一個變數的名稱,就像下面那樣。 複製代碼 代碼如下:<?php $$a = 'world'; ?> 通過上面的兩個語句,有兩個變數被定義:變數$a,裝的內容是”hello” 以及變數$hello,裝的內容是 “world”。 於是,下面的語言: 複製代碼
Time of Update: 2018-12-08
不過,這種機制總是會給我們帶來這或那的問題,比如前段時間,我的網站上得設定一個廣告顯示的功能,就需要用到COOKIE,主要目的是為了加大廣告的轉化率,可是如果重新整理生效,就比較麻煩,所以就用了這種方法,好用。 下面是代碼: 複製代碼 代碼如下:function cookie($var, $value='', $time=0, $path='', $domain=''){ $_COOKIE[$var] = $value; if(is_array($value)){ foreach($value