當前位置:星座運勢大全官網 - 八字算命 - PHP入門基礎教程

PHP入門基礎教程

PHP入門基礎教程大全

PHP由Rasmus Ledorf於1994年創立。起初,它是壹個由Rasmus Ledorf用Perl語言編寫的維護個人網頁的簡單程序。這些工具被用來展示拉斯馬斯·勒德爾夫的簡歷和統計網絡流量。後來用C語言重寫,包括對數據庫的訪問。他將這些程序與壹些表單翻譯器集成在壹起,稱之為PHP/FI。PHP/FI可以和數據庫連接生成簡單的動態web程序。為了幫助妳開始學習php,我將PHP入門教程分享如下:

1,嵌入方法:

2.參考文件:

引用文件有兩種方式:要求和包含。

require的用法如下:require(" my require file . PHP ");。這個函數通常放在PHP程序的前面。PHP程序在執行之前,會先讀取require指定的文件,並使其成為PHP程序網頁的壹部分。常用功能也可以通過這種方式引入到網頁中。

包括使用諸如include(" my include file . PHP ");。這個功能通常放在過程控制的處理部分。PHP程序網頁只有在讀取include文件時才會讀取它。這樣,可以簡化程序執行的過程。

3、標註方法:

& lt?服務器端編程語言(Professional Hypertext Preprocessor的縮寫)

Echo”這是第壹個例子。\ n ";//這個例子是對C++語法的註釋(PHP註釋類似於C!)

/*此示例使用多行

註釋方法*/

Echo”這是第二個例子。\ n ";

Echo”這是第三個例子。\ n ";#此示例使用UNIX Shell語法註釋。

?& gt

4.變量類型:

$mystring = "我是字符串";

$ NewLine = " newline \ n

$ int 1 = 38;

$ float 1 = 1.732;

$ float 2 = 1.4E+2;

$MyArray1 = array("子"、"醜"、"陰"、"毛");

這裏出現了兩個問題。首先,PHP變量以$開頭,第二個PHP語句以$開頭。最後,ASP程序員可能不適應。這兩個疏漏也是程序中錯誤最多的地方。

5、操作符號:

數量* *非法文字已被屏蔽* *計數:

象征意義

+ ?添加操作

-減法運算

*乘法運算

/除法運算

% ?取余數

++累積

- ?逐漸/逐漸/漸進/連續減少

字符串操作:

運算符號只有壹個,就是英文中的句號。它可以連接字符串,並成為壹個新的合並字符串。類似於& amp & amp;

& lt?

$ a = " PHP 4

$b = "強大";

echo $ a . $ b;

?& gt

這裏也出現了兩個問題。首先,PHP中的輸出語句是echo,其次,它類似於

邏輯運算:

象征意義

& lt不到

& gt比...更大

& lt=小於或等於

& gt=大於或等於

= =等於

!=不等於

& amp& amp和(和)

而且(而且)

或(或)

或或(或)

異或(異或)

!不(不是)

學習目的:掌握php的進程控制。

1,如果...else循環有三種結構。

第壹個是,只有當條件被用作簡單的判斷。如果發生什麽事情該怎麽辦。語法如下:

if (expr) { statement }

Expr是判斷的條件,通常基於邏輯運算符號。語句是程序的合格執行部分。如果程序只有壹行,可以省略大括號{}。

示例:在此示例中,省略了大括號。

& lt?服務器端編程語言(Professional Hypertext Preprocessor的縮寫)

If ($state==1)回聲“哈哈”;

?& gt

這裏特別需要註意的是,判斷相等的是= =而不是=,這可能是ASP程序員經常犯的錯誤。=是賦值。

例:本例的運算部分有三行,大括號不能省略。

& lt?服務器端編程語言(Professional Hypertext Preprocessor的縮寫)

if ($state==1) {

回聲“哈哈;

回聲" & ltbr >;;

}

?& gt

二是在if之外加上else的條件,可以解釋為“如果某事發生了該如何處理,否則該如何解決”語法如下

if(expr){ statement 1 } else { statement 2 }示例:對上面的示例進行修改,使其更加完整。else中只執行壹行指令,所以不需要加大括號。

& lt?服務器端編程語言(Professional Hypertext Preprocessor的縮寫)

