當前位置:才華齋>設計>網頁設計>

php學習總結

網頁設計 閱讀(6.46K)
php學習總結1

先來說說學習PHP有什麼用處,為什麼要學?畢竟學習前應該是對所要學習的東西有所瞭解,才會更有興趣去學習它。

php學習總結

學習PHP主要是用來開發web站點,也就是網站,它和asp、java等語言類似,都是執行在伺服器上的程式,用來動態地為使用者提供網頁服務。

學習了它,現實裡可以用它賺錢,方法是自己接活兒,或者找PHP程式設計師的工作,或者你也可以用PHP來自己製作網站,製作了網站後,當然也可以賺錢。

如果感覺自己在學習php方面無從下手,那麼有一套很好的教程可以讓你擺脫這種心理,你去看看,有一套張老師講的教程,循序漸進而且有系統。所有的都是從例項出發,最重要的是免費。

再有一點重要的是,在學習前最好有個目標,就是你學這個你想用來做啥,比如我就先構思個網站,然後在學習中解決各類問題。

另外最重要的就是要有毅力

我英文不好能學習嗎?回答是YSE

我數學不好能學嗎?回答是YES

我沒有基礎看這個視訊學習能學嗎?回答也是YES

我沒耐心能學嗎?回答是NO

學習php只是一部分,html、css、js是都要學的,而且是必須的,但是這些東西尤其是js很像php,其它的就太簡單了,沒什麼難的。如果更好的學習建議可以先看看些 HTML 和 SQL 的基礎。另外w3school也是個不錯的地方,裡面有詳細的手冊和資料。

開始學習的時候,尤其是最開是下手程式設計很艱難,可以上網找些原始碼來琢磨,但是一定要自己動手寫,不能光看不練。PHP最大的優勢優勢就是原始碼十分多,不像JSP那樣很多封包的,大家一定要好好利用啊。

其次,就是大家可以加些群和論壇,有問題和高手請教下,說不準會茅塞頓開,一個人閉門造車還是很累的。俗話說,獨樂樂不如眾樂嘛!以上只是個人初學php的感受,希望能對大家有所幫助。

php學習總結2

雖然PHP並非目前最火爆的程式語言,但隨著資訊社會的發展,大量的PHP程式設計人員近期在劇增,再加上IT行業的崛起,讓學習程式設計的人能得到一個很好的就業機會,這時候我們想要快速地學習這門技術,且能更好的融入這個行業,我們下面應該來學習以下的一些技巧。

其實我們想要成為一名真正的PHP程式設計師,並非學好PHP程式語言就行了,還需要了解更多的相關只是。

而我們要學習PHP第一步就是要學會如何在自己的電腦上安裝PHP的執行環境

PHP程式設計師需要裝備的技能有:

