2016-04-19 5 views
-2

私はフォームデータを私の質問に投稿しています。 POSTデータをnullに設定するか、英数字以外の特殊文字を削除し、残りの部分に値を保持したいですか?英数字でない場合は、どうすればPOSTデータをnullに設定できますか?

私はこれを一括して行うことができますか?

if (!isset($_POST) || !ctype_alnum($_POST)){ 

// POST equals null 
}else{ 

// Nothing 
} 
+3

'$ _POST'は配列なので、英数字になることはありません。 '$ _POST'配列の値を' foreach'ループで繰り返して、各値が英数字であるかどうかを調べてみてください。 – Chris

+0

検証エラーのあるフォームと同じものを未送信フォームとして扱うこともお勧めしません。それはあなたのユーザーを混乱させる可能性があります。 – Chris

答えて

1
foreach($_POST as $key => $value) 
{ 
    if (empty($value) || !ctype_alnum($value)) 
    { 
     // remove non alphanumeric chars 
     $_POST[$key] = preg_replace("/[^[:alnum:]]/i","",$value); 

    } 
} 
関連する問題