第一篇:PHP學(xué)習(xí)心得與體會(huì)
PHP學(xué)習(xí)心得與體會(huì)
我想在講述自己的學(xué)習(xí)方式前,對(duì)那些期望能從我的文章中獲得有用信息的人說一句心里話:
我的文章不會(huì)對(duì)您的學(xué)習(xí)起到實(shí)質(zhì)性的作用,您能否成功,還得靠自己的,堅(jiān)持,堅(jiān)持,再堅(jiān)持,就是步入成功的不二法門。
我先把我自己學(xué)習(xí)PHP的過程做一下概括:
(1)熟悉HTML/CSS/JS等網(wǎng)頁基本元素,完成階段可自行制作完整的網(wǎng)頁,對(duì)元素屬性達(dá)到熟悉程度
(2)理解動(dòng)態(tài)語言的概念,運(yùn)做機(jī)制,熟悉PHP語法
(3)學(xué)習(xí)如何將PHP與HTML結(jié)合起來完成簡(jiǎn)單動(dòng)態(tài)頁面
(4)接觸MYSQL,開始設(shè)計(jì)數(shù)據(jù)庫(kù)程序
(5)不斷鞏固,摸透大部分PHP常用函數(shù),并可理解OOP,MYSQL優(yōu)化,以及模板
(6)完成一個(gè)功能齊全的動(dòng)態(tài)站點(diǎn)
我的這套線路可能跟許多學(xué)習(xí)PHP的愛好者不謀而合,這也算是一個(gè)循序漸進(jìn)的學(xué)習(xí)過程,不過新手不要看到上面的概括就以為學(xué)習(xí)蠻簡(jiǎn)單的,默默在此不得不對(duì)您稍微潑一下冷水,任何東西其實(shí)都不簡(jiǎn)單,即使是小吃部的燒餅也不是一下子就會(huì)做成的。
我先解釋一下我的學(xué)習(xí)思路。
首先,理解網(wǎng)站這一概念之后不難看出,任何網(wǎng)站都是由網(wǎng)頁組成的,也就是說想完成網(wǎng)站,必須先學(xué)會(huì)做網(wǎng)頁,因此必須要掌握了HTML,才能為今后制作網(wǎng)站打下基礎(chǔ)。
在學(xué)習(xí)HTML中我想邊學(xué)邊做是最有效的方式,當(dāng)然這一方式對(duì)于學(xué)習(xí)PHP同樣是最有效的。
HTML中的任何元素都要親自實(shí)踐,只有明白了什么元素會(huì)起到什么效果之后,你才會(huì)記憶深刻,而一味的啃書,絕對(duì)是不行的,我想大部分新手之所以覺得概念難學(xué),大部分是一個(gè)字“懶”,懶是阻止進(jìn)步的最大敵人,所以克服掉懶的習(xí)慣,才能更快的學(xué)好一樣?xùn)|西。
也許您在學(xué)習(xí)PHP的時(shí)候只想盡快的開發(fā)一個(gè)網(wǎng)站,也就會(huì)想我做網(wǎng)站,干嘛要學(xué)什么網(wǎng)頁這些小兒科?不難看出,眼高手低的新手不在少數(shù),這種思想無疑于建造空中樓閣,你不建地基,何來的房頂呢?
OK,掌握靜態(tài)網(wǎng)頁的制作技術(shù)是學(xué)習(xí)開發(fā)網(wǎng)站的先決條件,這一點(diǎn)就講到這里,因?yàn)檫@篇文章不是教程文章,也就不對(duì)技術(shù)進(jìn)行深入的刨析了。
我假設(shè)你目前已經(jīng)可以完成一個(gè)靜態(tài)頁面了,當(dāng)然,做的好看難看是另外一說,皮皮我的第一個(gè)網(wǎng)頁也沒好看到哪去,但是“孩子”再丑,咱們做“爹媽”的也不能嫌棄不是?這畢竟是咱的成果。那么咱們就開始學(xué)習(xí)動(dòng)態(tài)語言的概念吧,剛一接觸動(dòng)態(tài)語言,可能很多人都會(huì)蒙了,怎么這亂七八糟的東西,在網(wǎng)頁里顯示的時(shí)候卻是另外一碼事?其實(shí)這并不算亂七八糟,你寫的HTML代碼不也一樣是一堆堆的字符嗎?畢竟,代碼并不是作為直接輸出的,而是經(jīng)過處理的,說白了,HTML是經(jīng)過HTML解析器,而PHP當(dāng)然也就通過PHP解析器了,跟學(xué)習(xí)HTML一樣的道理,想讓任何的解析器完成操作,就必須使用它們專用的語法結(jié)構(gòu),所以PHP長(zhǎng)相奇怪也就不足為奇了。
對(duì)于PHP的理解是新手最難邁過的一道門檻,不過你應(yīng)該感到幸運(yùn)的是PHP已經(jīng)最大極限的為了新手而努力了,如果你學(xué)過其他的語言,也許會(huì)覺得PHP的確相當(dāng)?shù)暮?jiǎn)單,但是如果你之前什么都沒學(xué)過,那么阿彌陀佛,硬著頭皮琢磨吧。
書過三遍自然熟,這個(gè)簡(jiǎn)單的道理告訴我們,即使你理解不了PHP,但是也必須先跟它混個(gè)臉熟,看,一遍遍的看,看的同時(shí)一邊琢磨,一邊按照它所教的打代碼,即使你搞不清楚那些代碼到底是干嘛的,但是起碼你應(yīng)該找找感覺。
在一段掙扎之后,聰明的你,顯然已經(jīng)逐漸的開悟了,慢慢的理解了編程的概念,那么祝賀你,你已經(jīng)邁出了成功的第一步。
搞清楚HTML和PHP的概念,那么PHP和HTML混合編程應(yīng)該不成問題,在這期間,你完全可以讓PHP給你算算 一加一等于幾,然后在瀏覽器輸出,不要覺得幼稚,這的確是跟阿波羅登月一樣,你打的是一小段代碼,但是對(duì)于你的編程之路,可是邁出了一大步啊!興奮吧?但是不得不再給你潑點(diǎn)冷水,您還是菜鳥一個(gè)。
高興一段時(shí)間就必須繼續(xù)努力了,接下來就是學(xué)習(xí)數(shù)據(jù)庫(kù)了,MYSQL可算是PHP的黃金搭檔了,不過,雖然話是這么說,你也可能恨不得把MYSQL給生吞活剝了,因?yàn)檫@一行一列的東東簡(jiǎn)直讓自己頭暈?zāi)垦!?/p>
頭暈歸頭暈,目眩歸目眩,你不可能吃飯的時(shí)候咬了自己一下舌頭就從此不吃飯了不是?放下畏懼,繼續(xù)努力,咱們是來征服它的,而不是被它征服的,振奮起來吧同志。
在一番搏斗之后,你終于理解了數(shù)據(jù)庫(kù)的概念,而且讓你興奮不已的是你終于可以通過PHP來連接數(shù)據(jù)庫(kù)了,這期間你是怎么學(xué)會(huì)的,我們不去考證了,但是事實(shí)證明,你已經(jīng)可以了。
學(xué)會(huì)了PHP和數(shù)據(jù)庫(kù)的你,無疑是左手拿著MOTOLOLA右手拿著NOKIA,要多瀟灑,有多瀟灑,哈哈,終于學(xué)會(huì)了,但是可能這個(gè)時(shí)候,又會(huì)有人不經(jīng)意的拍拍肩膀?qū)δ阏f:哥們,別高興的太早,你還是菜鳥,離學(xué)會(huì)還差著一大截呢!
等到你發(fā)奮努力的學(xué)會(huì)了用PHP成功的插入,刪除,更新數(shù)據(jù)的時(shí)候,顯然,你已經(jīng)距離成功指日可待了。
這個(gè)時(shí)候的你也許是這種狀態(tài):
你會(huì)HTML嗎?會(huì),我能編好幾個(gè)大表格排板的網(wǎng)頁啦!
你會(huì)PHP嗎?會(huì),我會(huì)把一加一的運(yùn)算寫在函數(shù)里,然后調(diào)用啦!
你會(huì)MYSQL嗎?會(huì),我會(huì)把我的信息在數(shù)據(jù)庫(kù)里插入刪除啦
那,接下來你該怎么做呢?我覺得,小試一下身手,大概是沒問題了,那么交給你個(gè)任務(wù),做個(gè)留言本吧,這和HELLO WORLD有一比啊!^_^,同是新手面臨的第一道關(guān)。
花了一段時(shí)間,你終于學(xué)會(huì)把表單的數(shù)據(jù)插入數(shù)據(jù)庫(kù),然后顯示出來了,應(yīng)該說一個(gè)程序的雛形已經(jīng)誕生了。
但是,你可能瞅瞅東,看看西,人家這個(gè)編論壇,那個(gè)CMS,還有那啥CRM,我啥時(shí)候?qū)懸粋€(gè)呢?
不要急,可以說你的馬步已經(jīng)扎的差不多了,接下來就要開始練把勢(shì)的時(shí)候了,如果有條件的話,用筆或者打印一個(gè)簡(jiǎn)易的PHP手冊(cè)在身上,時(shí)不時(shí)的摸出來看看,記得,去WC也不能放過(^2^)。
再有條件的話,買本書看看吧,《PHP+MYSQL WEB開發(fā)(第三版)》號(hào)稱圣經(jīng)級(jí),(也許是個(gè)不錯(cuò)的選擇(聲明:作者沒給我啥好處費(fèi),我也不是書托,隔著大老遠(yuǎn),我連他老兄的面都沒見過的說-_-)
鞏固了自己的知識(shí),熟悉了PHP和MYSQL開發(fā)的要領(lǐng)之后,再回頭看你寫的那個(gè)留言本,你也許會(huì)懷疑那真的是你寫的嗎?當(dāng)然,如果屋里還有鬼的話,也許是它寫的-_-
這個(gè)時(shí)候,你的留言本應(yīng)該加入注冊(cè)以及分頁功能了,而如果你更強(qiáng)的話,UI(用戶界面)也可以加強(qiáng),完成之后,感覺是不是特有成就感?不管怎么樣,咱好歹是寫了一個(gè)動(dòng)態(tài)網(wǎng)站程序了,放在自己的網(wǎng)站上耍耍吧,讓好朋友來看看,嘿,看咱寫的多棒,然后再在網(wǎng)上宣傳一下。
幾天之后你再打開留言本,哎?哇,一下彈出N多頁面!很明顯,你的留言本并沒有做好安全防范,被人用JS代碼小小的耍了一下,我很同情你這個(gè)時(shí)候的感受,但是沒有別的辦法了,繼續(xù)努力吧!你發(fā)奮努力,熟悉了安全方面的問題,然后又設(shè)計(jì)了一些程序,感覺還不錯(cuò)。
那么接下來,這就算學(xué)會(huì)啦?NO,NO,NO,還早呢,你至盡還沒碰過OOP之類的吧?模板呢?
恩,學(xué)!加緊學(xué)呀學(xué),學(xué)會(huì)了這些之后,你又學(xué)會(huì)了生成靜態(tài)網(wǎng)頁,現(xiàn)在你應(yīng)該接觸一下XML了,恩,XML也了解了,那么AJAX你也得接觸接觸吧?AJAX完了....然后...總而言之,你絕對(duì)不會(huì)發(fā)現(xiàn)你全部都學(xué)會(huì)了,一些真正的強(qiáng)人總會(huì)搞出新玩意來丟給你,你不學(xué)就落后了,也印證了前人的經(jīng)驗(yàn),果然是學(xué)無止境啊!
我想通過我的一番YY,你也應(yīng)該大致熟悉了一些學(xué)習(xí)過程,也許我的過程和你的有些出路,但是不管怎么樣是殊途同歸,我寫這么多,也只是給大家一個(gè)借鑒的機(jī)會(huì),至于好與不好,默默不敢打包票^0^
看完之后你發(fā)現(xiàn),羅嗦這么多,對(duì)我一點(diǎn)用處沒有啊,我知道該怎么學(xué),但是我想如何才能更快的學(xué),一周速成,啊不,24小時(shí)速成那種,皮皮你有沒?
我.......我沒有,但是2分鐘之內(nèi)把你扁進(jìn)醫(yī)院里,我倒是有把握-_-
學(xué)東西,永遠(yuǎn)不要妄想有速成這一說,告訴你了一個(gè)方式,但是缺少努力這一環(huán)節(jié),那也是白搭。
但是有一點(diǎn)我可以給你保證的就是,你學(xué)會(huì)了PHP,那么學(xué)其他的語言,肯定速成,反過來也一樣,如果你之前學(xué)過其他的語言,那么學(xué)PHP肯定快。
不過語法好學(xué),但是怎么用語法來實(shí)現(xiàn)每個(gè)人都有每個(gè)人的方式,幾乎是各有千秋。然而借鑒別人成功的代碼,絕對(duì)是有益無害,因此,多看那些經(jīng)過千錘百煉凝出來的經(jīng)典代碼,是進(jìn)階的最好方法。
講了這么多,無非是想說:學(xué)習(xí)PHP不僅要掌握方法,更多的是付出汗水,我不希望看到中途放棄的人,相信自己,相信自己的選擇,更要相信自己的能力,如果自己想放棄,暴力一點(diǎn)的話,就自己抽自己一個(gè)嘴巴,然后大吼:別人可以,我為什么就不可以?(是不是有點(diǎn)閻羅教練的味道,默默的確是電影看多了,抽嘴巴是會(huì)痛的,各位其實(shí)明白這個(gè)道理了就行了)
另外要叮囑各位的是,抵御誘惑,ASP/PHP/JSP/.NET的對(duì)比也許會(huì)讓你無所適從,你也許學(xué)了一半PHP,又開始打C#的主意,或者有人說JAVA很強(qiáng),這個(gè)時(shí)候的你絕對(duì)不能動(dòng)搖,哪怕你真想學(xué),也得學(xué)會(huì)了PHP。然后再學(xué),見異思遷是最不可取的,狗熊掰玉米就是這個(gè)道理,如果經(jīng)常中途放棄,只能是一無所獲,還浪費(fèi)了N多的時(shí)間和經(jīng)歷,得不償失,最重要的是,你會(huì)被別人瞧不起,沒有人會(huì)喜歡和見異思遷的人交朋友,因?yàn)檫@種人太不安分,太不可靠,因此,你必須要強(qiáng)迫自己完成自己的目標(biāo),哪怕可能會(huì)很難受,也得堅(jiān)持,毅力就是這么鍛煉出來的。
第二篇:php學(xué)習(xí)心得
php學(xué)習(xí)心得(適合php初學(xué)者)
來源: 發(fā)布時(shí)間:2009-09-18 發(fā)布人: 瀏覽:30人次字體:[大 中 小]
【1】頁面之間無法傳遞變量 get,post,session在最新的php版本中自動(dòng)全局變量是關(guān)閉的,所以要從上一頁面取得提交過來得變量要使用$_GET['foo'],$_POST['foo'],$_SESSION['foo']來得到
當(dāng)然也可以修改自動(dòng)全局變量為開(php.ini改為register_globals = On);考慮到兼容性,還是強(qiáng)迫自己熟悉新的寫法比較好。
【2】Win32下apache2 用get方法傳遞中文參數(shù)會(huì)出錯(cuò)
test.php?a=你好&b=你也好
傳遞參數(shù)是會(huì)導(dǎo)致一個(gè)內(nèi)部錯(cuò)誤
解決辦法:“test.php?a=”.urlencode(你好).“&b=”.urlencode(你也好)
......【3】win32下的session不能正常工作
php.ini默認(rèn)的session.save_path = /tmp
這顯然是linux下的配置,win32下php無法讀寫session文件導(dǎo)致session無法使用 把它改成一個(gè)絕對(duì)路徑就可以了,例如session.save_path = c:windows emp
【4】顯示錯(cuò)誤信息
當(dāng)php.ini的display_errors = On并且error_reporting = E_ALL時(shí),將顯示所有的錯(cuò)誤和提示,調(diào)試的時(shí)候最好打開以便糾錯(cuò),如果你用以前php寫法錯(cuò)誤信息多半是關(guān)于未定義變量的。變量在賦值以前調(diào)用會(huì)有提示,解決辦法是探測(cè)或者屏蔽
例如顯示$foo,可以if(isset($foo))echo $foo 或者echo @$foo
【5】Win32下mail()不能發(fā)送電子郵件
在linux下配置好的sendmail可以發(fā)送,在win32下需要調(diào)用smtp服務(wù)器來發(fā)送電子郵件 修改php.ini的SMTP = ip //ip是不帶驗(yàn)證功能的smtp服務(wù)器(網(wǎng)上很難找到)
php發(fā)送郵件的最好解決方法是用socket直接發(fā)送到對(duì)方email服務(wù)器而不用轉(zhuǎn)發(fā)服務(wù)器
【6】初裝的mysql如果沒有設(shè)置密碼,應(yīng)該使用
update mysql.user set password=“yourpassword” where user=“root”
修改密碼
【7】header already sent
這個(gè)錯(cuò)誤通常會(huì)在你使用HEADER的時(shí)候出現(xiàn),他可能是幾種原因:1,你在使用HEADER前PRING或者ECHO了2.你當(dāng)前文件前面有空行3.你可能INCLUDE了一個(gè)文件,該文件尾部有空行或者輸出也會(huì)出現(xiàn)這種錯(cuò)誤。!
【8】更改php.ini后沒有變化
重新啟動(dòng)web server,比如IIS,Apache等等,然后才會(huì)應(yīng)用最新的設(shè)置
【9】php在2003上面安裝(ISAPI的安裝方法懇請(qǐng)高手指教)
PHP4的php4isapi.dll好像和2003有些沖突,只能用CGI模式安裝
步驟一,先 下在一個(gè)安裝程序,我是裝的是:php-4.2.3-installer.exe,你也可以去找最新的版本,在安裝php-4.2.3-installer.exe之前保證你的IIS6.0啟動(dòng)了,并能夠訪問。安裝好以后,在默認(rèn)網(wǎng)站-->應(yīng)用程序配置
步驟二:點(diǎn)擊 web服務(wù)擴(kuò)展-->新建web服務(wù)擴(kuò)展.步驟三: 擴(kuò)展名-->php,然后添加
步驟四:找到php.exe的路徑添加上去。
步驟五: 確定就可以了!
步驟六: 選擇php的服務(wù)擴(kuò)展,然后點(diǎn)擊允許。
【10】
有時(shí)候sql語句不起作用,對(duì)數(shù)據(jù)庫(kù)操作失敗
最簡(jiǎn)便的調(diào)試方法,echo那句sql,看看變量的值能得到不
【11】include和require的區(qū)別
兩者沒有太大的區(qū)別,如果要包含的文件不存在,include提示notice,然后繼續(xù)執(zhí)行下面的語句,require提示致命錯(cuò)誤并且退出
據(jù)我測(cè)試,win32平臺(tái)下它們都是先包含后執(zhí)行,所以被包含文件里最好不要再有include或require語句,這樣會(huì)造成目錄混亂?;蛟S*nux下情況不同,暫時(shí)還沒測(cè)試
如果一個(gè)文件不想被包含多次可以使用include_once或require_once## 讀取,寫入文檔數(shù)據(jù) function r($file_name){
$filenum=@fopen($file_name,“r”);
@flock($filenum,LOCK_SH);
$file_data=@fread($filenum,filesize($file_name));
@fclose($filenum);
return $file_data;
}
function w($file_name,$data,$method=“w”){
$filenum=@fopen($file_name,$method);
flock($filenum,LOCK_EX);
$file_data=fwrite($filenum,$data);
fclose($filenum);
return $file_data;
}
【12】isset()和empty()的區(qū)別
兩者都是測(cè)試變量用的但是isset()是測(cè)試變量是否被賦值,而empty()是測(cè)試一個(gè)已經(jīng)被賦值的變量是否為空 如果一個(gè)變量沒被賦值就引用在php里是被允許的,但會(huì)有notice提示
如果一個(gè)變量被賦空值,$foo=“"或者$foo=0或者 $foo=false,那么empty($foo)返回真,isset($foo)也返回真,就是說賦空值不會(huì)注銷一個(gè)變量。
要注銷一個(gè)變量,可以用 unset($foo)或者$foo=NULL
【13】mysql查詢語句包含有關(guān)鍵字
php查詢mysql的時(shí)候,有時(shí)候mysql表名或者列名會(huì)有關(guān)鍵字
這時(shí)候查詢會(huì)有錯(cuò)誤。例如表名是order,查詢時(shí)候會(huì)出錯(cuò)
簡(jiǎn)單的辦法是sql語句里表名或者列名加上`[tab鍵上面]來加以區(qū)別
例如select * from `order`
【14】通過HTTP協(xié)議一次上傳多個(gè)文件的方法
有兩個(gè)思路,是同一個(gè)方法的兩種實(shí)現(xiàn)。具體程序還需自己去設(shè)計(jì)
1,在form中設(shè)置多個(gè)文件輸入框,用數(shù)組命名他們的名字,如下:
這樣,在服務(wù)器端做以下測(cè)試
echo ”
“;
print_r($_FILES);
echo ”“;
1,在form中設(shè)置多個(gè)文件輸入框,但名字不同,如下:
在服務(wù)器端做同樣測(cè)試:
echo ”
“;
print_r($_FILES);
echo ”";
第三篇:PHP學(xué)習(xí)心得
PHP學(xué)習(xí)心得
先說學(xué)習(xí)PHP有什么用處吧,畢竟學(xué)習(xí)前應(yīng)該是對(duì)所要學(xué)習(xí)的東西有所了解,才會(huì)更有興趣去學(xué)習(xí)它。
學(xué)習(xí)PHP主要是用來開發(fā)web站點(diǎn),也就是網(wǎng)站,它和asp、java等語言類似,都是運(yùn)行在服務(wù)器上的程序,用來動(dòng)態(tài)地為用戶提供網(wǎng)頁服務(wù)。
學(xué)習(xí)了它,現(xiàn)實(shí)里可以用它賺錢,方法是自己接活兒,或者找PHP程序員的工作,或者你也可以用PHP來自己制作網(wǎng)站,制作了網(wǎng)站后,當(dāng)然也可以賺錢。
如果感覺自己在學(xué)習(xí)php方面無從下手,那么有一套很好的教程可以讓你擺脫這種心理,你去看看,有一套張老師講的教程,循序漸進(jìn)而且有系統(tǒng)。所有的都是從實(shí)例出發(fā),最重要的是免費(fèi)。
再有一點(diǎn)重要的是,在學(xué)習(xí)前最好有個(gè)目標(biāo),就是你學(xué)這個(gè)你想用來做啥,比如我就先構(gòu)思個(gè)網(wǎng)站,然后在學(xué)習(xí)中解決各類問題。
另外最重要的就是要有毅力
我英文不好能學(xué)習(xí)嗎?回答是YSE
我數(shù)學(xué)不好能學(xué)嗎?回答是YES
我沒有基礎(chǔ)看這個(gè)視頻學(xué)習(xí)能學(xué)嗎?回答也是YES
我沒耐心能學(xué)嗎?回答是NO~
學(xué)習(xí)php只是一部分,html、css、js是都要學(xué)的,而且是必須的,但是這些東西尤其是js很像php,其它的就太簡(jiǎn)單了,沒什么難的。如果更好的學(xué)習(xí)建議可以先看看些 HTML 和 SQL 的基礎(chǔ)。
另外w3school也是個(gè)不錯(cuò)的地方,http://.cn/php/index.asp。里面有詳細(xì)的手冊(cè)和資料。
開始學(xué)習(xí)的時(shí)候,尤其是最開是下手編程很艱難,可以上網(wǎng)找些源代碼來琢磨,但是一定要自己動(dòng)手寫,不能光看不練。PHP最大的優(yōu)勢(shì)優(yōu)勢(shì)就是源代碼十分多,不像JSP那樣很多封包的,大家一定要好好利用啊。
其次,就是大家可以加些群和論壇,有問題和高手請(qǐng)教下,說不準(zhǔn)會(huì)茅塞頓開,一個(gè)人閉門造車還是很累的。俗話說,獨(dú)樂樂不如眾樂嘛,本人也是個(gè)初學(xué)的菜鳥,希望以上對(duì)大家有些幫助。
第四篇:php入門學(xué)習(xí)心得
php入門學(xué)習(xí)心得.txt和英俊的男人握握手,和深刻的男人談?wù)勑?,和成功的男人多交流,和普通的男人過日子。我想簡(jiǎn)單介紹一下新入門php的感受.php開發(fā)以簡(jiǎn)單快捷著稱;學(xué)它做項(xiàng)目比java要快(3天就可以入門);
但我認(rèn)為php簡(jiǎn)單的是外表;其實(shí)它的功能非常強(qiáng)大;要學(xué)精恐怕須多做幾年的實(shí)戰(zhàn)項(xiàng)目才干敢自稱呢.php也有架構(gòu)(但沒有java強(qiáng));也有連接池;不過比較麻煩.下面簡(jiǎn)單介紹一下PHP的語法。(和java對(duì)比;我會(huì)用程序說明比較直觀)
1、嵌入方法:
類似JSP的<%,PHP可以是。
2、引用文件:
引用文件的方法有兩種:require 及 include。(最好用require_once和include_once;效率會(huì)略高)
require 的使用方法如 require(“test.php”)。這個(gè)函數(shù)通常放在 PHP 程序的最前面,PHP 程序在執(zhí)行前,就會(huì)先讀入 require 所指定引入的文件,使它變成 PHP 程序網(wǎng)頁的一部份。
常用的函數(shù),亦可以這個(gè)方法將它引入網(wǎng)頁中。
include 使用方法如 include(“test.php”)。這個(gè)函數(shù)一般是放在流程控制的處理部分中。
PHP 程序網(wǎng)頁在讀到 include 的文件時(shí),才將它讀進(jìn)來。這種方式,可以把程序執(zhí)行時(shí)的流程簡(jiǎn)單化。
3、注釋方法:
和java一樣;3種(1:/**abc */ 2:/*abc */ 3://abc)
4、變量類型:
$str = “test”;
$int1 = 66;
$float1 = 1.653;
$float2 = 1.3E+5;
$array1 = array(“甲” , “乙” , “丙” , “丁”);
這里引出兩個(gè)問題,首先PHP變量以$開頭,第二PHP語句以;結(jié)尾。
5.php輸出方法:
以下有3種方法輸出:
echo
printf 卻一定要有圓括號(hào);用來格式化數(shù)字的輸出??梢园岩粋€(gè)數(shù)作為整數(shù),或者用科學(xué)計(jì)數(shù)法顯示出來。
print 可有可無圓括號(hào)
你可以用“,”號(hào)來分隔多個(gè)要顯示得內(nèi)容;包括變量.字符.數(shù)字.函數(shù)等類型.可以用iconv('gb2312', 'utf-8', $response)來把gb2312的字符轉(zhuǎn)成utf-8的字符輸出.php退出函數(shù)用“exit”;java用“return”.6.了解php的系統(tǒng)信息方法:
以下可以看到php的系統(tǒng)變量:
echo “
”;
print_r($GLOBALS);
?>
舉例:可以查到遠(yuǎn)程訪問的ip
以下可以看到php的系統(tǒng)環(huán)境:
php echo phpinfo();?>
7.數(shù)據(jù)庫(kù)編程:
//數(shù)據(jù)庫(kù)連接 3個(gè)參數(shù) ip, 用戶, 密碼
$conn=mysql_connect(“127.0.0.1”, “test”, “test”);
//選擇名為“mysee”數(shù)據(jù)庫(kù)
mysql_select_db(“mysee”);
//執(zhí)行sql語句;得到輸出結(jié)果$result
$result = mysql_query(“select channel_name, channel_url from live_channel where isactive=1”);
$response=“{”;
$i=0;
//循環(huán)得到$result的單記錄行值$row
while($row = mysql_fetch_array($result)){
//注意:php字符相加用'.'和java不一樣(java用'+');$row[“channel_name”]可以行記錄的字段名'channel_name'的值
$response.= “'”.$i.“':['”.$row[“channel_name”].“', '”.$row[“channel_url”].“'],”;
$i++;
}
/*關(guān)閉數(shù)據(jù)庫(kù)連接(不寫當(dāng)這個(gè)php文件執(zhí)行完后會(huì)自動(dòng)關(guān)閉的;手工關(guān)閉會(huì)節(jié)省數(shù)據(jù)庫(kù)連接時(shí)間)
這一點(diǎn)和java不一樣;java一定要語句關(guān)閉*/
mysql_close($conn);
/*
截取字符串函數(shù)substr(字符,起始位子,截取長(zhǎng)度):
有一點(diǎn)需要說明的:第三個(gè)參數(shù)是負(fù)數(shù);代表從后倒數(shù)截取的字符長(zhǎng)度;正數(shù):代表從頭截取的字符長(zhǎng)度;
赫赫...php是不是很聰明喲
*/
$response=substr($response,0,-1).“}”;
//把$response從gb2312的字符轉(zhuǎn)成utf-8的字符輸出
echo iconv('gb2312', 'utf-8', $response);
?>
8.得到頁面form提交的參數(shù)值:
例如:http://127.0.0.1/test.php?parm1=zjh1&parm2=zjh2
方法一:
//可以得到doget所有參數(shù);
extract($_GET);
//可以得到dopost所有參數(shù)
extract($_POST);
echo $parm1.“---”.$parm2
?>
得到結(jié)果: zjh1--zjh2
方法二:
//可以得到dopost參數(shù)
echo $_GET[“$parm1”].“---”.$_GET[“$parm2”]
//或者得到dopost參數(shù)
//echo $_POST[“$parm1”].“---”.$_POST[“$parm2”]
?>
得到結(jié)果: zjh1--zjh2
9.發(fā)送郵件:
php發(fā)郵件很簡(jiǎn)單,可以使用mail()函數(shù);不過mail()需要服務(wù)器(有郵件服務(wù))的支持;
這一點(diǎn)和java不同(java需要j2ee的2個(gè)包:active.jar和mail.jar;但不需要郵件服務(wù)的支持;編程略微復(fù)雜些);
以下實(shí)例說明:
extract($_GET);
extract($_POST);
//返回值 0:內(nèi)容為空;1:發(fā)送郵件成功;2:發(fā)送郵件失敗;
if(empty($content)){echo 0;return;}
//mail(“收件人地址”,“主題”,“正文”,“From:發(fā)件人 Reply-to:發(fā)件人的地址”);$deal=mail($e_mail,“[主題]”,//stripslashes()函數(shù)可以原樣輸出內(nèi)容;不用加安全處理字符
stripslashes($content),//默認(rèn)是文本格式發(fā)送;加了“Content-Type:Text/Html”后就可以解析html了“From:mysee.monitor@gaov-inc.comnContent-Type:Text/Htmln”);
if($deal){echo 1;}else{echo 2;}
?>
第五篇:php學(xué)習(xí)心得肖熾
php學(xué)習(xí)心得
第四組肖 熾有幸參加中職教師培訓(xùn),能在老師的指導(dǎo)下學(xué)習(xí),在這里我學(xué)到了很多的新知識(shí),最近學(xué)習(xí)的php動(dòng)態(tài)網(wǎng)頁設(shè)計(jì)就是其中之一,雖然以前有過高級(jí)語言的基礎(chǔ),但php動(dòng)態(tài)網(wǎng)頁設(shè)計(jì)這門課程對(duì)我仍然有一定的難度,但老師的精心指導(dǎo)和自己的努力下,漸漸找到了php的學(xué)習(xí)竅門,大有進(jìn)步?,F(xiàn)將本階段的學(xué)習(xí)體會(huì),總結(jié)如下:
一. 注重基礎(chǔ)
Php動(dòng)態(tài)網(wǎng)頁設(shè)計(jì)這門課程的學(xué)習(xí)不僅需要我們掌握靜態(tài)網(wǎng)頁設(shè)計(jì)的基礎(chǔ),而且要求我們有一定的語言學(xué)習(xí)基礎(chǔ),有幸之前教過多年的C語言程序設(shè)計(jì),對(duì)高級(jí)語言的語法知識(shí)有一定的了解,所以對(duì)PHP中的一些與語法有關(guān)的知識(shí),理解不是很困難,建議不了解高級(jí)語言語法知識(shí)的同仁,多學(xué)習(xí)一些高級(jí)語言的語法。同時(shí),要掌握靜態(tài)網(wǎng)頁的設(shè)計(jì)。因?yàn)椋覀兙帉慞HP動(dòng)態(tài)網(wǎng)頁離不開靜態(tài)網(wǎng)頁,這是基礎(chǔ)。
二.學(xué)習(xí)過程和學(xué)習(xí)體會(huì)
1.培養(yǎng)學(xué)習(xí)性趣
大家都知道編程是一門很枯燥的事業(yè),所以大家一定要有興趣,可能剛開始打算學(xué)的時(shí)候是因?yàn)閯e人說php有多好,php多么流行,但是后來伴隨著學(xué)習(xí)的深入,你的這些興趣可能會(huì)慢慢消亡,所以適當(dāng)培養(yǎng)興趣會(huì)激發(fā)自己的學(xué)習(xí)動(dòng)力。
學(xué)習(xí)過靜態(tài)網(wǎng)頁設(shè)計(jì)的同仁們都知道,我們剛開始學(xué)習(xí)靜態(tài)網(wǎng)頁的時(shí)候,我們最有效的方法就是邊學(xué)邊做,在做的過程中將一些知識(shí)點(diǎn)掌握,同樣對(duì)PHP的學(xué)習(xí)也是如此,我們要在實(shí)踐中學(xué)習(xí),在掌握了靜態(tài)網(wǎng)頁的基礎(chǔ)上,如果有一[定的語言基礎(chǔ),我們可以慢慢地坐下來,仔細(xì)研究PHP中的一些代碼,理解動(dòng)態(tài)語言的概念,運(yùn)做機(jī)制,熟悉PHP語法,在一段掙扎之后,顯然已經(jīng)逐漸的開悟了,慢慢的理解了編程的概念,此時(shí)可以說你已經(jīng)邁出了成功的第一步。
2.接下來就是學(xué)習(xí)數(shù)據(jù)庫(kù)了,MYSQL可算是PHP的黃金搭檔了,不過,mysql數(shù)據(jù)庫(kù)可不是一下就能完全理解的,你可以試著一步一步學(xué)習(xí),首先學(xué)習(xí)如何建立數(shù)據(jù)庫(kù),如何建立數(shù)據(jù)表等知識(shí),在掌握數(shù)據(jù)庫(kù)和表的建立方法后,可以學(xué)習(xí)如何在PHP中引用數(shù)據(jù)庫(kù)中的數(shù)據(jù),仔細(xì)研究其中的代碼,并加以熟悉,然后就打開PHP動(dòng)態(tài)網(wǎng)頁設(shè)計(jì)之門了。具體學(xué)習(xí)步驟如下:
1)熟悉HTML/CSS等網(wǎng)頁基本元素,完成階段可自行制作完整的網(wǎng)頁,對(duì)元素屬性達(dá)到熟悉程度
(2)理解動(dòng)態(tài)語言的概念,運(yùn)做機(jī)制,熟悉PHP語法
(3)學(xué)習(xí)如何將PHP與HTML結(jié)合起來完成簡(jiǎn)單動(dòng)態(tài)頁面
(4)接觸MYSQL,開始設(shè)計(jì)數(shù)據(jù)庫(kù)
(5)不斷鞏固,摸透大部分PHP常用函數(shù),以及模板
(6)完成一個(gè)功能齊全的動(dòng)態(tài)站
三.總結(jié)
基礎(chǔ)有沒有對(duì)學(xué)習(xí)php沒有太大區(qū)別,關(guān)鍵是興趣。
興趣是最好的老師,百度是最好的詞典。實(shí)踐是檢驗(yàn)自己會(huì)不會(huì)的真理。