MYSQL只有一門好的開發語言而不懂得資料庫,我們依然是寸步難行的!還好,我們有一樣開源、小巧的MYSQL!對於一個web開發人員來說,不能僅 僅懂得(填/刪/改/查—//update/select),為了讓我們的網站跑的更快、更順暢我們還要懂得mysql的優化。沒錯!這個時候,檢視、索引會幫你完成你想要的結果。

Apache 你要學會配置Apache

Javascript“後端語言群雄逐鹿,前端語言唯我獨尊!”沒錯,這就是Javascript在前端語言地位的真實寫照!想讓網站擁有絢麗的視覺效果,就離不開 Javascript。

Ajax 想讓網站擁有良好的客戶體驗,就離不開Ajax!縱然有時候,YUI,JQuery等就Javascript框架會幫助我們提高效率,但是,他們的基礎仍是Javascript!

演算法、資料結構按照常理來說,演算法是PHP程式設計師的“靈魂”。對一名合格的程式設計師的第一要求的往往就是過硬的演算法基礎。

要都精通上述技能,很難。當然,你是PHP程式設計師,主要是負責PHP程式設計。但是你要明白,你一個後臺程式設計師,為了能開發出自己滿意網站,還必須跟前臺溝通。並且你要知道,你就是開發團隊的核心,所以,無論如何都要學習上述技能。

OK,上述技能都懂七七八八了,這樣就成了真正的PHP程式設計師了麼?又錯了。

你還必須要有程式設計師必須有的品質。

團隊精神和協作能力。通常專案開發都是一個團隊開發,所以這是一個

學習和總結的能力。因為網際網路的技術日新月異,假如不能學習掌握新技術,那麼就要遭到淘汰。這是最最重要的硬性要求。

文件習慣。缺乏文件,一個軟體系統就缺乏生命力,在未來的查錯,升級以及模組的複用時就都會遇到極大的麻煩。

規範化,標準化的程式碼編寫習慣。程式碼具有良好的可讀性,是PHP程式設計師基本的素質需求。

需求理解能力。程式設計師需要理解一個模組的需求,效能需求指標中,穩定性,並訪支撐能力以及安全性都很重要。

測試習慣

軟體研發作為一項工程而言,一個很重要的特點就是問題發現的越早,解決的代價就越低,程式設計師在每段程式碼,每個子模組完成後進行認真的測試,就可以儘量將一些潛在的問題最早的發現和解決,這樣對整體系統建設的效率和可靠性就有了最大的保證。

作為一名合格的PHPer 首先就是對PHP的熱愛,俗話說:“要做好一件事,要先去理解他,然後愛他。”PHP是一種很美妙的開發語言,你不需要再為定義一個變數的型別而猶豫不 定,PHP會自動判斷;你不需要在得到一個表單資料而宣告N多的函式,一切都交給PHP吧!PHPer是一個極具挑戰性的工作,so,如果你熱愛挑戰,喜 歡有挑戰性的工作,如果你已經準備好了,那麼就加入吧。

php學習總結3

自從上週開始,我受其他中心邀請,前去給大四學生要做為期一個半月的PHP強化培訓講師,對我來說雖說很簡單,但仍不可掉以輕心,在第一次和這個大四學生們交流時,我發現他們的計算機基礎知識真的很差,有的學生連基本的作業系統都不會做。當初著實讓我頭痛了一把,一個半月,要把PHP課程講完,還要求每個學員都能獨立完成網站的開發,最主要的是他們沒有基礎。

在第二天正式上課之前,我把我以前給自己學生培訓的大綱做了很大的修改,決定以他們的實際情況為出發點,用最快的時間去講在學習PHP之前的基礎知識,並且用幽默快樂的課堂氣氛來提起同學們的學習興趣,通過這幾天的講課,感覺他們每個學員都撐握的不錯,每個學員都很努力地去學習,用他們的話說,在我講這幾天,比大學裡三個月講的內容還多,他們接受起來很快,不愧是大學生,所以我現在有信心能把他們教好。我不敢保證100%,但80%能成為網站程式設計師是沒有什麼問題。

還有一個月的課程要給他們講,所以我除了忙自己的公司外,還要兼著給大學生們講課,雖然我自己累點,但我能看到希望,最近有不少想學網站,學SEO學員諮詢,覺得我的技術還是很牛的,其他也沒有什麼,我用十年的時間學習和工作都是以網站建設,網站維護為主的,只是近年才開始做講師,但對我最大的收穫,就是學員學有所成。

php學習總結4

在來這裡參加PHP培訓班之前,我自學了五個月的PHP,天天在琢磨課本上的那些看不懂的程式碼,照著書上寫了很多程式碼,可測試執行,總是報錯,可又不知道自己錯在什麼地方。心裡非常焦躁,也受到了打擊。後來經朋友的介紹北京恆博教育的課程是以實用為主,除了講解理論知識外,更注重的是實際應用,老師們都是三十歲以上,在網站建設行業裡有十幾年工作經驗了,我那朋友也是在這裡學習的,於是我來到了北京那個恆博教育網站培訓基地並且參加了由黃老師主講的PHP培訓課程,黃老師先給我們講了學習PHP的重點、學習PHP的方法、學習PHP的步驟。感覺和課本上大不一樣,他是先用一兩天的時間講語法基礎,然後就直接講PHP和資料庫的操作,等大家會做簡單的網站之後,再接著講一些常用的函式,和更高階的用法,用黃老師的話說:“先讓大家瞭解整個網站的製作,然後再講更詳細的,比如一些系統函式,這樣學員在以後的學習中知道學的那些點怎麼應用到網站開發中來”。

雖然在這裡上課的時間比大學的多,而且緊湊,但在這裡看到了大學裡沒有的學習風氣,在濃厚的學習氣氛中大家也把黃老師的講解內容完成的很好,我也從黃老師的講解中學到了很多有用、有趣的知識,授課內容也讓我耳濡目染。

他根據我們的實際情況,告訴他了一些重點、一些方法、指導我們進行實戰開發,開發專案由小到大,由簡至難,慢慢深入。將所有重點理論,全部貫穿於專案的開發之中。這樣理論記的深刻,專案開發也水到渠成。結果一個月不到,CMS會做了,還做了一個自己的部落格,另外還參與了一個網上商城的開發。

一個人自學,是孤獨的、無助的。在我們PHP培訓班,你隨時可以詢問老師你遇到的問題。也可以和同學們隨時交流問題和心得,現在想想,以前選擇自學PHP有點是在浪費時間,會走很多的彎路,常常在自學中遇到問題,可自己很難能解決,再加上某些課本上的誤導,(後來在黃老師的指導下才知道課本上有很多的地方是錯誤的)更是困難。

現在我已經工作兩個月了,薪水還是可以的,在此我奉勸各位想自學技術的同胞們,最好是找一個專業的老師帶著你,否則真的自學很浪費時間。

php學習總結5

我想在講述自己的學習方式前,對那些期望能從我的文章中獲得有用資訊的人說一句心裡話:

我的文章不會對您的學習起到實質性的作用,您能否成功,還得靠自己的,堅持,堅持,再堅持,就是步入成功的不二法門。

我先把我自己學習PHP的過程做一下概括:

(1)熟悉HTML/CSS/JS等網頁基本元素,完成階段可自行製作完整的網頁,對元素屬性達到熟悉程度

(2)理解動態語言的概念,運做機制,熟悉PHP語法

(3)學習如何將PHP與HTML結合起來完成簡單動態頁面

(4)接觸MYSQL,開始設計資料庫程式

(5)不斷鞏固,摸透大部分PHP常用函式,並可理解OOP,MYSQL優化,以及模板

(6)完成一個功能齊全的動態站點

我的這套線路可能跟許多學習PHP的愛好者不謀而合,這也算是一個循序漸進的學習過程,不過新手不要看到上面的概括就以為學習蠻簡單的,默默在此不得不對您稍微潑一下冷水,任何東西其實都不簡單,即使是小吃部的燒餅也不是一下子就會做成的。

我先解釋一下我的學習思路。

首先,理解網站這一概念之後不難看出,任何網站都是由網頁組成的,也就是說想完成網站,必須先學會做網頁,因此必須要掌握了HTML,才能為今後製作網站打下基礎。

在學習HTML中我想邊學邊做是最有效的方式,當然這一方式對於學習PHP同樣是最有效的。

HTML中的任何元素都要親自實踐,只有明白了什麼元素會起到什麼效果之後,你才會記憶深刻,而一味的啃書,絕對是不行的,我想大部分新手之所以覺得概念難學,大部分是一個字“懶”,懶是阻止進步的最大敵人,所以克服掉懶的習慣,才能更快的學好一樣東西。

也許您在學習PHP的時候只想儘快的開發一個網站,也就會想我做網站,幹嘛要學什麼網頁這些小兒科?不難看出,眼高手低的新手不在少數,這種思想無疑於建造空中樓閣,你不建地基,何來的'房頂呢?

OK,掌握靜態網頁的製作技術是學習開發網站的先決條件,這一點就講到這裡,因為這篇文章不是教程文章,也就不對技術進行深入的刨析了。

我假設你目前已經可以完成一個靜態頁面了,當然,做的好看難看是另外一說,皮皮我的第一個網頁也沒好看到哪去,但是“孩子”再醜,咱們做“爹媽”的也不能嫌棄不是?這畢竟是咱的成果。

那麼咱們就開始學習動態語言的概念吧,剛一接觸動態語言,可能很多人都會蒙了,怎麼這亂七八糟的東西,在網頁裡顯示的時候卻是另外一碼事?其實這並不算亂七八糟,你寫的HTML程式碼不也一樣是一堆堆的字元嗎?畢竟,程式碼並不是作為直接輸出的,而是經過處理的,說白了,HTML是經過HTML解析器,而PHP當然也就通過PHP解析器了,跟學習HTML一樣的道理,想讓任何的解析器完成操作,就必須使用它們專用的語法結構,所以PHP長相奇怪也就不足為奇了。

對於PHP的理解是新手最難邁過的一道門檻,不過你應該感到幸運的是PHP已經最大極限的為了新手而努力了,如果你學過其他的語言,也許會覺得PHP的確相當的簡單,但是如果你之前什麼都沒學過,那麼阿彌陀佛,硬著頭皮琢磨吧。

書過三遍自然熟,這個簡單的道理告訴我們,即使你理解不了PHP,但是也必須先跟它混個臉熟,看,一遍遍的看,看的同時一邊琢磨,一邊按照它所教的打程式碼,即使你搞不清楚那些程式碼到底是幹嘛的,但是起碼你應該找找感覺。

在一段掙扎之後,聰明的你,顯然已經逐漸的開悟了,慢慢的理解了程式設計的概念,那麼祝賀你,你已經邁出了成功的第一步。

搞清楚HTML和PHP的概念,那麼PHP和HTML混合程式設計應該不成問題,在這期間,你完全可以讓PHP給你算算 一加一等於幾,然後在瀏覽器輸出,不要覺得幼稚,這的確是跟阿波羅登月一樣,你打的是一小段程式碼,但是對於你的程式設計之路,可是邁出了一大步啊!興奮吧?但是不得不再給你潑點冷水,您還是菜鳥一個。

高興一段時間就必須繼續努力了,接下來就是學習資料庫了,MYSQL可算是PHP的黃金搭檔了,不過,雖然話是這麼說,你也可能恨不得把MYSQL給生吞活剝了,因為這一行一列的東東簡直讓自己頭暈目眩。

頭暈歸頭暈,目眩歸目眩,你不可能吃飯的時候咬了自己一下舌頭就從此不吃飯了不是?放下畏懼,繼續努力,咱們是來征服它的,而不是被它征服的,振奮起來吧同志。

在一番搏鬥之後,你終於理解了資料庫的概念,而且讓你興奮不已的是你終於可以通過PHP來連線資料庫了,這期間你是怎麼學會的,我們不去考證了,但是事實證明,你已經可以了。

學會了PHP和資料庫的你,無疑是左手拿著MOTOLOLA右手拿著NOKIA,要多瀟灑,有多瀟灑,哈哈,終於學會了,但是可能這個時候,又會有人不經意的拍拍肩膀對你說:哥們,別高興的太早,你還是菜鳥,離學會還差著一大截呢!

等到你發奮努力的學會了用PHP成功的插入,刪除,更新資料的時候,顯然,你已經距離成功指日可待了。

這個時候的你也許是這種狀態:

你會HTML嗎?會,我能編好幾個大表格排板的網頁啦!

你會PHP嗎?會,我會把一加一的運算寫在函式裡,然後呼叫啦!

你會MYSQL嗎?會,我會把我的資訊在資料庫裡插入刪除啦

那,接下來你該怎麼做呢?我覺得,小試一下身手,大概是沒問題了,那麼交給你個任務,做個留言本吧,這和HELLO WORLD有一比啊!^_^,同是新手面臨的第一道關。

花了一段時間,你終於學會把表單的資料插入資料庫,然後顯示出來了,應該說一個程式的雛形已經誕生了。

但是,你可能瞅瞅東,看看西,人家這個編論壇,那個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分鐘之內把你扁進醫院裡,我倒是有把握—_—

學東西,永遠不要妄想有速成這一說,告訴你了一個方式,但是缺少努力這一環節,那也是白搭。

但是有一點我可以給你保證的就是,你學會了PHP,那麼學其他的語言,肯定速成,反過來也一樣,如果你之前學過其他的語言,那麼學PHP肯定快。

不過語法好學,但是怎麼用語法來實現每個人都有每個人的方式,幾乎是各有千秋。然而借鑑別人成功的程式碼,絕對是有益無害,因此,多看那些經過千錘百煉凝出來的經典程式碼,是進階的最好方法。

講了這麼多,無非是想說:學習PHP不僅要掌握方法,更多的是付出汗水,我不希望看到中途放棄的人,相信自己,相信自己的選擇,更要相信自己的能力,如果自己想放棄,一點的話,就自己抽自己一個嘴巴,然後大吼:別人可以,我為什麼就不可以?(是不是有點閻羅教練的味道,默默的確是電影看多了,抽嘴巴是會痛的,各位其實明白這個道理了就行了)

另外要叮囑各位的是,抵禦誘惑,ASP/PHP/JSP/。NET的對比也許會讓你無所適從,你也許學了一半PHP,又開始打C#的主意,或者有人說JA很強,這個時候的你絕對不能動搖,哪怕你真想學,也得學會了PHP。然後再學,見異思遷是最不可取的,狗熊掰玉米就是這個道理,如果經常中途放棄,只能是一無所獲,還浪費了N多的時間和經歷,得不償失,最重要的是,你會被別人瞧不起,沒有人會喜歡和見異思遷的人交朋友,因為這種人太不安分,太不可靠,

因此,你必須要強迫自己完成自己的目標,哪怕可能會很難受,也得堅持,毅力就是這麼鍛煉出來的。

php學習總結6

其實我也是一樣很新的新手,上PHP100學習視訊並在論壇裡學習其實也就是一個月前的事.雖然早在8月份花過一個星期看完w3school的PHP教 程,瞭解了許多PHP知識.但始終是缺乏一個與眾多朋友學習和交流的平臺,所以一下子在幾周後又把PHP又忘得七七八八了,有幸在10月尾瞭解到了 PHP100視訊和論壇,不僅可以系統地學習下PHP,更可以和很多朋友一起學習成長這更是件好事.

在php100視訊中學到了許多,而 論壇中看帖和回帖也更讓我鞏固了學習的知識並讓我學到了很多,這不僅不會讓我又把PHP知識快速忘記(因為工作中用是ASP,而PHP不會在工作中用,所 以忘得快),反而在取得進步的同時,我也能幫助一些人,這也是一樣是學習勝利的過程,我喜歡並享受其中.

以下是我上論壇以來的回覆總結,將不斷持續總結.希望有利於與我一樣的新手一起成長.

首先來個,題前語:

任何的學習,都需要自信,再新的新手也應該拋棄心中的恐懼,有時關鍵在於你心平下來,踏入學習後,你將慢慢化開迷惑,獲得信心,贏取自信!讓我們共同進步.

----------

==========

Undefined index問題

是執行的時候出現類似:Notice: Undefined index: action in D: on line 3 的

原因:

可詳參見此帖:#138857

是 php 配置的事情

這個錯誤是因為 php 頁面中的變數沒有初始化而導致的!

可以通過設定搞好,

也可以在變數前面 加上一個 @ 就可以解決這個地方的問題了!

如這裡指示第三行

Notice: Undefined index: action in D: on line 3

那麼找到第3行加上@

if (@$_GET['action']=='save') {

你再執行下,發現還有提示,但行號變了,那麼你再在行號對應的未初始化的變數前加@即可解決

一勞永逸的辦法是在 中的 error配置下錯誤顯示方式

估計你裡邊的error_reporting=E_ALL

把error_reporting這個設為

error_reporting = E_ALL & ~E_NOTICE

別忘了改動後,重啟下APCHE伺服器,才會生效

這樣,以後就不用在這種情況下加@了

-

具體參考下這個設定下

----------

==========

遇到頁面明確提示你錯誤的,並有顯示如何錯的,建議先把語句複製部分重點詞句或全部語句到百度或

google,更快速讓在你排查錯誤找到方法.其實這也是一種高效有益的學習方法,畢竟在工作中,遇到些沒

遇過的新問題,有時都需要藉助網上的資源給自己靈感和助力,本人就一天不下幾十次用百度搜索.

如程式中遇到諸如含提示:

顯示的錯誤為:

Parse error: syntax error, unexpected $end in D:wampwww on line 21

那麼你就可以把 syntax error, unexpected $end 作為關鍵詞到百度搜索,那麼你即刻可以得到助力甚

至答案.以上那句舉例的錯誤是因為:短標籤沒有開啟.解決方法是開啟把short_open_tag短標籤

開啟,重啟服務即可

----------

==========

提示的時候,有時順便把程式碼帖上帖子是必要的,這樣才能快速地在別人的幫助下問題得到解決

----------

==========

對單引號和雙引號有迷惑,大家可以看這篇文章解下惑:

----------

==========

在除錯程式時,經常要用到echo 你的sql語句來,檢查傳值後,sql變成了什麼樣的情況,以便排查錯誤.

----------

==========

向資料庫表插入資料

INSERT INTO 語句用於向資料庫表新增新紀錄。

語法

INSERT INTO table_name VALUES (value1, value2,....)--此種情況是需要按你表中所有欄位的順

序全部value填上!

您還可以規定希望在其中插入資料的列:

INSERT INTO table_name (column1, column2,...) VALUES (value1, value2,....) --張老師明確建

議用此種方法!

----------

==========

有人疑惑,$_POST或$GET取得時的引號問題:其實是要不要引號,單引號或雙引號都是沒有問題的.

如, $_POST[name]和$_POST['name']和$_POST["name"]都是在windows下一樣的,在linux下情況具體沒

用過,不知道,還望高手告知.

----------

==========

針對多數人的留言板課程中許多問題(如, into存不進資料問題)的總結:

1.檢查你資料庫表的結構是否正確,如id是否設為自增

2. into語句是否正確,如單詞是否正確, into ... values ...

3.是否將`(反斜點,在1鍵前)號和'(引號)是否使用位置正確,正確的方法是:`應該放在表和欄位邊,而'

是放在字串型(或者說是非數字型)的值邊上

4.檢查你的各語句,是否在結尾將分號(;)正確結束

5.檢查你的submit表單項的name值是否你判斷的取值,如

value="提交">時,你的判斷是否提交應是 if ($_POST[submit]){...} ;當你的是

type="submit" name="othername" value="提交">時,你的判斷是否提交應是 if ($_POST

[othername]){...}

6.檢查你的$_POST是否大寫,當你寫成$_post是不行的,因為$_GET,$_POST等,都是PHP系統環境的硬性用

7.用echo 輸出你的sql檢查傳值情況

8.檢查你的短標籤是否開啟

9.注意你的method是get還是post

10.檢查你的表單相關單詞或引號是否書寫正確.很多莫名其妙的問題,多是細節問題.要小心查對才能看

出來.

----------

sql語句中表名和欄位名在windows的情況下是可以不加小斜點(鍵盤左上角1鍵前的那個點鍵)的,但聽說

在linux中不加會引出些問題,相容的寫法是有小斜點.

如:windows下:

$sql="select * from table "

$sql="select * from `table` "

是效果一樣的

再次重點提示是:

`(反斜點,在1鍵前)號和'(引號)使用位置,正確的方法是:`應該放在表和欄位邊,而'是放在字串型(或

者說是非數字型)的值邊

----------

==========

php100第十三講的中的翻頁顯示資訊有問題的解決方法:

因為頁面沒有取值到URL值的page,所以在函式內的page會一直是1,所以會一直是第1頁的資料

解決方法,就是在呼叫函式前把page取得就好了!函式裡會把取到的page值作為全域性變數傳入函式使用的

了!

include("");

$nump=mysql_query("SELECT * FROM `test`");

$total=mysql_num_rows($nump);

//呼叫pageft(),每頁顯示10條資訊(使用預設的20時,可以省略此引數),使用本頁URL(預設,所

以省略掉)。

