今天拿到一份源碼,其中get或post傳遞的值擷取方法沒看明白,完全超出了我的PHP三觀。
例:使用者登入
首先,通過js的跳轉location.href = "/logon/logon.php?action=logon&user="+username+"&pass="+passwd;
帶了三個參數,action、user、pass。(這裡對這種明文且get方式直接傳帳號密碼的方式不做討論。)
然後到logon.php,頭部是這樣的
`include("include/common.inc");switch ($action){case "": echo "\n"; //form_logon(); break;case "logon": $dbh = db_connect1();。。。。。。。。。`
這裡對$action進行判斷。帳號密碼對的話,程式能運行,登入成功。
顯然,這裡的$action擷取到了,且值為url中action的值。
我的理解,$action=$_GET['action']
我是可以理解的。
現在用了什麼黑科技,能夠使get傳的參數a能以$a的形式直接擷取。
PS:系統是定製linux,PHP版本是5.0.5.
小弟不才,做PHP開發剛1年,從未見過如此寫法。
確認了下windows下程式肯定是跑不起來的。
是linux的什麼特殊設定檔,能達到這樣的效果嗎?
回複內容:
今天拿到一份源碼,其中get或post傳遞的值擷取方法沒看明白,完全超出了我的PHP三觀。
例:使用者登入
首先,通過js的跳轉location.href = "/logon/logon.php?action=logon&user="+username+"&pass="+passwd;
帶了三個參數,action、user、pass。(這裡對這種明文且get方式直接傳帳號密碼的方式不做討論。)
然後到logon.php,頭部是這樣的
`include("include/common.inc");switch ($action){case "": echo "\n"; //form_logon(); break;case "logon": $dbh = db_connect1();。。。。。。。。。`
這裡對$action進行判斷。帳號密碼對的話,程式能運行,登入成功。
顯然,這裡的$action擷取到了,且值為url中action的值。
我的理解,$action=$_GET['action']
我是可以理解的。
現在用了什麼黑科技,能夠使get傳的參數a能以$a的形式直接擷取。
PS:系統是定製linux,PHP版本是5.0.5.
小弟不才,做PHP開發剛1年,從未見過如此寫法。
確認了下windows下程式肯定是跑不起來的。
是linux的什麼特殊設定檔,能達到這樣的效果嗎?
php擷取表單變數有三種風格:簡短、中等和冗長風格:
簡短:$number;
中等:$_POST['number'];
冗長:$HTTP_POST_VARS['number']
簡短風格需要把register_globals配置選項設為on,但由於安全原因,預設是off。所以一般用中等風格。
小黃鴨調試法 從第一行代碼開始看,讀懂每一行代碼以及每一次方法之類的調用