PHP 

php一些五四三入門知識

之前寫了些關於php的教學
像是:

php上傳的限制
http://belleaya.pixnet.net/blog/post/27699519

利用php mailer
http://belleaya.pixnet.net/blog/post/27410978

不過還沒有特別一篇來從php入門的部份來講
就把一些比較雜的五四三丟在這篇吧!

 

1. php要怎麼變成網頁

所有寫php入門的人應該都會有個問題
寫好的php要怎麼看?
這個跟html不一樣
html基本上你直接打開
或丟到瀏覽器裡面
他就會顯示出來網頁的大概樣子
可是php就不能這樣做
打開就只看到一堆程式碼夾雜
該怎麼辦?

在寫php程式之前
要先知道php本身是要先讓程式在「伺服器端」先跑
簡單說就是要讓伺服器(server)先幫你把所有php的程式碼
都轉換成html
你才有辦法在你的瀏覽器上面看到!

這也是php的優點
因為只要是伺服器端執行的
我們瀏覽網頁的時候
就不需要再多加裝一些鬼東西

但是這樣就一定要有可以幫你跑php的伺服器!
所以如果要架php動態網頁的話
第一種方法就是自己架(等等會講)
第二種方法就是找有支援php的網頁空間

php另一個優點在於他能夠很方便的連結「資料庫」
這對於我們需要做互動、或需要一些動態功能就很方便

 

2. 什麼是資料庫?

上網查一定會查到一堆專業的東西
專業的說法我就不多提
我用最簡單的方法來講

大家應該知道「全班同學名單」這種東西吧!
就是有大家的名字、學號等等
資料庫就差不多長這樣子
顧名思義就是把資料放在一個地方庫存
只要是格式一樣的東西
我們就可以思考把這些東西都用同樣的表格來整理起來

所以像班上同學的名單
想像一下
就是一張紙
上面畫一些格子
第一排就是大家的學號
第二排就是名字
第三排是性別
第四排是生日
第五排是家裡電話
第六排是地址......等等諸如此類的

這些資料我們想要收集起來
是不是就會印一張A4來填?
我們要用的印出來的名單
通常會做什麼動作?
就是給這張表格一個標題
標說「同學名冊」對吧!

而當然還有別的不同的表格
比方說還有同學成績啦、同學出席紀錄啦等等
這些不同的A4表格
我們也都把他擺在同一個箱子裡放

像這樣的箱子
就是資料庫的觀念

有一些名詞就要記一下了:
箱子:資料庫
表格:資料
學號、名字、性別...等:欄位

這就是比較白話一點的資料庫的概念

php則是可以利用它的程式
去把這些放在資料庫裡的資料
利用特定的語法來抓出來用

市面上有很多不同款的資料庫
一般來說
php都是跟MySQL這套結合
所以基本上要裝php的伺服器都會跟MySQL一起裝

 

3. 我要怎麼在自己電腦寫php程式和測試?

就像上面說的
要能看到php出來的網頁
一定要有一個伺服器
也就是說
你要在自己電腦測試php跑出來的情形
就一定要先在自己電腦架一個伺服器

雖說聽起來很難
但其實就是安裝一套軟體而已
以目前世界上最常用的
大概就是一款叫「AppServ」的
他安裝完後
就會直接幫你架好Apache伺服器(可以跑php的伺服器)
然後也會幫你裝好MySQL資料庫
非常方便!
(據說AppServ還是一個小朋友寫出來的,直接幫我們把兩種一起裝好,不用分開裝)

想要安裝的話
因為是免費、開放源碼
所以大家直接去官網下載就可以
http://www.appservnetwork.com/

安裝完之後
電腦中就會設定特定的資料夾
當作是你電腦上的伺服器了!
而這資料夾中的東西就可以透過打ip或localhost(本機)連進來
就會看到經過伺服器幫你跑好的php網頁了

當然關於安裝和連線的部份
就要在另一篇再講了
(我還沒寫)

 

4. php怎麼去連資料庫?

因為資料庫畢竟裡面東西是你要管理的
如果隨便讓外人亂連進來
不就資料都被偷看光光
甚至被亂改