if ($state==1) {

附和“哈哈”;

回聲" & ltbr >;;

}

否則{

呼應“呵呵”;

回聲" & ltbr >;;

}

?& gt

第三個是遞歸if..else循環,通常用於各種決策判斷。它結合了幾個如果..否則進行處理。

直接看下面的例子。

& lt?服務器端編程語言(Professional Hypertext Preprocessor的縮寫)

if($ a & gt;$b ) {

呼應“a大於B”;

} else if $ a = = $ b){

呼應“a等於B”;

}否則{

回聲“a比B小”;

}

?& gt

上面的例子只使用了兩層if...else循環來比較兩個變量A和b。當使用此遞歸if..else循環在實踐中請謹慎使用,因為循環層數太多容易導致設計邏輯出現問題,或者花括號少了會導致程序出現莫名其妙的問題。

2.for循環只有壹個,沒有變化。它的語法如下。

for(expr 1;expr2表達式3) {語句}

其中,expr1是條件的初始值。Expr2是判斷的條件,通常用邏輯運算符判斷。Expr3是語句執行後要執行的部分,用於改變下壹次循環判斷的條件,比如加1...諸如此類。語句是程序的合格執行部分。如果程序只有壹行,可以省略大括號{}。

以下示例是用for循環編寫的示例。

& lt?服務器端編程語言(Professional Hypertext Preprocessor的縮寫)

for($ I = 1;$ i & lt= 10 ;$i ++) {

附和“這就是了”。壹. "周期

}

?& gt

3、開關循環,通常處理復合條件判斷,每個子條件,都是壹個case指令部分。如果在實際中使用許多類似的中頻指令,它們可以集成到壹個開關回路中。

語法如下

switch(expr){ case expr 1:statement 1;打破;case expr2:語句2;打破;默認值:statementN打破;}

其中expr條件通常是變量名。case後的exprN通常表示變量的值。冒號後面是滿足條件的要執行的部分。小心用break跳出循環。

& lt?服務器端編程語言(Professional Hypertext Preprocessor的縮寫)

開關(日期(“D”){

案例“Mon”:

Echo“今天是星期壹”;

打破;

病例“星期二”:

Echo“今天是星期二”;

打破;

案例“結婚”:

Echo“今天是星期三”;

打破;

案例“Thu”:

Echo“今天是周四”;

打破;

案例“Fri”:

Echo“今天是星期五”;

打破;

默認值:

Echo“今天放假”;

打破;

}

?& gt

這裏需要註意的是break不要漏了,默認,漏了也可以。

顯然,上面的例子用if循環很麻煩。當然,在設計的時候,要把概率最大的條件放在前面,概率最小的條件放在後面,這樣可以增加程序的執行效率。因為上面例子的概率每天都是壹樣的,所以不用註意條件的先後順序。

學習建立數據庫

在PHP中,我的SQL的命令行編輯可能會讓新手覺得很麻煩。沒關系,您可以下載並安裝壹個PHPMYADMIN,將來您可以依靠它來構建壹個編輯數據庫。

先說壹下它的用途。

進入phpmyadmin後,我們首先需要建立壹個數據庫。

語言(*)在這裏選擇簡體中文,然後在左邊新建壹個數據庫。在此填寫數據庫名稱,然後單擊創建。

然後從左邊的下拉菜單中選擇創建的數據庫。潛在的

在數據庫商店中創建新表:

名稱:

字段數量:

填寫表格名稱和妳認為大概的字段數(不夠多也沒關系,以後可以添加或者默認),按執行。

然後妳就可以開始造桌子了。

第壹列是字段的名稱;在第二列中選擇字段類型:

我們經常使用以下內容:

1)VARCHAR,文本類型

2)INT,整數類型

3)FLOAT,浮點型

4)日期,日期類型

5)妳可能會問,自動添加的ID在哪裏?只需選擇INT類型,並在下面的extra中選擇auto_increment。

創建表格後,您可以在左側看到您創建的表格。點擊後,您可以:

1)按右邊的結構:查看和修改表結構。

2)點擊右邊的瀏覽:查看表格中的數據。

3)按右邊的SQL運行SQL語句。

4)按右邊的Insert:插入壹行記錄。

