2012-03-25 8 views
3

私はユーザーがそこに住所を入力する必要がある登録フォームを持っています。検証のためにPHPを使用していますが、現在、フィールドが空でないことを確認するためにチェックしています。ここに私のコードは次のとおりです。PHPの空フィールド検証

if (empty($_POST['address'])) { 
    $msg = 'You must enter an address' ; 
} else { 
    $address = mysqli_real_escape_string($dbc, strip_tags(trim($_POST['address']))) ; 
} 

さて問題は、そのユーザーが検証に合格提出し、スペースバーを押して、「空白」のスペースに入るです。私が必要とするのは、ユーザーが実際に都市に入力したことを確認する方法であり、空白または空白のスペースだけではありません。

+1

バリデーションする前に 'trim'変数だけを返します。 – zerkms

答えて

4

すでにtrim()を挿入に使用していますが、最初に一度呼び出すとその値をテストしてみましょう。

$user_address = trim($_POST['address']); 

if (empty($user_address)) { 
    $msg = 'You must enter an address' ; 
} else { 
    $address = mysqli_real_escape_string($dbc, strip_tags($user_address)) ; 
} 
0
if (empty($_POST['address']) || strlen(trim($_POST['address']))==0){ 
    $msg = 'You must enter an address' ; 
}else { 
    $address = mysqli_real_escape_string($dbc, strip_tags(trim($_POST['address']))) ; 
} 

値をトリムします。

+0

' .'はPHPのメンバアクセス演算子ではなく、文字列はPHPではプロパティを持たず、その条件は無関係です。 'strlen(trim($ _ POST ['address']))=== 0'を試してください。 – Ryan

+0

申し訳ありません、それはJavaでした。 – Michelle

0

正規表現を考慮する必要があります。私は分割コマンド:split(' ', $address)を使い始めました。
その時点から、追加のelse if文を追加してテストし、結果の文字列が空であるかどうかを確認することができます。
さらに重要なことは、アドレス文字列が含まれているかどうかを調べるツールが用意されています.2文字の状態コードの後に​​カンマと5桁の郵便番号が続くことを確認する必要があります。 は(あなたが好きなら、私はより具体的にすることができます。)

0
if($_POST['submit']){ 
    $address = $_POST['address']; 

    if (empty($address)) { 
     echo "You must enter an address"; 
    } else { 
     $address = mysqli_real_escape_string($dbc, strip_tags($user_address)) ; 
    } 
} 

フィールドアドレスも$_POST['submit']

空である場合は、すぐにメッセージをエコーすることができ、ユーザが送信ボタン

をクリックするかどうかを判断することです