2016-04-26 1 views
1

私は問題がある、私はフォームを作って、それが満たされている場合は、PHPスクリプトでチェックしたいと思います。私は解決策を見つけましたが、それを作るために他の方法(よりプロフェッショナルな方法)がありますか?ここでは、今の私のコードは次のとおりです。すべてのフォームに記入されている場合は、PHPの新しいページに行く

$x = 0; 
    if(empty($name)){ 
    $nameKL = "No name"; 
    } else { 
    $x = $x + 1; 
    } 

    if(empty($price)){ 
    $priceKL = "No price"; 
    } else { 
    $x = $x + 1; 
    } 

    if($x == 2){ 
    header('Location: nextpage'); 
    } 

そう考えです:チェックする変数が空でない場合、私はエラーを返し、その空の場合、私は、x=x+1を与えます。私は形式の2つのフィールドを持っているので、もしx==2すべてが大丈夫です。 elseのエラーはecho'edで、htmlの形式です。だから、これを行うには賢い方法がありますか?私は自分で考えることはできません...

PS。それは私のコードの一部に過ぎず、私はこの論理的な部分だけの助けが必要です

答えて

0

まあ、私は自分自身で解決策を見つけました。私は、冒頭でtrue値を持つ変数を設定し、:私は別のエラーを毎回返す必要があるため

$validate = true; 

if(empty($name)){ 
$nameKL = "no name"; 
$validate = false; 
} 

if(empty($price)){ 
$priceKL = "no price"; 
$validate = false; 
} 


if($validate == true){ 
header('Location page.php'); 
} 
0

要素の配列を作ります。 PHPで

<input type="text" name="formadata['fname']" /> 
<input type="text" name="formadata['lname']" /> 
<input type="text" name="formadata['age']" /> 

することができますループのすべての要素

$inputs = $_POST['formdata']; 
$errors = array(
       'fname' => 'First name message', 
       'lname' => 'Last name message', 
       'age' => 'Age message', 
     ); 
foreach($inputs as $input) { 
    if(empty($input)) return $errors[$input]; 
} 

を使用すると、入力が三項演算を使用してPHP

+1

'foreach'は、良いアイデアではありません。 –

+0

エラー –

0

には空であるかどうかをチェックするために管理することができますので、この方法。簡単なコードを以下で確認してください。

$x = 0; 
$nameKL = empty($name) ? "No name" : $name; 
$priceKL = empty($price) ? "No price" : $price; 


if($nameKL && $priceKL){ 
header('Location: nextpage'); 
} 
+0

のために更新されました。「x」値を増やさずに解決策があるかどうかを知りたいのですが。 「真偽」のあるもの –

+0

CHECK編集コード。 @トマスヴィレマティス – RJParikh

0
$nameKL = empty($name) ? "No name" : $name; 
$priceKL = empty($price) ? "No price" : $price; 


if(empty($name) && empty($price)) { 
    header('Location: nextpage'); 
} 
関連する問題