$page=$_GET[page]; //------------------------------在這裡加入這行就OK了!

_PAGEFT($total,5);

echo $pagenav;

$query=mysql_query("SELECT * FROM `test` limit $firstcount,$displaypg ");//---見下面 while($row=mysql_fetch_array($query)){

echo "

".$row[name]." | ".$row[sex];

}

以上的

除錯方法,其實你只要學下張老師把sql語句輸出來看下,你就知道是怎麼回事了!

echo $sql="SELECT * FROM `test` limit $firstcount,$displaypg ";

$result=mysql_query($sql);

----------

==========

分頁有問題的朋友,不妨看下如下:

關於分頁,這有一篇論壇朋友的學習心得,學習下,你也許有所得:

另有一篇本人轉發上去的分頁講解:

----------

php學習總結7

$_GET[string] 的介紹,Isset() 和empty()的介紹,資料庫資料型別,

1.$_GET[string]的介紹

2.$_GET[string]

他和$_POST 的區別在於,當form method=“get”的時候,用來傳值,

點選下submit後,URL轉到了接受值的php頁面。但是URL 不是這個頁面的。而是自動生成的URL。

顯示的是下面的URL:php?控制元件名(myname是文字框的控制元件名)=使用者輸入的值。

所以說用這個不安全。

t() 和empty()的區別

