初學php
㈠ 如何學好php
1.首先,理解網站這一概念之後不難看出,任何網站都是由網頁組成的,也就是說想完成網站,必須先學會做網頁,因此必須要掌握了HTML,才能為今後製作網站打下基礎。
在學習HTML中我想邊學邊做是最有效的方式,當然這一方式對於學習PHP同樣是最有效的。HTML中的任何元素都要親自實踐,只有明白了什麼元素會起到什麼效果之後,你才會記憶深刻,而一味的啃書,絕對是不行的,我想大部分新手之所以覺得概念難學,大部分是一個字「懶」,懶是阻止進步的最大敵人,所以克服掉懶的習慣,才能更快的學好一樣東西。
也許您在學習PHP的時候只想盡快的開發一個網站,也就會想我做網站,幹嘛要學什麼網頁這些小兒科?不難看出,眼高手低的新手不在少數,這種思想無疑於建造空中樓閣,你不建地基,何來的房頂呢?
OK,掌握靜態網頁的製作技術是學習開發網站的先決條件,這一點就講到這里,因為這篇文章不是教程文章,也就不對技術進行深入的刨析了。
我假設你目前已經可以完成一個靜態頁面了,當然,做的好看難看是另外一說,默默的第一個網頁也沒好看到哪去,但是「孩子」再丑,咱們做「爹媽」的也不能嫌棄不是?這畢竟是咱的成果。那麼咱們就開始學習動態語言的概念吧,剛一接觸動態語言,可能很多人都會蒙了,怎麼這亂七八糟的東西,在網頁里顯示的時候卻是另外一碼事?其實這並不算亂七八糟,你寫的HTML代碼不也一樣是一堆堆的字元嗎?畢竟,代碼並不是作為直接輸出的,而是經過處理的,說白了,HTML是經過HTML解析器,而PHP當然也就通過PHP解析器了,跟學習HTML一樣的道理,想讓任何的解析器完成操作,就必須使用它們專用的語法結構,所以PHP長相奇怪也就不足為奇了。
對於PHP的理解是新手最難邁過的一道門檻,不過你應該感到幸運的是PHP已經最大極限的為了新手而努力了,如果你學過其他的語言,也許會覺得PHP的確相當的簡單,但是如果你之前什麼都沒學過,那麼阿彌陀佛,硬著頭皮琢磨吧。
書過三遍自然熟,這個簡單的道理告訴我們,即使你理解不了PHP,但是也必須先跟它混個臉熟,看,一遍遍的看,看的同時一邊琢磨,一邊按照它所教的打代碼,即使你搞不清楚那些代碼到底是幹嘛的,但是起碼你應該找找感覺。
在一段掙扎之後,聰明的你,顯然已經逐漸的開悟了,慢慢的理解了編程的概念,那麼祝賀你,你已經邁出了成功的第一步。
2.搞清楚HTML和PHP的概念,那麼PHP和HTML混合編程應該不成問題,在這期間,你完全可以讓PHP給你算算 一加一等於幾,然後在瀏覽器輸出,不要覺得幼稚,這的確是跟阿波羅登月一樣,你打的是一小段代碼,但是對於你的編程之路,可是邁出了一大步啊!興奮吧?但是不得不再給你潑點冷水,您還是菜鳥一個。
高興一段時間就必須繼續努力了,接下來就是學習資料庫了,MYsql可算是PHP的黃金搭檔了,不過,雖然話是這么說,你也可能恨不得把MYSQL給生吞活剝了,因為這一行一列的東東簡直讓自己頭暈目眩。
頭暈歸頭暈,目眩歸目眩,你不可能吃飯的時候咬了自己一下舌頭就從此不吃飯了不是?放下畏懼,繼續努力,咱們是來征服它的,而不是被它征服的,振奮起來吧同志。
在一番搏鬥之後,你終於理解了資料庫的概念,而且讓你興奮不已的是你終於可以通過PHP來連接資料庫了,這期間你是怎麼學會的,我們不去考證了,但是事實證明,你已經可以了。 學會了PHP和資料庫的你,無疑是左手拿著MOTOLOLA右手拿著NOKIA,要多瀟灑,有多瀟灑,哈哈,終於學會了,但是可能這個時候,又會有人不經意的拍拍肩膀對你說:哥們,別高興的太早,你還是菜鳥,離學會還差著一大截呢!
等到你發奮努力的學會了用PHP成功的插入,刪除,更新數據的時候,顯然,你已經距離成功指日可待了。
這個時候的你也許是這種狀態: 你會HTML嗎?會,我能編好幾個大表格排板的網頁啦! 你會PHP嗎?會,我會把一加一的運算寫在函數里,然後調用啦! 你會MYSQL嗎?會,我會把我的信息在資料庫里插入刪除啦。那,接下來你該怎麼做呢?我覺得,小試一下身手,大概是沒問題了,那麼交給你個任務,做個留言本吧,這和HELLO WORLD有一比啊!^_^,同是新手面臨的第一道關。
3.花了一段時間,你終於學會把表單的數據插入資料庫,然後顯示出來了,應該說一個程序的雛形已經誕生了。但是,你可能瞅瞅東,看看西,人家這個編論壇,那個CMS,還有那啥CRM,我啥時候寫一個呢?不要急,可以說你的馬步已經扎的差不多了,接下來就要開始練把勢的時候了,如果有條件的話,用筆或者列印一個簡易的PHP手冊在身上,時不時的摸出來看看,記得,去WC也不能放過(^2^)。再有條件的話,買本書看看吧,《PHP+MYSQL WEB開發(第三版)》號稱聖經級,(也許是個不錯的選擇(聲明:作者沒給我啥好處費,我也不是書托,隔著大老遠,我連他老兄的面都沒見過的說-_-)
鞏固了自己的知識,熟悉了PHP和MYSQL開發的要領之後,再回頭看你寫的那個留言本,你也許會懷疑那真的是你寫的嗎?當然,如果屋裡還有鬼的話,也許是它寫的-_- 這個時候,你的留言本應該加入注冊以及分頁功能了,而如果你更強的話,UI(用戶界面)也可以加強,完成之後,感覺是不是特有成就感?不管怎麼樣,咱好歹是寫了一個動態網站程序了,放在自己的網站上耍耍吧,讓好朋友來看看,嘿,看咱寫的多棒,然後再在網上宣傳一下。幾天之後你再打開留言本,哎?哇,一下彈出N多頁面!很明顯,你的留言本並沒有做好安全防範,被人用JS代碼小小的耍了一下,我很同情你這個時候的感受,但是沒有別的辦法了,繼續努力吧!
你發奮努力,熟悉了安全方面的問題,然後又設計了一些程序,感覺還不錯。那麼接下來,這就算學會啦?NO,NO,NO,還早呢,你至盡還沒碰過OOP之類的吧?模板呢?恩,學!加緊學呀學,學會了這些之後,你又學會了生成靜態網頁,現在你應該接觸一下XML了,恩,XML也了解了,那麼AJAX你也得接觸接觸吧?AJAX完了....然後...
總而言之,你絕對不會發現你全部都學會了,一些真正的強人總會搞出新玩意來丟給你,你不學就落後了,也印證了前人的經驗,果然是學無止境啊!我想通過我的一番YY,你也應該大致熟悉了一些學習過程,也許我的過程和你的有些出路,但是不管怎麼樣是殊途同歸,我寫這么多,也只是給大家一個借鑒的機會,至於好與不好,默默不敢打包票^0^ 看完之後你發現,羅嗦這么多,對我一點用處沒有啊,我知道該怎麼學,但是我想如何才能更快的學,一周速成,啊不,24小時速成那種,默默你有沒?我.......我沒有,但是2分鍾之內把你扁進醫院里,我倒是有把握-_-
4.學東西,永遠不要妄想有速成這一說,告訴你了一個方式,但是缺少努力這一環節,那也是白搭。但是有一點我可以給你保證的就是,你學會了PHP,那麼學其他的語言,肯定速成,反過來也一樣,如果你之前學過其他的語言,那麼學PHP肯定快。
不過語法好學,但是怎麼用語法來實現每個人都有每個人的方式,幾乎是各有千秋。然而借鑒別人成功的代碼,絕對是有益無害,因此,多看那些經過千錘百煉凝出來的經典代碼,是進階的最好方法。
講了這么多,無非是想說:學習PHP不僅要掌握方法,更多的是付出汗水,我不希望看到中途放棄的人,相信自己,相信自己的選擇,更要相信自己的能力,如果自己想放棄,暴力一點的話,就自己抽自己一個嘴巴,然後大吼:別人可以,我為什麼就不可以?(是不是有點閻羅教練的味道,默默的確是電影看多了,抽嘴巴是會痛的,各位其實明白這個道理了就行了)
㈡ 如何學好PHP知識
如何學好PHP知識
PHP 獨特的語法混合了C、Java、Perl以及PHP自創的語法。它可以比CGI或者Perl更快速地執行動態網頁。那麼如何學好PHP知識?以下僅供參考!
具體方法如下:
一,學習Php,首先得熟悉一樣相關html技術並掌握基本的css樣式,這樣就能了解頁面的構成為學習Php打下基礎,W3C學校里有豐富的編程教程,還支持邊寫邊練。
二,學習完html基礎後,接下來就是開始正式接觸php了,但這之前還有一部,那就是配置Php開發環境Php開發環境的配置有很多種方法,不過對於初學者來說大都是採用集成環境wamp啊,phpnow,xampp,apmser直接下載,安裝,再進行一下相關的配置即可環境配置好了,可以邊寫代碼變了解PHP的基本語法運算符啊,邏輯控制啊,數組的操作,字元的操作資料庫連接,以及Mysql查詢。
三,Php基礎需要再不斷的練習中穩固,面向對象編程,對於程序來說是非常重要的了解面向對象編程的意義,類的創建、類的多態、類的集成、類的封裝熟悉MVC架構,(模型model,視圖view,控制器controller)對於開發網站來說是很有必要性的,這確保網站文件放置位置的規范,後期維護網站,找起來也是比較方便。
四,xml和mysql的學習也是必須的Mysql的增刪改查(CURD)操作必須熟爛於心熟悉mysql不同資料庫引擎的差別,以便於根據自身網站需求來建。
五,熟悉cookie和session機制,有利於你更好的把握php會話的`處理。
六,lamp是指在linux環境下搭建的Php開發環境(較wamp環境下,處理快),故而熟悉Linux也是非常很重要的。熟悉smarty能夠幫你快速熟悉使用smarty開發的框架。。
七,php的知識掌握的差不多,接下來可以接觸一些框架CI框架,YII框架,JOOMLA框架ECSHOP框架,ECMALL框架,THINKPHP框架框架能夠幫助你快速的建站。
八,最後,告訴大家如何快速提升自己的php技術。一、在技術性論壇注冊一個賬號,參與討論,查看別人發的代碼二、加入技術群,關注裡面的討論,多看看別人的程序設計思路,用的方法三、多實際操作,不懂就得問。
;㈢ 初學PHP應該看什麼樣的
應該要學以下幾個方面
1、具備html基礎,這個是肯定得要的了,要是這方面沒基礎的,應該先自行學習下。
2、學習php+mysql這個是核心了,推薦下比較出名的2個教程:lamp兄弟連教程,或者是php100的視頻教程。
關於兄弟連的教程:主要是一些基礎的東西的學習,講得非常細,非常適合初學者。裡面詳細介紹了php和mysql的各個知識點,以及正則表達式等等內容,關於php100,可以看看後面的實例教程,這2個教程結合起來就能夠基本把php+mysql學習好了。
3、css。 主要是網站外表設計的。這個非常重要,一個漂亮的網站才容易吸引訪問者多停留。
4、JavaScript。 該技術可以讓你的網站更加豐富。
第三第四點的教程主要參考前沿視頻教程。
5、火車頭,作為站長這個是肯定得學習下的。個人站長內容全部靠自己寫,不太現實,剛開始用火車頭採集下還是很必要的。看看火車頭的相關說明,結果第三點中學習到的正則表達式,會讓你做網站輕松不少
PHP,一個嵌套的縮寫名稱,是英文超級文本預處理語言(PHP:Hypertext Preprocessor)的縮寫。PHP 是一種 HTML 內嵌式的語言,是一種在伺服器端執行的嵌入HTML文檔的腳本語言,語言的風格有類似於C語言,現在被很多的網站編程人員廣泛的運用,目前大多的開源的軟體都是採用php編寫
㈣ PHP程序開發的初學者幾點建議
很多人在剛學習PHP程序開發的時候很迷茫,不知道從哪裡下手。也不知道PHP程序開發到底是個什麼東西,可能只有略微的了解,所以剛開始學習起來很困難,走了很多彎路,下面IT培訓http://www.kmbdqn.cn/給PHP程序開發的初學者幾點建議,希望可以幫到你們。
如果對PHP程序開發一點概念都沒有的人可以在網上搜搜,裡面會有一些大神的文章,能幫助你快速的了解PHP程序開發。或者找個PHP培訓機構去學習一下,任何一門新語言的學習都是很困難的,需要你付出很多的經歷。想要學習PHP程序開發的更好更快就需要經常借鑒別人的經驗,讓你走的更加順利。北大青鳥就可以幫到您
首先不懂就要馬上問
任何人都不是智商很高一學就會的,在學習PHP程序開發的過程中都有可能,會遇到這樣那樣的各種問題,遇到不會的馬上就問,不要積攢了很多以後才想起來去問,那時你會發現自己想問的太多,反倒會無從下手,慢慢失去了學習PHP程序開發的興趣。網路是一個不錯的東西,找不到問的人就網路一下,裡面會有很多專業的解釋來幫助你,你也可以找到北大青鳥的大神講師,向他們請教高深不解的問題。
其次找一個好用的編碼器
編碼器有很多,但是適合你的不一定有很多,所以想要做好這件事,找一個適合自己的編碼器很重要,你可能覺得沒關系,我的適應能力很強,那就無所謂了,因為合適自己的編碼器會使自己在這個過程中很清楚,會節約你很多時間,也會影響你的心情。
最後不要對編碼產生疲倦的感覺
剛開始學習的時候,每一人帶領自學是一件很枯燥的事情。這個時候往往會產生疲倦的感覺,就會想到放棄,所以剛開始不要量太大,適量的來進行學習編碼,循序漸進。要有這個不斷積累的過程,相信最後你一定可以學好PHP程序開發。
㈤ 我想自學php
我就是自學的PHP,並不是特別難。
主要是要多實踐,書倒沒什麼書可以推薦你的。
我給你推薦個自學方式:
【1】網路搜索w3cschool,點開裡面有PHP模塊,裡面有很多教程。
為什麼要推薦這個,因為這裡面有很多的實例,都可以自己去嘗試,非常適合入門新手去學。
【2】下載護衛神Apache大師,安裝。
為什麼不是直接叫你去自己下載PHP安裝,因為一開始環境配置這個可以先略過,使用一些傻瓜式的軟體去配置PHP環境,這樣你就不需要去操心環境什麼的。另外還有一些同類軟體比如phpStudy什麼的。但是據我個人經驗,phpStudy對初學者不是特別友好,最主要的是護衛神集成了很多版本的PHP,5.2、5.3、5.4、5.5、7.0、7.1,建站啊什麼的都很友好,非常適合初學者去配置環境,專心去寫代碼。
【3】選擇一款IDE,這個IDE種類就非常多了,我個人比較喜歡Notepad++,如果你不習慣可以自己去找一個順手的。但是這個IDE建議你選了以後就不要再去嘗試別的,因為養成一種習慣以後對後期的學習有很大幫助,各種各樣的IDE都有很多不同的功能需要慢慢去熟悉去習慣,這個後面自己慢慢體會。
【4】手機下載一款APP,「PHP函數手冊」。為什麼要手機下載呢?因為方便,可能是我個人愛好,但是我覺得自學就是得充分利用零碎時間去熟悉函數的,我個人感覺用手機看函數是最能充分利用零碎時間的。
【5】這里需要注意一點,護衛神是挺方便, 但是不推薦在伺服器上使用這樣的一鍵式環境配置軟體。切記,尤其是生產類伺服器上,倒不是擔心軟體內部會有什麼問題。畢竟是一款一鍵式集成環境的,用的人多了,就有很多不懷好意的傢伙專門研究這個配置完會存在什麼樣的問題,雖然像護衛神安裝完會使用隨機密碼配置你的FTP、MySQL等。但是像PHP/Apache/MySQL的配置ini還是雷同的,很容易存在各種潛在隱患。當然,如果你覺得你完全有能力把各種危險函數一個個禁用消除潛在隱患當然可以,關鍵是你既然都非常了解了這些,還在乎自己去配置環境嗎?只是個人建議,練習和學習的時候就無所謂了。
【6】作為一個PHPer我給你再安利一下,PHP的強大是你入門的時候無法體會的,要一開始就給自己定位好具體要用PHP做什麼,如果是做網站你得同時去學習前端H5/JS/JQ/CSS等,同時無論做什麼都無法避免的要去連接資料庫,這方面你可以先考慮清楚要用什麼資料庫,雖說PHP和MYSQL是黃金搭檔,但不是說PHP就只能和MYSQL去搭配,MSSQL/Oracle等也是非常不錯的選擇, 尤其是在WINDOWS環境下開發的時候,MSSQL的體驗非常棒。當然,你要知道很多版本問題、兼容問題、驅動問題,都會是非常令人頭疼的,這方面你可以在後期需要的時候再去學,暫時就用MYSQL就可以滿足很多需求了。
我只是想告訴你一開始入門就打好web基礎,畢竟那麼多人說PHP去做別的都是「不務正業」的,那麼掌握PHP的「正業」是非常重要的。
等入門基礎打好了,開始練習面向對象編程,開始使用一些框架、使用一些優秀的PHP類庫和DLL拓展。後期就看興趣了,如果願意可以去試著自己寫DLL或者嘗試調用其他系統外部程序拓展,甚至桌面級程序的開發、深度學習等等。掌握好PHP,你會發現你僅僅是打開了一扇大門,另一個世界等著你探索,加油吧小夥子。
㈥ PHP入門基礎教程
PHP入門基礎教程大全
PHP於1994年由Rasmus Lerdorf創建,剛剛開始是Rasmus Lerdorf為了要維護個人網頁而製作的一個簡單的用Perl語言編寫的程序。這些工具程序用來顯示 Rasmus Lerdorf 的個人履歷,以及統計網頁流量。後來又用C語言重新編寫,包括可以訪問資料庫。他將這些程序和一些表單直譯器整合起來,稱為 PHP/FI。PHP/FI 可以和資料庫連接,產生簡單的動態網頁程序。為幫助大家入門學習php,我為大家分享PHP入門知識教程如下:
1、嵌入方法:
類似ASP的<%,PHP可以是<?php或者是<?,結束符號是?>,當然您也可以自己指定。
2、引用文件:
引用文件的方法有兩種:require 及 include。
require 的使用方法如 require("MyRequireFile.php"); 。這個函數通常放在 PHP 程序的最前面,PHP 程序在執行前,就會先讀入 require 所指定引入的文件,使它變成 PHP 程序網頁的一部份。常用的函數,亦可以這個方法將它引入網頁中。
include 使用方法如 include("MyIncludeFile.php"); 。這個函數一般是放在流程式控制制的處理部分中。PHP 程序網頁在讀到 include 的文件時,才將它讀進來。這種方式,可以把程序執行時的流程簡單化。
3、注釋方法:
<?php
echo "這是第一種例子。 " ; // 本例是 C++ 語法的注釋 (PHP的注釋跟C差不多!)
/* 本例採用多行的
注釋方式 */
echo "這是第二種例子。 " ;
echo "這是第三種例子。 " ; # 本例使用 UNIX Shell 語法注釋
?>
4、變數類型:
$mystring = "我是字元串" ;
$NewLine = "換行了 " ;
$int1 = 38 ;
$float1 = 1.732 ;
$float2 = 1.4E+2 ;
$MyArray1 = array( "子" , "丑" , "寅" , "卯" );
這里引出兩個問題,首先PHP變數以$開頭,第二PHP語句以;結尾,可能ASP程序員會不適應。這兩個遺漏也是程序上大多錯誤所在。
5、運算符號:
數**非法字眼已被屏蔽**算:
符號 意義
+ 加法運算
- 減法運算
* 乘法運算
/ 除法運算
% 取余數
++ 累加
-- 遞減
字元串運算:
運算符號只有一個,就是英文的句號。它可以將字元串連接起來,變成合並的新字元串。類似ASP中的&
<?
$a = "PHP 4" ;
$b = "功能強大" ;
echo $a.$b;
?>
這里也引出兩個問題,首先PHP中輸出語句是echo,第二類似ASP中的<%=變數%>,PHP中也可以<?=變數?>。
邏輯運算:
符號 意義
< 小於
> 大於
<= 小於或等於
>= 大於或等於
== 等於
!= 不等於
&& 而且 (And)
and 而且 (And)
或者 (Or)
or 或者 (Or)
xor 異或 (Xor)
! 不 (Not)
學習目的:掌握php的流程式控制制
1、if..else 循環有三種結構
第一種是只有用到 if 條件,當作單純的判斷。解釋成 "若發生了某事則怎樣處理"。語法如下:
if (expr) { statement }
其中的 expr 為判斷的條件,通常都是用邏輯運算符號當判斷的條件。而 statement 為符合條件的執行部分程序,若程序只有一行,可以省略大括弧 {}。
範例:本例省略大括弧。
<?php
if ($state==1)echo "哈哈" ;
?>
這里特別注意的是,判斷是否相等是==而不是=,ASP程序員可能常犯這個錯誤,= 是賦值。
範例:本例的執行部分有三行,不可省略大括弧。
<?php
if ($state==1) {
echo "哈哈 ;
echo "<br>" ;
}
?>
第兩種是除了 if 之外,加上了 else 的條件,可解釋成 "若發生了某事則怎樣處理,否則該如何解決"。語法如下
if (expr) { statement1 } else { statement2 } 範例:上面的例子來修改成更完整的處理。其中的 else 由於只有一行執行的指令,因此不用加上大括弧。
<?php
if ($state==1) {
echo "哈哈" ;
echo "<br>";
}
else{
echo "呵呵";
echo "<br>";
}
?>
第三種就是遞歸的 if..else 循環,通常用在多種決策判斷時。它將數個 if..else 拿來合並運用處理。
直接看下面的例子
<?php
if ( $a > $b ) {
echo "a 比 b 大" ;
} elseif ( $a == $b ) {
echo "a 等於 b" ;
} else {
echo "a 比 b 小" ;
}
?>
上例只用二層的 if..else 循環,用來比較 a 和 b 兩個變數。實際要使用這種遞歸 if..else 循環時,請小心使用,因為太多層的循環容易使設計的邏輯出問題,或者少打了大括弧等,都會造成程序出現莫名其妙的問題。
2、 for 循環就單純只有一種,沒有變化,它的語法如下
for (expr1; expr2; expr3) { statement }
其中的 expr1 為條件的`初始值。expr2 為判斷的條件,通常都是用邏輯運算符號 (logical operators) 當判斷的條件。expr3 為執行 statement 後要執行的部份,用來改變條件,供下次的循環判斷,如加一..等等。而 statement 為符合條件的執行部分程序,若程序只有一行,可以省略大括弧 {}。
下例是用 for 循環寫的的例子。
<?php
for ( $i = 1 ; $i <= 10 ; $i ++) {
echo "這是第".$i."次循環<br>" ;
}
?>
3、 switch 循環,通常處理復合式的條件判斷,每個子條件,都是 case 指令部分。在實作上若使用許多類似的 if 指令,可以將它綜合成 switch 循環。
語法如下
switch (expr) { case expr1: statement1; break; case expr2: statement2; break; default: statementN; break; }
其中的 expr 條件,通常為變數名稱。而 case 後的 exprN,通常表示變數值。冒號後則為符合該條件要執行的部分。注意要用 break 跳離循環。
<?php
switch ( date ( "D" )) {
case "Mon" :
echo "今天星期一" ;
break;
case "Tue" :
echo "今天星期二" ;
break;
case "Wed" :
echo "今天星期三" ;
break;
case "Thu" :
echo "今天星期四" ;
break;
case "Fri" :
echo "今天星期五" ;
break;
default:
echo "今天放假" ;
break;
}
?>
這里需要注意的是break;別遺漏了,default,省略是可以的。
很明顯的,上述的例子用 if 循環就很麻煩了。當然在設計時,要將出現機率最大的條件放在最前面,最少出現的條件放在最後面,可以增加程序的執行效率。上例由於每天出現的機率相同,所以不用注意條件的順序。
學會構建資料庫
在PHP中,MY SQL的命令行編輯可能會令初學者感到很麻煩,不要緊,你下載一個PHPMYADMIN安裝一下,以後建立編輯資料庫可以靠它了。
下面說一下它的使用。
進入了phpmyadmin後,我們首先需要建立一個資料庫,
Language (*) 這里選擇中文簡體,然後在左邊的 創建一個新的資料庫 這里填寫資料庫名字,點擊創建即可。
然後在左邊下拉菜單中選擇那個已經創建的資料庫。在下面的
在資料庫 shop 中創建一個新表 :
名字 :
欄位數 :
中填寫表名字和大致你認為的欄位數(不夠或者多了都不要緊,以後可以再添加或者預設),按執行。
然後就可以開始建立表了。
第一欄是欄位的名字;第二欄選擇欄位類型:
我們常用的是以下幾個:
1)VARCHAR,文本類型
2)INT,整數類型
3)FLOAT,浮點數類型
4)DATE,日期型
5)大家或許會問,自動添加的ID在哪裡?這個只要選擇INT類型,在後面的額外中選擇 auto_increment 就可以了。
建立了表以後,可以在左邊看到你建立的表,點擊以後,你可以:
1)按右邊的結構:查看修改表結構
2)按右邊的瀏覽:查看錶中的數據
3)按右邊的SQL:運行SQL語句
4)按右邊的插入:插入一行記錄
5)按右邊的清空:刪除表中所有記錄
6)按右邊的刪除:刪除表
還有一個很重要的功能就是導入和導出,當我們本機做好了程序和資料庫的時候,需要在伺服器上也有一個本地鏡像,如果是ASP的ACCESS簡單了,直接上傳MDB文件即可,如果是SQL SERVER也可以連接遠端伺服器進行導入。那麼MY SQL中你可以導出所有的SQL語句,到了遠端伺服器的PHPMYADMIN上,創建資料庫後按SQL,粘帖你剛才復制下來的所有本級生成的SQL語句即可。
學會連接資料庫
PHP簡直就是一個函數庫,豐富的函數使PHP的某些地方相當簡單。建議大家down一本PHP的函數手冊,總用的到。
我這里就簡單說一下連接MYSQL資料庫。
1、mysql_connect
打開 MySQL 伺服器連接。
語法: int mysql_connect(string [hostname] [:port], string [username], string [password]); 返回值: 整數
本函數建立與 MySQL 伺服器的連接。其中所有的參數都可省略。當使用本函數卻不加任何參數時,參數 hostname 的默認值為 localhost、參數 username 的默認值為 PHP 執行行程的擁有者、參數 password 則為空字元串 (即沒有密碼)。而參數 hostname 後面可以加冒號與埠號,代表使用哪個埠與 MySQL 連接。當然在使用資料庫時,早點使用 mysql_close() 將連接關掉可以節省資源。
2、 mysql_select_db
選擇一個資料庫。
語法: int mysql_select_db(string database_name, int [link_identifier]); 返回值: 整數
本函數選擇 MySQL 伺服器中的資料庫以供之後的資料查詢作業 (query) 處理。成功返回 true,失敗則返回 false。
最簡單的例子就是:
$conn=mysql_connect ("127.0.0.1", "", "");
mysql_select_db("shop");
連接機MY SQL資料庫,打開SHOP資料庫。在實際應用中應當加強點錯誤判斷。
學會讀取數據
先看兩個函數:
1、mysql_query
送出一個 query 字元串。 語法: int mysql_query(string query, int [link_identifier]); 返回值: 整數
本函數送出 query 字元串供 MySQL 做相關的處理或者執行。若沒有指定 link_identifier 參數,則程序會自動尋找最近打開的 ID。當 query 查詢字元串是 UPDATE、INSERT 及 DELETE 時,返回的可能是 true 或者 false;查詢的字元串是 SELECT 則返回新的 ID 值,當返回 false 時,並不是執行成功但無返回值,而是查詢的字元串有錯誤。
2、mysql_fetch_object 返回類資料。 語法: object mysql_fetch_object(int result, int [result_typ]); 返回值: 類
本函數用來將查詢結果 result 拆到類變數中。若 result 沒有資料,則返回 false 值。
看一個簡單的例子:
<?
$exec="select * from user";
$result=mysql_query($exec);
while($rs=mysql_fetch_object($result))
{
echo "username:".$rs->username."<br>";
}
?>
當然,表user中有一個username的欄位,這就類似asp中的
<%
exec="select * from user"
set rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,1
do while not rs.eof
response.write "username:"&rs("username")&"<br>"
rs.movenext
loop
%>
當然先要連接資料庫,一般我們 require_once('conn.php');而conn.php裡面就是上一次說的連接資料庫的代碼。
小小的兩條命令可以完成讀取數據的工作了
學會添加刪除修改數據
mysql_query($exec);
單這個語句就可以執行所有的操作了,不同的就是$exec這個sql語句
添加:$exec="insert into tablename (item1,item2) values ('".$_POST['item1']."',".$_POST['item1'].")";
刪除:$exec="delete from tablename where...";
修改:$exec="update tablename set item1='".$_POST['item1']."' where ...";
說到這里就要說一下表單和php變數傳遞,如果表單中的一個 <input name="item1" type="text" id="item1">
表單以POST提交的,那麼處理表單文件就可以用$_POST['item1']得到變數值,同樣以GET提交的就是$_GET['item1']
是不是很簡單?但是通常$exec會有問題,因為可能您的SQL語句會很長,您會遺漏.連接符,或者'來包圍字元型欄位。
我們可以注釋mysql_query($exec);語句用echo $exec;代替來輸出$exec以檢查正確性。如果您還不能察覺$exec有什麼錯誤的話,可以復制這個sql語句到phpmyadmin中執行,看看它的出錯信息。還有需要注意的是,我們不要使用一些敏感的字元串作為欄位名字,否則很可能會出現問題,比如說date什麼的。變數的命名,欄位的命名遵循一點規律有的時候對自己是一種好處,初學者並不可忽視其重要性。
學會SESSION的使用
SESSION的作用很多,最多用的就是站點內頁面間變數傳遞。
在頁面開始我們要session_start();開啟SESSION;
然後就可以使用SESSION變數了,比如說要賦值就是:$_SESSION['item']="item1";要得到值就是$item1=$_SESSION['item'];,很簡單吧。這里我們可能會使用到一些函數,比如說判斷是不是某SESSION變數為空,可以這么寫:empty($_SESSION['inum'])返回true or false。
下面綜合一下前面所說的我們來看一個登陸程序,判斷用戶名密碼是否正確。
登陸表單是這樣:login.php
<table width="100%" height="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<form action="checklogin.php" method="post"><td align="center" valign="middle"><table width="400" border="0" cellpadding="5" cellspacing="1" class="tablebg">
<tr class="tdbg">
<td colspan="2"><p align="center">Administrators Login</p></td>
</tr>
<tr class="tdbg">
<td><p align="center">Username</p></td>
<td><p align="center">
<input name="username" type="text" id="username">
</p></td>
</tr>
<tr class="tdbg">
<td><p align="center">Password</p></td>
<td><p align="center">
<input name="password" type="password" id="password">
</p></td>
</tr>
<tr class="tdbg">
<td colspan="2"><p align="center">
<input type="submit" name="Submit" value="Submit">
<input type="reset" name="Submit2" value="Clear">
</p></td>
</tr>
</table></td></form>
</tr>
</table>
處理文件是這樣
<?php
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))
{
if($rs->password==$password)
{
$_SESSION['adminname']=$username;
header("location:index.php");
}
else
{
echo "<script>alert('Password Check Error!');location.href='login.php';</script>";
}
}
else
{
echo "<script>alert('Username Check Error!');location.href='login.php';</script>";
}
}
else
{
echo "<script>alert('Database Connection Error!');location.href='login.php';</script>";
}
?>
conn.php是這樣:
<?php
$conn=mysql_connect ("127.0.0.1", "", "");
mysql_select_db("shop");
?>
由於 $_SESSION['adminname']=$username;我們可以這樣寫驗證是否登陸語句的文件:checkadmin.php
<?php
session_start();
if($_SESSION['adminname']=='')
{
echo "<script>alert('Please Login First');location.href='login.php';</script>";
}
?>
做一個分頁顯示
關鍵就是用到了SQL語句中的limit來限定顯示的記錄從幾到幾。我們需要一個記錄當前頁的變數$page,還需要總共的記錄數$num
對於$page如果沒有我們就讓它=0,如果有<0就讓它也=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;
}
else
{
$page=$_GET['page'];
if($page<0)$page=0;
if($page>=ceil($num/10))$page=ceil($num/10)-1;//因為page是從0開始的,所以要-1
}
這樣$exec可以這么寫 $exec="select * from tablename limit ".($page*10).",10";
//一頁是10記錄的
最後我們需要做的就是幾個連接:
<a href="xxx.php?page=0">FirstPage</a>
<a href="xxx.php?page=<?=($page-1)?>">PrevPage</a>
<a href="xxx.php?page=<?=($page+1)?>">NextPage</a>
<a href="xxx.php?page=<?=ceil($num/10)-1?>">LastPage</a>
注意事項
1、注意不要漏了分號
2、注意不要漏了變數前的$
3、使用SESSION的時候注意不要遺漏session_start();
如果發生錯誤的時候,可以採用以下方法:
1、如果是SQL語句出錯,就注釋瞭然後輸出SQL語句,注意也要注釋調後續的執行SQL語句
2、如果是變數為空,大多是沒有傳遞到位,輸出變數檢查一下,檢查一下表單的id和name
3、如果是資料庫連接出錯,檢查是否正確打開MY SQL和是否遺漏了連接語句
4、注意縮進,排除括弧不區配的錯誤
在做大網站的時候,我的思路是先構建資料庫,確定每一個欄位的作用,和表之間的關系。然後設計後台界面,從添加數據開始做起,因為添加是否成功可以直接到資料庫裡面驗證,做好了添加再做顯示的頁面,最後才是兩者的結合。一般來說後台就包括添加刪除修改和顯示,後台沒有問題了,前台也沒有什麼大問題。前台還需要注意安全性和容錯還有就是輸出格式。
學會用PHP上傳文件和發郵件
上傳文件表單必須加上 enctype="multipart/form-data"
和 <input type="file" name="file">
下面看一下代碼:
$f=&$HTTP_POST_FILES['file'];
$dest_dir='uploads';//設定上傳目錄
$dest=$dest_dir.'/'.date("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("收件人地址","主題","正文","From:發件人 Reply-to:發件人的地址");
不過mail()需要伺服器的支持,在WINDOWS下還需要配置SMTP伺服器,一般來說外面的LINUX空間都行。
好像上傳文件和發郵件比ASP簡單很多,只要調用函數就可以了。ASP還需要用到伺服器的不同組件比如FSO、JMAIL什麼的。
;