所以基本上
資料庫都會設定帳號跟密碼
只有你或者擁有連線權限的人才能進得去

但是電腦是阿呆
php要連線去把資料庫裡的東西拿出來
他不知道那個php到底是你寫的還是不知哪邊的人想要用資料庫裡的東西
所以在php中就一定會要有程式來幫你記住資料庫連線的帳號密碼

然後因為資料庫也不可能隨時隨地都讓你連在上面
一定是要用的時候才從裡面找
(就好像你不可能一邊做事一邊抱著資料庫那個箱子吧)
所以也要在需要時告訴電腦說「我要連資料庫」

總言之
要連資料庫的簡化步驟就像這樣:

  告訴資料庫我要連線了(說你要開哪個箱子)
    ↓
  告訴資料庫我的帳號密碼後打開(打開箱子)
    ↓
  告訴資料庫我想要做的事情
    ↓
  把剛剛打開的資料庫再關上(蓋上箱子)

在往後寫跟資料庫有關的程式
也是一直都是類似這樣的模式

 

5. php語法

php語法應該很好認
當然你看檔名或網址後面是.php的就八九不離十是php檔啦

而打開後
因為php往往是和html夾雜
所以要認的話就是認以下幾種:

<? ?>

<?php  ?>

這兩種最常出現
後者是Dreamweaver預設會幫你長出來的
另外還有別的用法很少出現我就不提

我自己習慣是用<? ?>
只要是被 <??> 包起來的中間的東西
就是php的原始碼
而這些在經過伺服器幫你運算後前台是看不到的喔!
(所以在後面怎麼運算我們掌控的自由度就很大了)

php有很多語法跟C語言差不多
不同的就是變數的表示方式
在php中變數前面基本上都是$開頭

而程式每行結尾都是用分號;結尾
這點就跟C很像
除此之外還有像ifelseswitch等函式

 

 

6. php一些不夠嚴密的地方

因為php的變數是用錢號$來呼叫
但是因為變數是不需要先宣告的
(像c語言就得先宣告變數型態)

所以如果你打錯字或大小寫弄錯(變數大小寫是視為不同的)
php不會顯示錯誤
而是會視為一個新的變數
初值給的是空值
所以若是要echo印出來的話
就是NULL(就是不會出現東西!)

這樣的話有時debug就會比較麻煩

 

 

目前先寫到這邊~
有想到再補

創作者介紹

B E L L E A Y A 雜七雜八創作小窩

belleaya (愛) 發表在 痞客邦 PIXNET 留言(5) 人氣()


留言列表 (5)

發表留言
  • 網頁設計菜鳥路人
  • 感謝站長傳授入門知識!!
  • 不客氣~~~

    belleaya (愛) 於 2013/02/23 12:41 回覆

  • 路人
  • 請問大哥有沒有比較推薦的PHP書籍??
    小弟有粗淺C/C++和HTML經驗
    只是粗淺 XD
  • php我是之前看中原大學的七天學會php接案的影片~~
    (不過現在不知道還找不找得到....)
    教課的老師叫做大土星

    書的話我買的那本我自己還沒看過XDDDDD

    belleaya (愛) 於 2013/02/25 19:37 回覆

  • 初學者
  • 看完這篇
    再看完PHP 利用 phpmailer 透過 gmail 寄信

    請問當架設php / 電腦關機了

    那麼網頁就連不上囉?還是已經上傳到google了@@?
  • 對~~當server的那台關機就沒辦法囉!!

    belleaya (愛) 於 2013/07/11 01:59 回覆

  • 請教PHP
  • 版主您好,
    我安裝了 AppServ後,寫了一個簡單的PHP程式,放在桌面,之後用瀏覽器去打開,可是瀏覽器並沒有出現預期的文字,可以請教為什麼嗎?還是PHP檔案應該放在特定的檔案夾中呢?
  • 你要放在appserv的www資料夾裡喔~
    而且網址前面要打 http://127.0.0.1
    不能直接開檔案變成file:

    belleaya (愛) 於 2015/02/28 13:48 回覆

  • 訪客
  • 請問大大,資料庫創好欄位之後,要建立資料是用Mysql去建立嗎