2010-12-21 4 views
2

stattdessen alle Variablen aus einer Form einer nach dem anderen meinen Posten zu prüfen ist es eine Möglichkeit, eine Prüfung zu atleast sicherzustellen, dass sie nicht leer sind so etwas wie

if(!isset(ALL $_POST)){ 
echo "one of your fields is not completed."; 
} 
+0

Ja :) Es tat. –

Antwort

8

Sie können eine Reihe von erforderlichen Felder erstellen und Schleife durch diese

$required_fields = array("name", "address", "phone", "email"); 
foreach ($require_fields as $field) { 
    if (!strlen($_POST[$field])) { 
     echo "$field cannot be empty"; 
    } 
} 
1

laufen No weil wie würde Ihr Programm wissen, welche existieren sollte?

Wenn Sie jedoch eine Liste von Feldern haben, die erwartet werden, können Sie einfach eine zu überprüfende Funktion schreiben. Ich nannte es array_keys_exist, weil es genau die gleiche Sache wie array_key_exists außer mit mehreren Schlüsseln tut:

function array_keys_exist($keys, $array) { 
    foreach ($keys as $key) { 
     if (!array_key_exists($key, $array)) return false; 
    } 
    return true; 
} 

$expectedFields = array('name', 'email'); 

$success = array_keys_exist($expectedFields, $_POST); 
+1

Ich weiß nicht, warum niemand diese Antwort gewählt hat. Vielen Dank! –

0

kann nicht wie geschehen die Art, wie du denkst (da PHP keine Möglichkeit hat zu wissen, welche Werte es geben sollte).

aber man kann es so:

<?php 
    $POSTvaluesToCheck = array('write', 'here', 'all', 'the', 'values', 'that', 'are', 'mandatory', 'to', 'exist'); 

    foreach($POSTvaluesToCheck as $key) { 
    if(!isset($_POST[$key]) { 
     echo $key . ' not set correctly!'; 
    } 
    } 
?>