php學習心得

文思社 人氣:1.19W

目錄

php學習心得
第一篇:php學習心得第二篇:php學習心得第三篇:php學習心得肖熾第四篇:php入門學習心得第五篇:如何學習php更多相關範文

正文

第一篇:php學習心得

php學習心得(適合php初學者)

來源: 釋出時間:2014-09-18 釋出人: 瀏覽:30人次字型:[大 中 小]

【1】頁面之間無法傳遞變數 get,post,session在最新的php版本中自動全域性變數是關閉的,所以要從上一頁面取得提交過來得變數要使用$_get['foo'],$_post['foo'],$_session['foo']來得到

當然也可以修改自動全域性變數為開(改為register_globals = on);考慮到相容性,還是強迫自己熟悉新的寫法比較好。

【2】win32下apache2 用get方法傳遞中文引數會出錯

你好&b=你也好

傳遞引數(請關注)是會導致一個內部錯誤

解決辦法:"(你好)."&b="ncode(你也好)

......

【3】win32下的session不能正常工作

預設的_path = /tmp

這顯然是linux下的配置,win32下php無法讀寫session檔案導致session無法使用 把它改成一個絕對路徑就可以了,例如_path = c:windows emp

【4】顯示錯誤資訊

當的display_errors = on並且error_reporting = e_all時,將顯示所有的錯誤和提示,除錯的時候最好開啟以便糾錯,如果你用以前php寫法錯誤資訊多半是關於未定義變數的。變數在賦值以前呼叫會有提示,解決辦法是探測或者遮蔽

例如顯示$foo,可以if(isset($foo)) echo $foo 或者echo @$foo

【5】win32下mail()不能傳送電子郵件

在linux下配置好的sendmail可以傳送,在win32下需要呼叫smtp伺服器來發送電子郵件 修改的smtp = ip //ip是不帶驗證功能的smtp伺服器(網上很難找到)

php傳送郵件的最好解決方法是用socket直接傳送到對方email伺服器而不用轉發伺服器

【6】初裝的mysql如果沒有設定密碼,應該使用

update set password="yourpassword" where user="root"

修改密碼

【7】header already sent

這個錯誤通常會在你使用header的時候出現,他可能是幾種原因:1,你在使用header前pring或者echo了2.你當前檔案前面有空行3.你可能include了一個檔案,該檔案尾部有空行或者輸出也會出現這種錯誤。!

【8】更改後沒有變化

重新啟動web server,比如iis,apache等等,然後才會應用最新的設定

【9】php在2014上面安裝(isapi的安裝方法懇請高手指教)

php4的好像和2014有些衝突,只能用cgi模式安裝

步驟一,先 下在一個安裝程式,我是裝的是:,你也可以去找最新的版本,在安裝之前保證你的iis6.0啟動了,並能夠訪問。安裝好以後,在預設網站-->應用程式配置

步驟二:點選 web服務擴充套件 -->新建web服務擴充套件.

步驟三: 副檔名-->php,然後新增

步驟四:找到的路徑新增上去。

步驟五: 確定就可以了!

步驟六: 選擇php的服務擴充套件,然後點選允許。

【10】

有時候sql語句不起作用,對資料庫操作失敗

最簡便的除錯方法,echo那句sql,看看變數的值能得到不

【11】include和require的區別

兩者沒有太大的區別,如果要包含的檔案不存在,include提示notice,然後繼續執行下面的語句,require提示致命錯誤並且退出

據我測試,win32平臺下它們都是先包含後執行,所以被包含檔案裡最好不要再有include或require語句,這樣會造成目錄混亂。或許*nux下情況不同,暫時還沒測試

如果一個檔案不想被包含多次可以使用include_once或require_once## 讀取,寫入文件資料 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()的區別

兩者都是測試變數用的

但是isset()是測試變數是否被賦值,而empty()是測試一個已經被賦值的變數是否為空 如果一個變數沒被賦值就引用在php裡是被允許的,但會有notice提示

如果一個變數被賦空值,$foo=""或者$foo=0或者 $foo=false,那麼empty($foo)返回真,isset($foo)也返回真,就是說賦空值不會登出一個變數。

要登出一個變數,可以用 unset($foo)或者$foo=null

【13】mysql查詢語句包含有關鍵字

php查詢mysql的時候,有時候mysql表名或者列名會有關鍵字

這時候查詢會有錯誤。例如表名是order,查詢時候會出錯

