一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

PHP_MySQL教程-第三天 基本函數(shù)第1/2頁

第一頁 基本函數(shù) 
歡迎來到本教程的第三課,也是最后一課。如果您已經(jīng)學(xué)過第一課和第二課,那么您已經(jīng)掌握了MySQL和php的安裝及編程的基本知識。下面我們要介紹php的一些其他函數(shù),這些函數(shù)可能會對您有用,使您的開發(fā)過程更加簡單。首先我們來看看頭文件。 
大家應(yīng)該知道頭文件的一些基本概念吧?頭文件是一個外部文件,它的內(nèi)容被包含到主程序中。方法也十分簡單:在程序文件中引用頭文件名,這個頭文件就會包含進來了。在php中使用頭文件,會涉及兩個函數(shù):include()和require()。這兩個函數(shù)差別很小,卻很重要,所以我們要認真研究一下。require()函數(shù)工作方式與XSSI相類似;不管在程序的哪個部分使用了這個函數(shù),只有程序一開始運行,頭文件的內(nèi)容就被作為程序本身的一部分來處理。因此,如果您在一個條件判定語句中使用了require()函數(shù),那么即使這個條件即使不為真,頭文件也會被包含進來。 
而include()函數(shù)只是在執(zhí)行到這一條語句時才會把頭文件內(nèi)容包含進來。如果程序沒運行到這里,那php是不會管它的。這就意味著,您在條件判定部分使用include時,它會完全按照您希望的那樣工作。 
還有,如果您用了require()函數(shù),而您指定的頭文件并不存在,那么程序?qū)V惯\行并產(chǎn)生錯誤。如果您用了include(),程序會產(chǎn)生一個警告信息,但是會繼續(xù)運行。您可以親自試一下,運行下面的程序,然后把include()換成require(),再比較兩個程序運行的結(jié)果。 
復(fù)制代碼 代碼如下:
<html> 
<body> 
<?php 
include("emptyfile.inc"); 
echo "Hello World"; 
?> 
</body> 
</html>
  
 網(wǎng)頁制作|網(wǎng)站建設(shè)|數(shù)據(jù)采集.