5)按右邊的清除:刪除表格中的所有記錄。

6)按右邊的Delete:刪除表格。

還有壹個很重要的功能就是進出口。當我們在本地完成程序和數據庫時,我們需要在服務器上有壹個本地鏡像。如果ASP的訪問簡單,我們可以直接上傳MDB文件。如果是SQL SERVER,我們還可以連接到遠程服務器進行導入。然後可以導出MY SQL中的所有SQL語句,轉到遠程服務器的PHPMYADMIN,創建數據庫後按SQL,粘貼剛才復制的這個級別生成的所有SQL語句。

學習連接到數據庫

PHP只是壹個函數庫,豐富的函數使得PHP的某些部分相當簡單。我建議下載壹個PHP函數手冊,壹直在用。

這裏簡單說壹下連接MYSQL數據庫。

1、mysql_connect

打開MySQL服務器連接。

語法:int MySQL _ connect(string[主機名] [:端口],string[用戶名],string[密碼]);返回值:整數

這個函數建立與MySQL服務器的連接。所有參數都可以省略。當這個函數在沒有任何參數的情況下使用時,參數hostname的默認值為localhost,參數username的默認值為PHP執行行程的所有者,參數password為空字符串(即沒有密碼)。參數hostname後面可以跟壹個冒號和壹個端口號,以指示使用哪個端口來連接MySQL。當然,在使用數據庫時,使用mysql_close()早點關閉連接可以節省資源。

2、mysql_select_db

選擇壹個數據庫。

語法:int MySQL _ select _ db(字符串數據庫_名稱,int[鏈接_標識符]);返回值:整數

該函數選擇MySQL服務器中的數據庫,用於以後的數據查詢。成功時返回true,失敗時返回false。

最簡單的例子是:

$ conn = MySQL _ connect(" 127 . 0 . 0 . 1 ",""," ");

MySQL _ select _ db(" shop ");

連接我的SQL數據庫並打開商店數據庫。在實際應用中,要加強壹些錯誤的判斷。

學會閱讀數據

先看兩個函數:

1、mysql_query

發送查詢字符串。語法:int MySQL _ query(字符串查詢,int[link _ identifier]);返回值:整數

這個函數發送查詢字符串給MySQL做相關的處理或執行。如果沒有指定link_identifier參數,程序將自動查找最近打開的ID。當查詢字符串被更新、插入和刪除時,它可能是真或假;;如果查詢字符串是SELECT,將返回壹個新的ID值。當返回false時,不是執行成功但沒有返回值,而是查詢字符串錯誤。

2.mysql_fetch_object返回類數據。語法:object MySQL _ fetch _ object(int result,int[result _ typ]);返回值:類

這個函數用於將查詢結果拆分成類變量。如果結果沒有數據,它將返回壹個假值。

看壹個簡單的例子:

& lt?

$ exec = " select * from user

$ result = MySQL _ query($ exec);

while($ RS = MySQL _ fetch _ object($ result))

{

回顯“用戶名:”。$ RS-& gt;用戶名。“& ltbr >;;

}

?& gt

當然,表格user中有壹個用戶名字段,類似於asp中的。

& lt%

exec= "從用戶中選擇*

set RS = server . createobject(" adodb . recordset ")

康涅狄格州,1,1

做而不做

response.write“用戶名:& amprs("用戶名")& amp“& ltbr >;

rs.movenext

% & gt

當然,我們必須首先連接到數據庫。壹般我們需要_ once(' conn . PHP ');在conn.php,有連接到上次提到的數據庫的代碼。

兩個小命令就可以完成讀取數據的工作。

學習添加、刪除和修改數據。

MySQL _ query($ exec);

這條語句本身可以執行所有操作,但不同之處在於sql語句$exec。

add:$ exec = " insert into tablename(item 1,item 2)值(')。$ _ post ['item 1']。," $ _ post ['item 1']") ";

delete:$ exec = " delete from tablename where ... ";

修改:$ exec = " Update tablename set item 1 = ' "。$ _ post ['item 1']。在哪裏...";

說到這裏,我想說壹下表單和php變量傳遞。如果其中壹種形式

如果表單是通過POST提交的,則可以在處理表單文件時使用$_POST['item1']來獲取變量值。同樣,get提交的表單是$_GET['item1']。