Isset()檢查變數值是不是設立了。 Check the variable is set and exists.

Empty()檢查變數值是不是空。 Check if the variable has contents.

對於empty(),空有7種可能,Null,0,‘’(空字串),array(),false,遇到出現上面的7種情況返回true。

兩個返回的都是布林值。

一般情況下用empty()檢查表單中戶輸入的是否是空值。

用if(!Empty($var))檢查;

。 "0",0.0

primary key 主鍵

4. MYSQL 命令:create table

命令:注意 column name column type中間沒有逗號,只是空格。

看下格式

問題:Cookie 的用法

已經試過

5. Setcookie()用於服務端在客戶端建立cookie。

裡面的兩個值是必須的。Name和value。字串。

我自己弄的cookie。Setcookie(‘username’,‘admin’);

在IE9 中按f12 進入開發者工具中看快取的cookie資訊。

6. Cookie 的預設時間是當你關掉瀏覽器時就消失。

可以用時間戳time()+秒錶示時間。如:time()

+(7*24*30*60)表示7天存在。 讀取cookie。用$_cookie[]讀取。方括號裡面是string 的cookie名字。

例子:

7. mysql 資料型別:用於資料庫中的table下的資料的建立

8.

注意下:char()和 varchar() 的區別: Char(2)只能存一個字元。而且一定是2個。