簡單的辦法是sql語句裡表名或者列名加上`[tab鍵上面]來加以區別

例如select * from `order`

【14】通過http協議一次上傳多個檔案的方法

有兩個思路,是同一個方法的兩種實現。具體程式還需自己去設計

1,在form中設定多個檔案輸入框,用陣列命名他們的名字,如下:

<form action="" method=post>

<input type=file name=usefile[]>

<input type=file name=usefile[]>

<input type=file name=usefile[]>

</form>

這樣,在伺服器端做以下測試

echo "<pre>";

print_r($_files);

echo "</pre>";

1,在form中設定多個檔案輸入框,但名字不同,如下: <form action="" method=post>

<input type=file name=usefile_a>

<input type=file name=usefile_b>

<input type=file name=usefile_c>

</form>

在伺服器端做同樣測試:

echo "<pre>";

print_r($_files);

echo "</pre>";

第二篇:php學習心得

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學習心得

第四組肖 熾有幸參加中職教師培訓,能在老師的指導下學習,在這裡我學到了很多的新知識,最近學習的php動態網頁設計就是其中之一,雖然以前有過高階語言的基礎,但php動態網頁設計這門課程對我仍然有一定的難度,但老師的精心指導和自己的努力下,漸漸找到了php的學習竅門,大有進步。現將本階段的學習體會,總結如下:

一. 注重基礎

php動態網頁設計這門課程的學習不僅需要我們掌握靜態網頁設計的基礎,而且要求我們有一定的語言學習基礎,有幸之前教過多年的c語言程式設計,對高階語言的語法知識有一定的瞭解,所以對php中的一些與語法有關的知識,理解不是很困難,建議不瞭解高階語言語法知識的同仁,多學習一些高階語言的語法。同時,要掌握靜態網頁的設計。因為,我們編寫php動態網頁離不開靜態網頁,這是基礎。

二.學習過程和學習體會

1.培養學習性趣

大家都知道程式設計是一門很枯燥的事業,所以大家一定要有興趣,可能剛開始打算學的時候是因為別人說php有多好,php多麼流行,但是後來伴隨著學習的深入,你的這些興趣可能會慢慢消亡,所以適當培養興趣會激發自己的學習動力。

學習過靜態網頁設計的同仁們都知道,我們剛開始學習靜態網頁的時候,我們最有效的方法就是邊學邊做,在做的過程中將一些知識點掌握,同樣對php的學習也是如此,我們要在實踐中學習,在掌握了靜態網頁的基礎上,如果有一[定的語言基礎,我們可以慢慢地坐下來,仔細研究php中的一些程式碼,理解動態語言的概念,運做機制,熟悉php語法, 在一段掙扎之後,顯然已經逐漸的開悟了,慢慢的理解了程式設計的概念,此時可以說你已經邁出了成功的第一步。

2.接下來就是學習資料庫了,mysql可算是php的黃金搭檔了,不過,mysql資料庫可不是一下就能完全理解的,你可以試著一步一步學習,首先學習如何建立資料庫,如何建立資料表等知識,在掌握資料庫和表的建立方法後,可以學習如何在php中引用資料庫中的資料,仔細研究其中的程式碼,並加以熟悉,然後就開啟php動態網頁設計之門了。具體學習步驟如下:

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

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

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

(4)接觸mysql,開始設計資料庫

(5)不斷鞏固,摸透大部分php常用函式,以及模板

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

三.總結

基礎有沒有對學習php沒有太大區別,關鍵是興趣。

興趣是最好的老師,百度是最好的詞典。實踐是檢驗自己會不會的真理。

第四篇:php入門學習心得

php入門學習心得和英俊的男人握握手,和深刻的男人談談心,和成功的男人多交流,和普通的男人過日子。我想簡單介紹一下新入門php的感受.

php開發以簡單快捷著稱;學它做專案比java要快(3天就可以入門);

但我認為php簡單的是外表;其實它的功能非常強大;要學精恐怕須多做幾年的實戰專案才幹敢自稱呢.

php也有架構(但沒有java強);也有連線池;不過比較麻煩.

下面簡單介紹一下php的語法。(和java對比;我會用程式說明比較直觀)

1、嵌入方法:

類似jsp的<%,php可以是<?php或者是<?,結束符號是?>。

2、引用檔案:

引用檔案的方法有兩種:require 及 include。(最好用require_once和include_once;效率會略高)

require 的使用方法如 require(""); 。這個函式通常放在 php 程式的最前面,

php 程式在執行前,就會先讀入 require 所指定引入的檔案,使它變成 php 程式網頁的一部份。

常用的函式,亦可以這個方法將它引入網頁中。

include 使用方法如 include(""); 。這個函式一般是放在流程控制的處理部分中。

php 程式網頁在讀到 include 的檔案時,才將它讀進來。這種方式,可以把程式執行時的流程簡單化。

3、註釋方法:

和java一樣; 3種(1:/**abc */ 2:/*abc */ 3://abc)

4、變數型別:

$str = "test" ;

$int1 = 66;

$float1 = 1.653 ;

$float2 = 1.3e+5 ;

$array1 = array( "甲" , "乙" , "丙" , "丁" );

這裡引出兩個問題,首先php變數以$開頭,第二php語句以;結尾。

5. php輸出方法:

以下有3種方法輸出:

echo

printf 卻一定要有圓括號;用來格式化數字的輸出。可以把一個數作為整數,或者用科學計數法顯示出來。

print 可有可無圓括號

你可以用“,”號來分隔多個要顯示得內容;包括變數.字元.數字.函式等型別.

可以用iconv('gb2312', 'utf-8', $response)來把gb2312的字元轉成utf-8的字元輸出. php退出函式用"exit";java用"return".

6.瞭解php的系統資訊方法:

以下可以看到php的系統變數:

<?php

echo "<pre>";

print_r($globals);

?>

舉例:可以查到遠端訪問的ip

<?php echo $_server["remote_addr"];?>

以下可以看到php的系統環境:

<? php echo phpinfo(); ?>

7.資料庫程式設計:

<?php

//資料庫連線 3個引數 ip, 使用者, 密碼

$conn=mysql_connect("", "test", "test");

//選擇名為"mysee"資料庫

mysql_select_db("mysee");

//執行sql語句;得到輸出結果$result

$result = mysql_query("select channel_name, channel_url from live_channel where isactive=1");

$response="{";

$i=0;

//迴圈得到$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++;

}

/*關閉資料庫連線(不寫當這個php檔案執行完後會自動關閉的;手工關閉會節省資料庫連線時間)

這一點和java不一樣;java一定要語句關閉*/

mysql_close($conn);

/*

擷取字串函式substr(字元,起始位子,擷取長度):

有一點需要說明的:第三個引數是負數;代表從後倒數擷取的字元長度;正數:代表從頭擷取的字元長度;

赫赫是不是很聰明喲

*/

$response=substr($response,0,-1)."}";

//把$response從gb2312的字元轉成utf-8的字元輸出

echo iconv('gb2312', 'utf-8', $response);

?>

8.得到頁面form提交的引數值:

例如:

方法一:

<?php

//可以得到doget所有引數;

extract($_get);

//可以得到dopost所有引數

extract($_post);

echo $parm1."---".$parm2

?>

得到結果: zjh1--zjh2

方法二:

<?php

//可以得到dopost引數

echo $_get["$parm1"]."---".$_get["$parm2"]

//或者得到dopost引數

//echo $_post["$parm1"]."---".$_post["$parm2"]

?>

得到結果: zjh1--zjh2

9.傳送郵件:

php發郵件很簡單,可以使用mail()函式;不過mail()需要伺服器(有郵件服務)的支援;

這一點和java不同(java需要j2ee的2個包:和;但不需要郵件服務的支援;程式設計略微複雜些);

以下例項說明:

<?php

extract($_get);

extract($_post);

//返回值 0:內容為空;1:傳送郵件成功;2:傳送郵件失敗;

if (empty($content)) {echo 0; return;}

//mail("收件人地址","主題","正文","from:發件人 reply-to:發件人的地址");$deal=mail($e_mail,

"[主題]",

//stripslashes()函式可以原樣輸出內容;不用加安全處理字元

stripslashes($content),

//預設是文字格式傳送;加了"content-type:text/html"後就可以解析html了content-type:text/htmln");

if ($deal) {echo 1;}else{echo 2;}

?>

第五篇:如何學習php

如何學習php,學習php的方法

點選:21 次新增日期:2014-08-20[ 列印 ][ 收藏 ][ 關閉 ]

-

學東西,永遠不要妄想有速成這一說,告訴你了一個方式,但是缺少努力這一環節,那也是白搭。 掌握好的學習方法非常必要,看看這篇如何學習php/學習php的方法

相信大家選擇一種語言,並不是看它的背景和悠久歷史,更重要的是看它的實用性,華而不實的語言哪怕是再輝煌的歷史,也畢將步向沒落,可喜的是php經受住了考驗,也因此,它確實是一種值得學習的語言。

我總結的學習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人才招聘網() http:///news/}的解析器完成操作,就必須使用它們專用的語法結構,所以php長相奇怪也就不足為奇了。

對於php的理解是新手最難邁過的一道門檻,不過你應該感到幸運的是php已經最大極限的為了新手而努力了,如果你學過其他的語言,也許會覺得php的確相當的簡單,

但是如果你之前什麼都沒學過,那麼阿彌陀;佛,硬著頭皮琢磨吧。

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

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

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

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

頭暈歸頭暈,目眩歸目眩,你不可能吃飯的時候咬了自己一下舌頭就從此不吃飯了不是?放下畏懼,繼續努力,咱們是來征服它的,而不是被它征服的,振奮起來吧同志。在一番搏鬥之後,你終於理解了資料庫的概念,而且讓你興奮不已的是你終於可以通過php來連線資料庫了,這期間你是怎麼學會的,我們不去考證了,但是事實證明,你已經可以了。

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

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

歡迎閱讀其他精彩範文:

php學習資料非常好

php學習總結

php程式設計師學習路線

php學習經驗

php學習計劃流程

TAG標籤:php 學習心得