[請益] function抓arg一直出錯…搞不懂問題出在哪
有問題的function是這樣:
function prot(){
/**
SQL injection protection
*/
$count = func_num_args();
for($i = 0;$i < $count;$i++){
if(ereg("(['])+|([--])+",func_get_arg($i))){
//只要字串出現有'或--就直接中斷,die出錯誤提示
die("input error, please try again");
}
}
return true;
}
一執行就給我噴這個error.....
func_get_arg(): Can't be used as a function parameter.
= =Google很久了,挖到的都是在classes裡頭用才會出這個狀況(但我這又不是)。
有人有碰過類似的狀況嗎?
-----------------------------
手上還有另一個可正常執行的function 也有用到get_arg,但這個正常:
function ConfirmData(){
//做資料submit之後驗證用的,在參數中放條件跟錯誤訊息就可。
$count = func_num_args();
if($count < 1) {
return false;
}elseif($count == 2){
return func_get_arg(0) == true ? func_get_arg(1) : null;
}else{
//兩個以上的條件時,最後一個參數以array型式放錯誤訊息
$msgs = func_get_arg($count - 1);
for($i = 0;$i < $count - 1;$i++){
if(func_get_arg($i)==true) return $msgs[$i];
}
return null;
}
}
--
學習是一下子,使用是一輩子,不要為了一下子害了一輩子
by 嘸蝦米輸入法發明人 劉重次
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.132.138.137
→
09/27 23:48, , 1F
09/27 23:48, 1F
→
09/27 23:49, , 2F
09/27 23:49, 2F
→
09/27 23:49, , 3F
09/27 23:49, 3F
= =上面沒有陣列,下面有…反倒下面是正常的...
※ 編輯: alexsh 來自: 220.132.138.137 (09/28 10:12)
→
09/28 12:33, , 4F
09/28 12:33, 4F
= =還是噴一樣的錯誤…怪怪
※ 編輯: alexsh 來自: 220.132.138.137 (09/28 13:30)
→
09/28 14:16, , 5F
09/28 14:16, 5F
→
09/28 14:17, , 6F
09/28 14:17, 6F
→
09/28 14:20, , 7F
09/28 14:20, 7F
→
09/28 15:57, , 8F
09/28 15:57, 8F
PHP 近期熱門文章
PTT數位生活區 即時熱門文章