[email protected] (物理離散機率), 看板 sleep
標題 [轉錄]PHP 傳遞變數的改變
時間 小鹿鹿 BBS (Mon Jun 17 12:40:44 2002)
路徑 krynn!News.Math.NCTU!abpe.org
來源 infopc06.math.nctu.edu.tw
※ 本文轉錄自 [386BSD] 看板
發信人: [email protected] ( ), 看板: 386BSD
標 題: PHP 傳遞變數的改變
發信站: 中大企管初心庭園 (Mon Jun 17 01:12:16 2002)
轉信站: abpe.org!News.Math.NCTU!netnews.csie.nctu!news.csie.ncu!news2.csie.ncu!
PHP 傳遞變數的改變
PHP 自從 4.1.0 開始,支援一種比較安全的變數傳遞方式。原本我們在
寫 PHP 程式時,從表單以 POST 方式傳入 PHP 程式時,PHP 可以直接
拿來使用。例如,有一個表單是下面這個樣子:
<form action=test.php method=post>
<input type=text name=username>
<input type=button value=送出 name=b1>
</form>
當上述的 HTML 按了送出之後,在 test.php 這個程式就會有一個變數名
為 $username,其值是我們所填入的名稱。但是使用者也可以直接在網址
列輸入 http://url/test.php?username=myname 來設定 $username 這個
變數的值為 myname。這會有什麼問題呢?讓我們以 PHP 4.1.0 release
note 所提出的例子來說明。假設我們有一個程式如下:
<?php
if?(authenticate_user())?{
??$authenticated?=?true;
}
...
?>
使用者可以經由網址列輸入一個變數 $authenticated=true,這樣一來,不
管是否通過 authenticate_user() 的檢查,$authenticated 永遠都是 true。
所以在 4.1.0 之後,有一個新的方式可以讓我們使用,就是將傳進來的變數
全部都存在陣列中。以第一個例子而言,我們以 POST 的方式從表單傳來變
數 $username,新的取得變數方式是:$_POST["username"],也就是說所有
以 POST 傳遞過來的變數全部存在 $_POST 這個陣列中。詳細說明請參考
http://www.php.net/release_4_1_0.php 。
在 4.2.0 之前,新舊二種方式都可以使用,但是在 4.2.0 之後,Default
只能使用新的方式來傳遞變數。所以如果你安裝的了新 PHP 而發現無法使
用舊的 PHP 程式,別驚訝。如果您還是要以舊的方式來傳遞變數,請修改
php.ini (通常位於 /usr/local/lib/),將原本的 register_globals = Off
改成下列這個樣子,並移除開頭的註解符號 ";":
; register_globals = Off
register_globals = On
新的方式下,用來存放變數的陣列有下列七種:
$_GET:存放以 GET 傳來的變數
$_POST:存放以 POST 傳來的變數
$_COOKIE :包含了存在 HTTP cookie 的變數
$_SERVER:存放 server 變數 (如 REMOTE_ADDR)
$_ENV:存放環境變數
$_REQUEST:存放了 GET、POST、及Cookie 變數,也就是從使用者端
傳來的變數。換句話說,這個變數的內容並不可靠。
$_SESSION:包含了在 session 已註冊的變數。
--
May you have enough trial to keep you string
Enough sorrow to keep you human
Enough failure to keep you humble
--
(﹌)初心庭園 (bbs.ba.mgt.ncu.edu.tw)
~∥/ [Wang] From: 61-218-0-204.HINET-IP.hinet.net
--
╔══╗╔╤═╗ 雅典娜電子佈告欄系統 (Athena.twbbs.org)
║ ║║ 作者:chance 來自:A07024B.dorm.yzu.edu.tw
╠══╣ ║
╚ ╝ ╚═────────────────────── Powered by [AT]Clan
傳遞變數的改變
p.s 記得要好好感謝睡大大喔...
=======================================================================
作者