1

フィールドを検証しようとすると、うまくいかないようです。ではない!is_numeric場合にのみ実行する必要があります。クライアント側の検証は行っていますが、サーバー側の検証も確実に行いたいと考えています。$postcodenull

コード:

else if(!is_null($postcode) && !is_numeric($postcode))  
{
    $msg_to_user = '<br /><br /><h4><font color="FF0000">Postcode must be a numeric value.</font></h4>';
}
4

3 に答える 3

2

is_null() は NULL 値をチェックするため、strlen() 関数で empty() 関数を使用したい場合があります。$postcode が == "" の場合、NULL ではありません。

http://php.net/manual/en/function.is-null.php

あなたが使用できるよりも

else if(!empty($postcode) && !is_numeric($postcode))  {

また

else if(strlen($postcode) > 0 && !is_numeric($postcode))  {

また

else if($postcode != "" && !is_numeric($postcode))  {

リンクで指定されているように、is_null を使用する場合は、$postcode !== NULL を使用することをお勧めします。はるかに高速

于 2013-04-03T07:48:39.137 に答える
0

これを試して

else if(!empty($postcode) && !is_numeric($postcode))  {
  $msg_to_user = '<br /><br /><h4><font color="FF0000">Postcode must be a numeric value.</font></h4>';
}

お役に立てれば

于 2013-04-03T07:49:05.190 に答える