簡單嗎?但是通常$exec會有問題,因為您的SQL語句可能很長,您會錯過。連接符或'來封閉字符字段。

我們可以註釋MySQL _ query($ exec);該語句使用echo $ exec而是輸出$exec來檢查正確性。如果您仍然不能找出$exec的錯誤,您可以復制這個sql語句並在phpmyadmin中執行它,以查看它的錯誤信息。同樣需要註意的是,我們不應該使用壹些敏感的字符串作為字段名,否則可能會出現問題,比如date。變量和字段的命名遵循壹個小規則,這個規則有時對自己有利,新手不能忽視它的重要性。

學會使用會話。

SESSION有很多功能,最常用的是站點內頁面之間的變量傳遞。

在頁面的開頭,我們想要session _ start();公開會議;;

然後,您可以使用會話變量。例如,賦值為:$ _ SESSION[' item ']= " item 1 ";要獲取的值是$ item 1 = $ _ SESSION[' item '];很簡單。我們在這裏可能會用到壹些函數,比如判斷壹個會話變量是否為空,所以可以寫成:empty($_SESSION['inum'])返回true或false。

我們來看壹個登錄程序,判斷用戶名和密碼是否正確。

登錄表單是這樣的:login。

& lttable width = " 100% " height = " 100% " border = " 0 " align = " center " cell padding = " 0 " cellspacing = " 0 " >

& lttr & gt

& ltform action = " checklog in . PHP " method = " post " & gt;& lttd align="center" valign="middle " >& lttable width = " 400 " border = " 0 " cell padding = " 5 " cellspacing = " 1 " class = " table BG " >。

& lttr class="tdbg " >

& lttd colspan="2 " >& ltp align="center " >管理員登錄& lt/p & gt;& lt/TD & gt;

& lt/tr & gt;

& lttr class="tdbg " >

& lttd & gt& ltp align="center " >用戶名& lt/p & gt;& lt/TD & gt;

& lttd & gt& ltp align="center " >

& ltinput name = " username " type = " text " id = " username " >

& lt/p & gt;& lt/TD & gt;

& lt/tr & gt;

& lttr class="tdbg " >

& lttd & gt& ltp align="center " >密碼& lt/p & gt;& lt/TD & gt;

& lttd & gt& ltp align="center " >

& ltinput name = " password " type = " password " id = " password " & gt;

& lt/p & gt;& lt/TD & gt;

& lt/tr & gt;

& lttr class="tdbg " >

& lttd colspan="2 " >& ltp align="center " >

& ltinput type = " Submit " name = " Submit " value = " Submit " & gt;

& ltinput type = " reset " name = " submit 2 " value = " Clear " & gt。

& lt/p & gt;& lt/TD & gt;

& lt/tr & gt;

& lt/table & gt;& lt/TD & gt;& lt/form & gt;

& lt/tr & gt;

& lt/table & gt;

處理文件是這樣的。

& lt?服務器端編程語言(Professional Hypertext Preprocessor的縮寫)

require _ once(' conn . PHP ');

session_start()。

$ username = $ _ POST[' username '];

$ password = $ _ POST[' password '];

$ exec = " select * from admin where username = ' "。$username。'";

if($result=mysql_query($exec))

{

if($ RS = MySQL _ fetch _ object($ result))

{

如果($ RS-& gt;密碼= = $密碼)

{

$ _ SESSION[' admin name ']= $ username;

header(" location:index . PHP ");

}

其他

{

回聲" & lt腳本& gtalert('密碼檢查錯誤!');location . href = ' log in . PHP ';& lt/script & gt;";

}

}

其他

{

回聲" & lt腳本& gtalert('用戶名檢查錯誤!');location . href = ' log in . PHP ';& lt/script & gt;";

}

}

其他

{

回聲" & lt腳本& gt警報(“數據庫連接錯誤!”);location . href = ' log in . PHP ';& lt/script & gt;";

}

?& gt

Conn.php是這樣的:

& lt?服務器端編程語言(Professional Hypertext Preprocessor的縮寫)

$ conn = MySQL _ connect(" 127 . 0 . 0 . 1 ",""," ");

MySQL _ select _ db(" shop ");

?& gt