我喜歡把頭文件的后綴名起成.inc,這樣就可以把頭文件和一般的程序區(qū)分開來。如果您也這么做,那么請您修改Web服務(wù)器軟件的配置文件,使它能夠把.inc文件也當作php文件來處理。否則,黑客們也許會猜到您的頭文件名,然后用瀏覽器把頭文件內(nèi)容以純文本格式顯示出來。此時如果您的頭文件中有些機密信息(如數(shù)據(jù)庫口令等)那就糟糕了。 
那么,您用頭文件來做什么呢?很簡單!把對所有程序都通用的那些內(nèi)容放到頭文件里。象HTML文件頭啦,腳注啦,數(shù)據(jù)庫連接代碼啦,還有您自己定義的一些函數(shù)什么的。把下面的文字拷貝到一個文件中,保存為header.inc。
復(fù)制代碼 代碼如下:
<?php 
$db = mysql_connect("localhost", "root"); 
mysql_select_db("mydb",$db); 
?> 
<html> 
<head> 
<title> 
<?php echo $title ?> 
</title> 
</head> 
<body> 
<center><h2><?php echo $title ?></h2></center>  
非常全面的一個php技術(shù)網(wǎng)站, 有相當豐富的文章和源代碼.
然后再創(chuàng)建另外一個文件,名字是footer.txt,該文件可以包含一些程序結(jié)束時用到的一些文字和標記。 
現(xiàn)在,我們再來創(chuàng)建一個文件,這個文件里面是真正的php程序代碼。試一下下面的代碼,當然,您要確認MySQL數(shù)據(jù)庫服務(wù)器正在運行。
復(fù)制代碼 代碼如下:
<?php 
$title = "Hello World"; 
include("header.inc"); 
$result = mysql_query("SELECT * FROM employees",$db); 
echo "<table border=1>n"; 
echo "<tr><td>名字</td><td>職位</tr>n"; 
while ($myrow = mysql_fetch_row($result)) { 
    printf("<tr><td>%s %s</td><td>%s</tr>n", $myrow[1], $myrow[2], $myrow[3]); 

echo "</table>n"; 
include("footer.inc"); 
?>  

看到發(fā)生了什么事了嗎?頭文件里的內(nèi)容被合并到程序中,php把所有的代碼都執(zhí)行了一遍。注意在包含header.inc頭文件之前$title是如何定義的。在header.inc中的代碼可以訪問到它的值。這樣,網(wǎng)頁的標題就被改掉了。現(xiàn)在,您可以在任何程序中使用header.inc頭文件了,您所要做的不過是在每個主程序中為$title變量取一個合適的值。 
頭文件、HTML、條件判定語句,還有循環(huán)語句,這些東西加在一些,您就可以用最簡練的代碼,寫出功能各異的各種復(fù)雜程序來。在與函數(shù)同時使用時,頭文件更能發(fā)揮它的效力,我們后面就會看到。 
接下去,我們會介紹精彩的部分:數(shù)據(jù)校驗。>>

第二頁 數(shù)據(jù)校驗 
想象一下這樣的情形:我們把數(shù)據(jù)庫都設(shè)計妥當了,現(xiàn)在請用戶輸入信息來寫到數(shù)據(jù)庫中去。假設(shè)您有一個字段是要求數(shù)字類型的信息,比如價格;而某個可愛的用戶,卻在這一欄里輸入了文字信息,使得您的應(yīng)用程序的執(zhí)行過程出現(xiàn)了故障。對您在SQL語句中提供的文字類型的數(shù)據(jù),MySQL數(shù)據(jù)庫拒不接受,并向您提出了“嚴正抗議”。 
怎么辦呢?您要用數(shù)據(jù)校驗來防止以上狀況發(fā)生。 
簡單地講,數(shù)據(jù)校驗是指我們對數(shù)據(jù)(通常是用戶經(jīng)由HTML表格傳過來的)進行檢查,看看它是否遵從一定的規(guī)則。規(guī)則可以是多種多樣的,比如某一數(shù)據(jù)元素不能為空,或者要求某一數(shù)據(jù)項的內(nèi)容必須滿足一定的要求(例如前面的例子中要求必須是數(shù)字而不是文字,或者要求電子郵件地址中一定要包含一個“@”字等等)。 
數(shù)據(jù)校驗既可以在服務(wù)器一端作,也可以在客戶端來作。php是用來作服務(wù)器一端的數(shù)據(jù)校驗的,而JavaScript或其他客戶端腳本編程語言則能夠提供客戶端的數(shù)據(jù)校驗功能。本文說的是php,所以我們在這里著重介紹服務(wù)器端的校驗。如果您想找一些現(xiàn)成的、在客戶端運行的數(shù)據(jù)較驗程序,那您可以去網(wǎng)猴程序庫看看。 
暫時把數(shù)據(jù)庫放在一邊不談,我們先來說說php的數(shù)據(jù)校驗方法。如果您愿意(或者說,您想記錄我們要校驗的那些數(shù)據(jù)的話),您可以在前面所建的員工數(shù)據(jù)庫的里加入其他字段,很簡單,用MySQL的ALTER 語句就行了。 
有好幾個php功能都可以用來作數(shù)據(jù)校驗的工作,有些很簡單,有些則復(fù)雜一些。其中strlen()是比較簡單的一個函數(shù),它能夠告訴我們一個變量的長度。 
更復(fù)雜一點兒的是ereg(),這個函數(shù)可以處理完整的常規(guī)表達式來進行復(fù)雜的校驗。我不想就常規(guī)表達式講得太深,因為許多書都是專門寫這個問題的。不過我會在中給出一些簡單的例子。 
我們先從一個簡單的例子開始吧。下面這個程序要檢查一個變量是否存在。
復(fù)制代碼 代碼如下:
<html> 
<body> 
<?php 
if ($submit) { 
    if (!$first || !$last) { 
        $error = "對不起,您必須填寫所有的欄目!"; 
    } else { 
        // 處理表格輸入內(nèi)容 
        echo "謝謝!"; 
    } 

if (!$submit || $error) { 
    echo $error; 
    ?> 
    <P> 
    <form method="post" action="<?php echo $php_SELF ?>"> 
    第一欄: <input type="text" name="名" value="<?php echo $first ?>"><br>    第二欄: <input type="text" name="姓" value="<?php echo $last ?>"><br>    <input type="Submit" name="submit" value="輸入信息"> 
    </form> 
    <?php 
} // if結(jié)束 
?> 
</body> 
</html>  
這段程序中關(guān)鍵的地方是嵌套的條件判定語句。第一層檢查用戶是否按了發(fā)送數(shù)據(jù)的按鈕。如果是,程序接著檢查$first和$last兩個變量是否都存在。那個 || 符號表示“或”,而 ! 符號表示“非”。那一句程序用一般語言描述就是“如果$first不存在或者$last不存在,那么就把 $error變量置成下面的值。” 
接下來,我們再進一步,檢查一段文字的長度。這對用戶口令的檢查是很有必要的,因為您不想讓某些懶惰的用戶輸入只有一、兩個字的口令,可能會要求他們輸入六位長的口令。 
我們已經(jīng)講到strlen()這個函數(shù)了。它只是簡單地返回一個數(shù)字,該數(shù)字等于被測變量中所包含的字符個數(shù)。這里,我修改一下上面的程序,檢查一下$first與$last的長度。
復(fù)制代碼 代碼如下:
<html> 
<body> 
<?php 
if ($submit) { 
    if (strlen($first) < 6 || strlen($last) < 6) { 
        $error = "對不起,您必須填寫所有欄目!"; 
    } else { 
        // 處理表格輸入內(nèi)容 
        echo "謝謝!"; 
    } 

if (!$submit || $error) { 
    echo $error; 
    ?> 
    <P> 
    <form method="post" action="<?php echo $php_SELF ?>"> 
    第一欄: <input type="text" name="名" value="<?php echo $first ?>"><br>    第二欄: <input type="text" name="姓" value="<?php echo $last ?>"><br>    <input type="Submit" name="submit" value="輸入信息"> 
    </form> 
    <?php 
} // if結(jié)束 
?> 
</body> 
</html>  

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

php技術(shù)PHP_MySQL教程-第三天 基本函數(shù)第1/2頁,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 黄色在线观看视频网站 | 欧美视频在线观看 | 香蕉草草久在视频在线播放 | 国产精品一区二区国产 | 欧美黄色精品 | 国产福利免费 | 国产精品久久婷婷六月丁香 | 99久久久久国产精品免费 | 国内精品福利在线视频 | 精品国产丝袜高跟鞋 | 在线视频一区二区 | 伊人色婷婷综在合线亚洲 | 国产欧美久久久精品影院 | 四虎必出精品亚洲高清 | 在线播放亚洲美女视频网站 | 亚洲香蕉网久久综合影院3p | 成人自拍视频在线观看 | 国产免费播放一区二区 | 亚洲国产一区在线二区三区 | 99视频国产精品 | 国产成人精品免费午夜 | baoyu777永久免费视频 | 国产欧美亚洲精品综合在线 | 91久久精品一区二区三区 | www.亚洲一区| 亚洲色图偷 | 国产一二三四2022精字窝 | 色黄小视频| 激情欧美一区二区三区中文字幕 | 久久99久久精品国产只有 | 国产精品成人网 | 欧美在线视频在线观看 | 亚洲欧洲色天使日韩精品 | 日韩avv| 国产亚洲91 | 四虎在线永久免费视频网站 | 亚洲视频一区二区三区四区 | 久久五月激情婷婷日韩 | 高清国产激情视频在线观看 | 国产v精品成人免费视频71sao | 经典国产乱子伦精品视频 |