<mark id="j7xzf"></mark>

        <output id="j7xzf"><ins id="j7xzf"><nobr id="j7xzf"></nobr></ins></output>

          <i id="j7xzf"><output id="j7xzf"><th id="j7xzf"></th></output></i>

          <b id="j7xzf"><cite id="j7xzf"><big id="j7xzf"></big></cite></b><cite id="j7xzf"><p id="j7xzf"><th id="j7xzf"></th></p></cite>

                        當前位置:首頁 > 教程 > 編程教程 > php教程 > 正文

                        php基礎教程 PHP/MySQL三日通-第三天(一)
                        欄目分類:php教程   發布日期:2014-09-08   來源:互聯網   瀏覽次數:

                        一、基本函數  歡迎來到本教程的第三課,也是最后一課。如果您已經學過第一課和第二課,那么您已經掌握了MySQL和PHP的安裝及編程的基本知識。下面我們要介紹PHP的一些其他函數,這些函數可能會對您有用,使您的
                        一、基本函數

                         

                          歡迎來到本教程的第三課,也是最后一課。如果您已經學過第一課和第二課,那么您已經掌握了MySQL和PHP的安裝及編程的基本知識。下面我們要介紹PHP的一些其他函數,這些函數可能會對您有用,使您的開發過程更加簡單。首先我們來看看頭文件。

                          大家應該知道頭文件的一些基本概念吧?頭文件是一個外部文件,它的內容被包含到主程序中。方法也十分簡單:在程序文件中引用頭文件名,這個頭文 件就會包含進來了。在PHP中使用頭文件,會涉及兩個函數:include()和require()。這兩個函數差別很小,卻很重要,所以我們要認真研究 一下。require()函數工作方式與XSSI相類似;不管在程序的哪個部分使用了這個函數,只有程序一開始運行,頭文件的內容就被作為程序本身的一部 分來處理。因此,如果您在一個條件判定語句中使用了require()函數,那么即使這個條件即使不為真,頭文件也會被包含進來。

                          而include()函數只是在執行到這一條語句時才會把頭文件內容包含進來。如果程序沒運行到這里,那PHP是不會管它的。這就意味著,您在條件判定部分使用include時,它會完全按照您希望的那樣工作。

                          還有,如果您用了require()函數,而您指定的頭文件并不存在,那么程序將會停止運行并產生錯誤。如果您用了include(),程序會 產生一個警告信息,但是會繼續運行。您可以親自試一下,運行下面的程序,然后把include()換成require(),再比較兩個程序運行的結果。

                          $#@60;html$#@62;

                        $#@60;body$#@62;



                        $#@60;?php

                        include("emptyfile.inc");

                        echo "Hello World";

                        ?$#@62;



                        $#@60;/body$#@62;

                        $#@60;/html$#@62;

                          我喜歡把頭文件的后綴名起成.inc,這樣就可以把頭文件和一般的程序區分開來。如果您也這么做,那么請您修改Web服務器軟件的配置文件,使 它能夠把.inc文件也當作PHP文件來處理。否則,黑客們也許會猜到您的頭文件名,然后用瀏覽器把頭文件內容以純文本格式顯示出來。此時如果您的頭文件 中有些機密信息(如數據庫口令等)那就糟糕了。 <

                          那么,您用頭文件來做什么呢?很簡單!把對所有程序都通用的那些內容放到頭文件里。象HTML文件頭啦,腳注啦,數據庫連接代碼啦,還有您自己定義的一些函數什么的。把下面的文字拷貝到一個文件中,保存為header.inc。

                          $#@60;?php

                        $db = mysql_connect("localhost", "root");

                        mysql_select_db("mydb",$db);

                        ?$#@62;

                        $#@60;html$#@62;

                        $#@60;head$#@62;

                        $#@60;title$#@62;

                        $#@60;?php echo $title ?$#@62;

                        $#@60;/title$#@62;

                        $#@60;/head$#@62;

                        $#@60;body$#@62;

                        $#@60;center$#@62;$#@60;h2$#@62;$#@60;?php echo $title ?$#@62;$#@60;/h2$#@62;$#@60;/center$#@62;
                         

                          然后再創建另外一個文件,名字是footer.txt,該文件可以包含一些程序結束時用到的一些文字和標記。

                          現在,我們再來創建一個文件,這個文件里面是真正的PHP程序代碼。試一下下面的代碼,當然,您要確認MySQL數據庫服務器正在運行。

                          $#@60;?php

                        $title = "Hello World";

                        include("header.inc");

                        $result = mysql_query("SELECT * FROM employees",$db);

                        echo "$#@60;table border=1$#@62;\n";


                        echo "$#@60;tr$#@62;$#@60;td$#@62;名字$#@60;/td$#@62;$#@60;td$#@62;職位$#@60;/tr$#@62;\n";

                        while ($myrow = mysql_fetch_row($result)) {

                        printf("$#@60;tr$#@62;$#@60;td$#@62;%s %s$#@60;/td$#@62;$#@60;td$#@62;%s$#@60;/tr$#@62;\n", $myrow[1], $myrow[2], $myrow[3]);

                        }

                        echo "$#@60;/table$#@62;\n";

                        include("footer.inc");

                        ?$#@62;

                          看到發生了什么事了嗎?頭文件里的內容被合并到程序中,PHP把所有的代碼都執行了一遍。注意在包含header.inc頭文件之 前$title是如何定義的。在header.inc中的代碼可以訪問到它的值。這樣,網頁的標題就被改掉了,F在,您可以在任何程序中使用 header.inc頭文件了,您所要做的不過是在每個主程序中為$title變量取一個合適的值。

                          頭文件、HTML、條件判定語句,還有循環語句,這些東西加在一些,您就可以用最簡練的代碼,寫出功能各異的各種復雜程序來。在與函數同時使用時,頭文件更能發揮它的效力,我們后面就會看到。

                          接下去,我們會介紹精彩的部分:數據校驗。

                        二、 數據校驗

                          想象一下這樣的情形:我們把數據庫都設計妥當了,現在請用戶輸入信息來寫到數據庫中去。假設您有一個字段是要求數字類型的信息,比如價格;而某 個可愛的用戶,卻在這一欄里輸入了文字信息,使得您的應用程序的執行過程出現了故障。對您在SQL語句中提供的文字類型的數據,MySQL數據庫拒不接 受,并向您提出了“嚴正抗議”。

                          怎么辦呢?您要用數據校驗來防止以上狀況發生。

                          簡單地講,數據校驗是指我們對數據(通常是用戶經由HTML表格傳過來的)進行檢查,看看它是否遵從一定的規則。規則可以是多種多樣的,比如某 一數據元素不能為空,或者要求某一數據項的內容必須滿足一定的要求(例如前面的例子中要求必須是數字而不是文字,或者要求電子郵件地址中一定要包含一個 “@”字等等)。

                          數據校驗既可以在服務器一端作,也可以在客戶端來作。PHP是用來作服務器一端的數據校驗的,而JavaScript/" target="_blank">JavaScript或其他客戶端腳本編程語言則能夠提供客戶端的數據校驗功能。本文說的是PHP,所以我們在這 里著重介紹服務器端的校驗。如果您想找一些現成的、在客戶端運行的數據較驗程序,那您可以去網猴程序庫看看。

                          暫時把數據庫放在一邊不談,我們先來說說PHP的數據校驗方法。如果您愿意(或者說,您想記錄我們要校驗的那些數據的話),您可以在前面所建的員工數據庫的里加入其他字段,很簡單,用MySQL的ALTER 語句就行了。

                          有好幾個PHP功能都可以用來作數據校驗的工作,有些很簡單,有些則復雜一些。其中strlen()是比較簡單的一個函數,它能夠告訴我們一個變量的長度。

                          更復雜一點兒的是ereg(),這個函數可以處理完整的常規表達式來進行復雜的校驗。我不想就常規表達式講得太深,因為許多書都是專門寫這個問題的。不過我會在下一頁中給出一些簡單的例子。

                          我們先從一個簡單的例子開始吧。下面這個程序要檢查一個變量是否存在。

                          $#@60;html$#@62;

                        $#@60;body$#@62;

                        $#@60;?php

                        if ($submit) {

                        if (!$first || !$last) {


                        $error = "對不起,您必須填寫所有的欄目!";
                        } else {

                        // 處理表格輸入內容

                        echo "謝謝!";

                        }
                        }

                        if (!$submit || $error) {

                        echo $error;

                        ?$#@62;

                        $#@60;P$#@62;

                        $#@60;form method="post" action="$#@60;?php echo $PHP_SELF ?$#@62;"$#@62;


                        第一欄: $#@60;input type="text" name="名" value="$#@60;?php echo $first ?$#@62;"$#@62;$#@60;br$#@62;


                        第二欄: $#@60;input type="text" name="姓" value="$#@60;?php echo $last ?$#@62;"$#@62;$#@60;br$#@62;

                        $#@60;input type="Submit" name="submit" value="輸入信息"$#@62;

                        $#@60;/form$#@62;

                        $#@60;?php


                        } // if結束

                        ?$#@62;



                        $#@60;/body$#@62;

                        $#@60;/html$#@62;

                          這段程序中關鍵的地方是嵌套的條件判定語句。第一層檢查用戶是否按了發送數據的按鈕。如果是,程序接著檢查$first和$last兩個變量是 否都存在。那個 || 符號表示“或”,而 ! 符號表示“非”。那一句程序用一般語言描述就是“如果$first不存在或者$last不存在,那么就把 $error變量置成下面的值。”

                          接下來,我們再進一步,檢查一段文字的長度。這對用戶口令的檢查是很有必要的,因為您不想讓某些懶惰的用戶輸入只有一、兩個字的口令,可能會要求他們輸入六位長的口令。

                          我們已經講到strlen()這個函數了。它只是簡單地返回一個數字,該數字等于被測變量中所包含的字符個數。這里,我修改一下上面的程序,檢查一下$first與$last的長度。

                          $#@60;html$#@62;

                        $#@60;body$#@62;

                        $#@60;?php

                        if ($submit) {

                        if (strlen($first) $#@60; 6 || strlen($last) $#@60; 6) {


                        $error = "對不起,您必須填寫所有欄目!";

                        } else {


                        // 處理表格輸入內容


                        echo "謝謝!";

                        }

                        }


                        if (!$submit || $error) {

                        echo $error;

                        ?$#@62;

                        $#@60;P$#@62;

                        $#@60;form method="post" action="$#@60;?php echo $PHP_SELF ?$#@62;"$#@62;


                        第一欄: $#@60;input type="text" name="名" value="$#@60;?php echo $first ?$#@62;"$#@62;$#@60;br$#@62;


                        第二欄: $#@60;input type="text" name="姓" value="$#@60;?php echo $last ?$#@62;"$#@62;$#@60;br$#@62;

                        $#@60;input type="Submit" name="submit" value="輸入信息"$#@62;

                        $#@60;/form$#@62;

                        $#@60;?php


                        } // if結束

                        ?$#@62;


                        $#@60;/body$#@62;

                        $#@60;/html$#@62;

                          您可以執行一下這段程序,輸入六個字或少于六個字的內容。這種校驗很簡單,但很有效。

                        Copyright © 2014 聚合分享 版權所有   京ICP備14037269號-1  關于聚合分享 | 廣告合作 | 版權聲明 | 意見反饋 | 聯系方式 | 原創投稿 | 網站地圖 | 友情鏈接
                        平面設計網頁設計編程教程數據庫cms教程電腦教程辦公軟件服務器seo優化
                        av男人的天堂在线观看国产_好吊妞无缓冲视频观看_邻居老头把我弄舒服死了_我把她日出水了刺激视频
                        <mark id="j7xzf"></mark>

                              <output id="j7xzf"><ins id="j7xzf"><nobr id="j7xzf"></nobr></ins></output>

                                <i id="j7xzf"><output id="j7xzf"><th id="j7xzf"></th></output></i>

                                <b id="j7xzf"><cite id="j7xzf"><big id="j7xzf"></big></cite></b><cite id="j7xzf"><p id="j7xzf"><th id="j7xzf"></th></p></cite>