因為$ _ session[' admin name ']= $ username;我們可以像這樣寫壹個驗證是否登錄的文件:checkadmin.php。

& lt?服務器端編程語言(Professional Hypertext Preprocessor的縮寫)

session_start()。

if($_SESSION['adminname']== ' ')

{

回聲" & lt腳本& gtalert('請先登錄');location . href = ' log in . PHP ';& lt/script >;

}

?& gt

進行分頁顯示

關鍵是在SQL語句中使用limit來限制顯示的記錄數。我們需要壹個變量$page來記錄當前頁面,我們還需要$num的記錄總數

對於$page,如果沒有頁面,讓它=0,如果有

$ execc = " select count(*)from tablename ";

$ resultc = MySQL _ query($ execc);

$ RSC = MySQL _ fetch _ array($ resultc);

$ num = $ RSC[0];

這可以得到記錄的總數。

Ceil($num/10))如果壹個頁面記錄10,這就是總頁數。

所以妳可以這樣寫

if(empty($_GET['page']))

{

$ page = 0;

}

其他

{

$ page = $ _ GET[' page '];

if($ page & lt;0)$ page = 0;

if($ page & gt;= ceil($ num/10))$ page = ceil($ num/10)-1;//因為page從0開始,所以應該是-1。

}

這樣,$exec就可以寫出$ exec = " select * from tablename limit "。($ page * 10)。",10";

//10記錄壹頁。

我們需要做的最後壹件事是壹些連接:

& lta href="xxx.php?page=0 " >首頁& lt/a & gt;

& lta href="xxx.php?page = & lt?=($page-1)?>& gtPrevPage & lt/a & gt;

& lta href="xxx.php?page = & lt?=($page+1)?>& gtNextPage & lt/a & gt;

& lta href="xxx.php?page = & lt?=ceil($num/10)-1?>& gtLastPage & lt/a & gt;

需要註意的事項

1,註意不要漏掉分號。

2.註意不要錯過變量前的$。

3.使用SESSION時,註意不要遺漏SESSION _ start();

如果出現錯誤,您可以采用以下方法:

1.如果SQL語句中有錯誤,請對其進行註釋,然後輸出SQL語句。註意註釋和調整後續的SQL語句。

2.如果變量為空,它通常不會被就地傳遞。檢查輸出變量,並檢查表單的id和名稱。

3.如果數據庫連接出現錯誤,檢查我的SQL是否正確打開,連接語句是否遺漏。

4.註意縮進,消除括號不匹配的錯誤。

在建壹個大網站的時候,我的想法是先建壹個數據庫,確定每個字段的功能和表之間的關系。然後設計後臺界面,從添加數據開始,因為添加成功可以直接在數據庫中驗證,完成添加後再顯示的頁面,最後是兩者的結合。壹般來說,後臺包括添加、刪除、修改和顯示。後臺沒問題,前臺也沒什麽大問題。前臺還需要註意安全性和容錯性,以及輸出格式。

學會用PHP上傳文件和發郵件。

上傳文件表單必須添加enctype="multipart/form-data "。

讓我們看壹下代碼:

$ f = & amp$ HTTP _ POST _ FILES[' file '];

$ dest _ dir = ' uploads//設置上傳目錄

$dest=$dest_dir。'/'.日期(“ymd”)。"_".$ f[' name '];//我將文件名設置為日期,並在此處添加文件名以避免重復。

$ r = move _ uploaded _ file($ f[' tmp _ name '],$ dest);

chmod($dest,0755);//設置上傳文件的屬性。

上傳的文件名是date(“ymd”)。"_".$f['name'],以後插入數據庫時可以使用。PHP實際上將上傳的文件從臨時目錄移動到指定的目錄。move _ uploaded _ file($ f[' tmp _ name '],$ dest);這是關鍵。

至於發郵件,就更簡單了。您可以使用mail()函數。

Mail("收件人地址"、"主題"、"正文"、"發件人:發件人\ r \回復:發件人地址");

但是mail()需要服務器的支持,SMTP服務器需要在WINDOWS下配置。壹般來說,外面的LINUX空間就可以了。

貌似上傳文件,發郵件比ASP簡單多了,調用函數就行了。ASP還需要使用服務器的不同組件,如FSO和JMAIL。