[公告] FAQ修改版
麻煩大家最後補充一次,之後就直接置底了
-----------------------------------------------------------------------
=========================== PHP 基礎問答 ===========================
Q. 什麼是PHP?
A. PHP是一種伺服器端的腳本語言,能在網頁伺服器上執行。
經過PHP引擎解析後,回傳網頁用的標記語言(html/xhtml/xml)
或其他文件型態供使用者端使用,全名為PHP: Hypertext Preprocessor。
註:所謂『使用者端』,即一般所稱的
1) client端
2) browser瀏覽器
3) rss reader (for xml/rss or atom)
以上統稱『使用者端』。
Q. PHP能做什麼?
A. PHP的主要用途在網路程式上,搭配各種資料庫系統,產生動態網頁
另外也可以當作Shell Script來用(類似Windows系統下的批次檔)
也有利用PHP語言來開發GUI的PHP應用,例如PHP-GTK和PPform
Q. PHP不能做什麼?
A. PHP是在伺服器端執行的語言,因此各種使用者端的『即時改變』
例如直接改變網頁文字大小、產生警告視窗等,PHP都不能做
要用這些功能請找使用者端的程式語言,例如Javascript
Q. 我應該學PHP 5還是PHP 4?
A. PHP 5的功能比起PHP 4更完整、速度更快,建議學PHP 5就好
至於PHP 4,大部份的內容和PHP 5一樣,多數的不同在物件導向(OO)的部份
跟PHP 5也不會差太多,基本的東西都是一樣的。
Q. 如何學好PHP?
A. 此題是一個大哉問! 可以從幾個方向來看:
1. 準備環境
不管你用什麼系統,你要學會安裝與設定。如果你的目標是寫動態網頁,
那就要使PHP能配合網站伺服器來執行。
2. 先備知識
要寫網頁總不能不認識html的寫法,別以為Dreamwaver能搞定你所有的問
題,他只是一個加速開發的工具,你要有基本的html知識才能夠駕馭他來
完成你的動態網頁,當你不懂這些基本的知識,加速開發的工具,只會加
速你惡搞的情況罷了。
此外,另一個重要的觀念是分清楚什麼是client,什麼是server。
FAQ和討論版都有相關資料,請詳讀。
3. 開始用PHP
所謂的開始用PHP,只是你已經"知道"語法怎麼用了,或是你已經準備好語法
的大小抄(cheat sheet)後,要開始來寫點有用的東西的時候了。千萬別寫空
虛的"聖誕樹"或令人無奈的"排版精美的九九乘法表"。試著以一個不使用資
料庫的留言版為首要目標。
學習的目標為:
1) 基本的檔案I/O
2) 陣列相關函式
3) 日期時間的應用
4) Server變數的使用
:: $_GET/$_POST/$_FILES、發文者ip、script目錄的位置...等
4. 怎麼辦?不知道去哪裡找答案
有三個選擇:
1) 找PHP官方手冊 http://www.php.net/manual/en/
PHP最完整、最正確的手冊,只要翻這邊問題就解決一半以上
什麼?看不懂英文?請找一個好人來翻譯給你看XD
2) Google
這需要說明嗎?不會用的請直接按Ctrl + Alt +Del兩次
3) PTT的PHP版
如果前面兩個都找不到答案,歡迎來到溫暖的PHP版
版上有許多PHP神人可以幫你解答問題,但是請注意禮貌和版規
=========================== Session 怎麼用 ===========================
Q. 什麼是Session?
A. Session是一種存在伺服器端的變數,讓使用者在不同頁面之間可以存取同樣的變數
最常見的應用在於購物車、使用者登入的處理上,是一個很方便的功能。
Q. Session怎麼運作?
A. 用流程圖來說明:
使用者連上網頁 → 伺服器端產生session_id(一種極難重複的字串) →
將session_id寫入使用者端cookie或GET變數,藉以分辨使用者 →
進行Session變數的操作(如同一般PHP變數) →
操作完畢,使用者斷線,伺服器端刪除session_id和Session變數
(某些特殊需求下可以設定不刪除伺服器端的session_id)
Q. 如何使用Session?
A. 以下解釋程式碼
<?php
//任何一個PHP程式要使用Session變數前,都要告知伺服器啟動Session功能
//你也可以開啟php.ini的設定session.auto_start,讓每個PHP程式都會啟動Session功能
//基本上不建議開啟,因為不是每個程式都會用到Session,需要的時候開啟就好
session_start();
//直接使用$_SESSION陣列就可以使用Session變數
$_SESSION['var'] = 'some_value';
//刪除Session變數只要unset就好
//不要直接unset($_SESSION),這樣會把所有Session變數都刪除
unset($_SESSION['var']);
?>
Q. 有些書上說要用session_register()這個函數?那是什麼?
A. session_register()是PHP 4.1之前的用法,現在直接使用$_SESSION[]就好
請忘記session_register()這個東西吧!
============================= 特別感謝 =============================
版友qrtt1、alpe、PsMonkey的貢獻
(只有這樣?再來更多人吧)
版主ottokang
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 222.157.114.71
推
10/02 21:37, , 1F
10/02 21:37, 1F
推
10/03 06:36, , 2F
10/03 06:36, 2F
※ 編輯: ottokang 來自: 222.157.114.71 (10/04 20:55)
推
10/04 20:55, , 3F
10/04 20:55, 3F
※ 編輯: ottokang 來自: 222.157.113.56 (10/15 19:14)
※ 編輯: ottokang 來自: 222.157.113.56 (10/15 19:14)
PHP 近期熱門文章
PTT數位生活區 即時熱門文章