Varchar(60)表示能存60個字元。不一定是60個。 一般用這種。

Date ,日期格式

time,時間格式

datetime表示日期和時間格式。

Dec()表示:DEC(m,n)

M表示總的位數,n表示小數點後的位數。

m is the total number of digits and n is the number of digits after the decimal point. Say, you want to store some numbers like the format 9999.9099999. Here the value of m is 11 and that of n is 7.

DATE - A date in YYYY-MM-DD format, 例如: 1973-12-30.

DATETIME -in YYYY-MM-DD HH:MM:SS 1973-12-30 15:30:00. TIMESTAMP - This looks like the previous DATETIME format, only without the hyphens between numbers; 3:30 in the afternoon on December 30th, 1973 would be stored as 19731230153000 ( YYYYMMDDHHMMSS ).

TIME - Stores the time in HH:MM:SS format.

YEAR(M) - If the length is specified as 4, YEAR can be 1901 to 2155. The default length is 4.

問題:If.。。Elseif。。。Else

else ifallows us to keep evaluating using if statements as many times as needed. 可以把elseif看做是另外一個if。

Use the statement to select one of several blocks of code to be executed. Syntax

1 if (condition)

23code to be executed if condition is true;

4

5 elseif (condition)

6

7code to be executed if condition is true;

