什麼是ASP?
ASP即Active Server Page的縮寫。它是一種包含了使用VB Script或Jscript腳本程序代碼的網頁。當浏覽器浏覽ASP網頁時, Web服務器就會根據請求生成相應的HTML代碼然後再返回給浏覽器,這樣浏覽器端看到的 就是動態生成的網頁。ASP是微軟公司開發的代替CGI腳本程序的一種應用,它可以與數據庫和其它程序進行交互。是一種簡單、方便的編程工具。在了解了VBSCRIPT的基本語法後,只需要清楚各個組件的用途、屬性、方法,就可以輕松編寫出自己的ASP系統。ASP的網頁文件的格式是.ASP。
什麼是PHP?
PHP是一種服務器端HTML-嵌入式腳本描述語言。 其最強大和最重要的特征是其數據庫集成層,使用它完成一個含有數據庫功能的網頁是不可置信的簡單。在HTML文件中, PHP腳本程序(語法類似於Perl或者c語言)可以使用特別的PHP標簽進行引用, 這樣網頁制作者也不必完全依賴HTML生成網頁了。由於PHP是在服務器端執行的, 客戶端是看不到PHP代碼的。 PHP可以完成任何CGI腳本可以完成的任務,但它的功能的發揮取決於它和各種數據庫的兼容性。 PHP除了可以使用HTTP進行通信,也可以使用IMAP, SNMP, NNTP, POP3協議。
1)寫HTML
asp: Response.Write(str)
php: print $str;
echo $str;
print_r $debug_str;
2) Form, Cookie and QueryString變量
asp: 可以用Request object.
php: 這些變量是自動提供的作為一個全局變量,如果在PHP.ini文件中這樣配置的話:
variables_order="EGPCS"
register_globals=On
為了安全,我將不允許register_globals (設置它為OFF). 然後變量僅僅在數組中使用:
$HTTP_POST_VARS, $HTTP_COOKIE_VARS and $HTTP_GET_VARS.
3)Redirecting to another location
asp: Response.Redirect(url)
php: Header("Location: $url");
4) Cookie 處理
asp: Response.Cookies(cookiename) = newval
avar = Request.Cookies(cookiename)
php: setcookie($cookiename, $newval);
$avar = $HTTP_COOKIE_VARS[$cookiename];
5)Application變量
asp: Application(appvarname)
php: 不提供,可以用數據庫模擬
6)Session 變量
asp: Session(sessionname) = newval
avar = Session(sessionname)
php: 在PHP4或以後的版本中, 我們確定變量作為一個session在
session_register($sessionname), 然後,我們調用session_start( )
在開始使用的.php 頁恢復session變量值.
例如:
session_register("avar");
$avar = 99;
session_start();
print $avar;
7)Form 變量
asp: Request.Form("formvar")
Request.QueryString("getvar")
php: $HTTP_POST_VARS["formvar"];
$HTTP_GET_VARS["getvar"];
GET and POST 變量可以交替的自動地修改到PHP變量,這是不安全地方法。
8)Server 變量
asp: 這有許多服務器變量,可以看ASP文檔. 一個例子:
Request.ServerVariables("HTTP_HOST
php: 作為ISAPI模式, 服務器變量存儲在$HTTP_SERVER_VARS數組裡。
作為CGI, 它們存貯在環境變量裡, 用$HTTP_ENV_VARS數組或getenv( )
可以得到。一個例子:
$HTTP_SERVER_VARS["HTTP_HOST"] using ISAPI module
$HTTP_ENV_VARS["HTTP_HOST"] using CGI module
9)數據庫訪問
asp: 一般用ado技術
php: ADO可以使用adodb庫來模擬,這個庫等價與ado.
限制是,目前支持只讀性光標和前滾光標.
(注解)也可以直接調用com庫,看我的文章。
10)Buffering
asp: Response.Buffer = true
Response.Write("abc");
Response.Flush()
php: ob_start();
print "abc";
ob_end_flush();
11) Script Timeout
asp: 時間級是秒級:
Server.ScriptTimeout(240)
php: 時間級是秒級:
set_time_limit(240);