8

9 else

10

11code to be executed if condition is false;

問題: php連線mysql()

回答:四個函式:

mysql_connect(),mysql_select_db(),mysql_query(),mysql_close().

相關語法: mysql_connect(),連線伺服器。

resource mysql_connect(string $server,string$username, string$password). 返回值:指定伺服器的link identifier。或者未成功就是false。

然後用這個連線mysql中的資料庫

bool mysql_select_db( string $database_name [, resource $link_identifier = NULL ] .

Mysql_select_db() 用於連線mysql伺服器上的資料庫。下面的mysql_query()用來在這個資料庫中執行。前面$a=Mysql_select_db()錯誤。 mysql_query()語法:resource mysql_query( string $query [, resource $link_identifier = NULL ] ) 用於給資料庫傳送命令。返回resource,是個結

php學習總結8

除錯/*………*/ //…….#..........

插入時考慮清楚欄位型別避免插入後出現缺值,亂碼

@ 遮蔽錯誤or die 條件顯示

以前學習php類的總結:

中不能過載,但是能用子類覆蓋父類的方法名稱來實現新的過載

1.1 在子類中呼叫父類的覆蓋部分可以使用 父類名稱::方法名稱();

l 只能定義類和方法,不能使用final定義成員屬性,因為final是常量的意思,在php裡定義常量使用的是define函式

2.1 final關鍵字標記的類不能被繼承

2.2 final關鍵字標記的方法不能被子類重寫

t是一個定義常量的關鍵字,在php中定義常量使用的是define()函式,但是在類裡定義常量使用的是“const” 這個關鍵字

3.1在程式中不能修改它的值。

3.2 訪問const 修飾的成員屬性要使用類名,在本類的方法裡使用“self”關鍵字,但不使用"$"符號,也不能使用物件來訪問。

ic關鍵字可以描述類中的成員屬性和成員方法

4.1 static 的成員屬於類,而不屬於任何物件,

4.2 static的成員是在類第一次被載入的時候分配的空間,其他類無法訪問的,只對類的例項共享,能一定程度對類該成員形成保護

4.3 靜態成員放到了“初始化靜態段”,在類第一次載入的時候放入的,可以讓堆記憶體裡的每個物件共享。所以在靜態方法裡,可以使用這個方法所在的類的“類名”,也可以使用“self”來訪問其他靜態成員。“self”代表這個靜態方法所在的類。

4.3.1 在類裡的靜態方法是不能訪問類的非靜態成員的。

4.3.2 在類的非靜態方法裡可以訪問靜態成員:”self:成員屬性“;

4.4類的靜態變數,非常類似全域性變數,能夠被所有類的例項共享,類的靜態方法也是一樣,類似於全域性函式。

4.5 在類內函式訪問靜態變數時前面加self::靜態函式

4.6 靜態變數可以在類外直接訪問,訪問方法是類名::靜態變數

4.7 靜態函式可以在類外直接訪問,訪問方式是類名::靜態函式

4.8 在類內靜態函式訪問另一個靜態函式時使用 類名::靜態函式名

4.8.1 靜態函式在類內訪問靜態變數時,訪問方式是類名::靜態變數

4.8.2 靜態函式在類內訪問靜態變數時,訪問方式除了是類名::靜態變數外,還可以使用self::靜態變數

4.9 在類內靜態函式訪問另一個靜態函式時除了使用 類名::靜態函式名外,還可以使用self::靜態函式名,也可以直接呼叫靜態函式

4.10 靜態函式內不能訪問非靜態變數

4.11 在類內靜態函式不能使用$this->非靜態函式名訪問非靜態函式,可以使用self::非靜態函式名

4.12

5.類裡的”$this“,在php裡面提供了一個本物件的引用$this,每個物件裡面都有一個物件的引用$this來代表這個物件,完成物件內部成員的呼叫。

5.1 $this 就是物件內部代表這個物件的引用。

6.類裡"self",self 和$this相似,只不過self是代表這個靜態方法所在的類,所以在靜態方法裡,可以使用這個方法所在的類的”類名“,也可以使用"self"來訪問其他的靜態成員,通常使用後者”self::成員屬性“。

7.類裡”__“開頭的函式名

7.1類裡”__“開頭的函式名都是在某一時刻不同情況下自動呼叫執行的方法。

7.2__toString()方法也是自動被呼叫,是直接輸出物件引用時自動呼叫的。比如"$p = new Person()",直接用echo輸出$p會產生錯誤,如果在類裡定義了__toString()方法,再用echo直接輸出物件引用的時候就不會產生錯誤了

8.物件序列化

8.1 __sleep()方法,在物件序列化的時候,會呼叫一個__sleep()方法來完成一些睡前的事情,__sleep()函式不接受任何引數,但返回一個數組,其中包含需要序列化的屬性。未被包含的屬性降在序列化時被忽略,如果沒有__sleep()方法,php將儲存所以屬性.

8.2 __wakeup()方法,在重新醒來時,即由二進位制串重新組成一個物件的時候,則會自動呼叫__wakeup(),做一些物件醒來就要做的動作。

8.3 有時你可能需要一個物件在反序列化後立即執行. 為了這樣的目的,PHP會自動尋找__sleep和__wakeup方法.

9. protected 成員能被同個類中的所有方法和繼承出的類的中所有方法訪問到,不能被父類的例項直接訪問。protected and public 可以動態繫結

10. private 大部分private屬性仍然可以被外部程式碼共享. 解決方法是用一對public方法,一個是get(獲取屬性的值),另一個是set(設定屬性的值).

10.1 private 不可以動態繫結。Private成員只存在於它們所在的類內部. 不像public和protected成員那樣,PHP模擬靜態繫結.

10.2 什麼時候用到private?private成員只有當你不想讓子類繼承改變或特殊化父類的行為時才用到,這種情況比你想像的要少, 通常來說,一個好的物件分層結構應當允許絕大多數功能被子類特殊化,改進,或改變—這是面向物件程式設計的基礎之一。一定的情況下需要private方法或變數,例如當你確信你不想允許子類改變父類中的某個特定的部份。

11.抽象類:抽象方法是就像子類中一般的方法的佔位符(佔個地方但不起作用),它與一般方法不同—沒有任何程式碼. 如果類中存在一個或更多抽象方法, 那麼這個類就成了抽象類. 你不能例項化抽象類. 你必須繼承它們,然後例項化子類. 你也可以把抽象類看成是子類的一個模板.

如果你覆寫所有的抽象方法, 子類就變成一個普通的類. 如果沒有覆寫所有方法, 子類仍是抽象的. 如果一個類中中包含有抽象方法(哪怕只有一個), 你必須宣告這個類是抽象的, 在class關鍵字前加上abstract. 宣告抽象方法的語法與宣告一般方法不同. 抽象方法的沒有像一般方法那樣包含在大括號{}中的主體部份,並用分號;來結束.

12.介面:如果你建立了一個只有抽象方法的類,你就定義了一個介面(interface). 為了說明這種情況, PHP中有interface 和implements關鍵字. 你可以用interface來代替抽象類, 用implements來代替extends來說明你的類定義或使用一個介面. 例如, 你可以寫一個myClass implements myIterface. 這兩種方法可以依個人偏愛來選擇.

12.1 如果介面中出現非抽象方法.會報錯

12.2 介面中的方法預設是public 型的.其它型別的修飾符,不能修飾介面中的抽象方法.

12.3 即使介面中所有的方法都是抽象方法,也不能使用 abstract 修飾.也不能用final

12.4 即使介面中所有的方法都是抽象方法,在介面中,可以宣告靜態方法.

12.5 在介面中可以有常量,e.g.:

<?

interface User{

const MAX_GRADE = 99;

function getName();

function setName($_name);

}

?>

space關鍵字給一塊程式碼命名. 在這個程式碼塊外部,指令碼必須用操作符::加上名稱空間的名稱來引用這個程式碼塊. 引用靜態的類成員也是用相同的方法. 在名稱空間內程式碼不需要宣告名稱空間, 它本身就是預設的. 這種方法比新增字首的方法好. 你的程式碼可由此變得更加緊湊和可讀.

你可能想知道是否可以建立分層的(巢狀的)名稱空間. 答案是不可以. 但你可以在名稱空間名稱後加上冒號, 你可以再次呼叫在名稱中不包含冒號的變數,函式和類. 名稱空間允許存在冒號,只要不是第一個字元和最後一個字元或接著另一個冒號. 名稱空間的名稱中的冒號對於PHP來說沒有任何意義, 但如果你用他們來區分邏輯上的區塊, 他們可以很好地說明你的程式碼中的父子(parent-child)關係.

14. __toString()列印物件會呼叫它的__toString方法.

15.不能例項化的類

<?

//

//當__construct()為public時可以例項化

class A{

private function __construct(){}

}

$a = new A();//fail

?>

15.1

//static的方法留給外部訪問.

<?

class A{

private function __construct(){}

static function getClassA(){

return "這裡是後門,可以通過這裡進入類內部..";

}

}

echo A::getClassA();

?>

15.2

//不能用new例項化的類.

//static的方法留給外部訪問.

//在方法內部返回例項.

<?

class A{

private function __construct(){

echo "this is construction

";

}

static function getClassA(){

$a = new A();

return $a;

}

}

// 看到這裡確實返回的是 A 的例項.但不是同一個物件.

$a1 = A::getClassA();

$a2 = A::getClassA();

echo "$a1 的類是 "_class($a1)." , $a2 是 "_class($a1); if($a1 === $a2){

echo "

$a1 $a2 指向同一物件.";

}else{

echo "

$a1 $a2 不是一個物件.";

}

//this is construction

//this is construction