2011-01-13 10 views
-1

Ich versuche, den folgenden Fehler zu zeigen, wenn einige einmal die Übergabeschaltfläche gedrückt und das erforderliche Feld/s nicht ausgefüllt hat.Fehlermeldung am Anfang des Formulars anzeigen

+4

Also, was ist die Frage? – Allyn

+0

Die Verwendung von "if (isset ($ _ POST ['full_name'] ..." ist eine schlechte Idee, da Sie alle Ihre Validierung überspringen, wenn kein vollständiger Name angegeben wurde - verwenden Sie ein verstecktes Formularfeld wie oder ähnlich. –

+0

Sie erhalten den Fehler nicht, weil Sie ihn nie anzeigen. – SuperSaiyan

Antwort

0
<?php 
require_once("includes/database.php"); 
require_once("includes/functions.php"); 

if(isset($_POST['full_name'])) { 
    $required = array('full_name','user_name','email','pwd','pwd2'); 
    $missing = array(); 
    $validation = array(
     'full_name' => 'Please provide your full name', 
     'user_name' => 'Please provide your username', 
     'email'  => 'Please provide your valid email address', 
     'pwd'  => 'Please provide your password', 
     'pwd2'  => 'Please confirm your password', 
     'userdup' => 'Username already registered', 
     'emaildup'  => 'Email address already registered', 
     'mismatch'  => 'Passwords do not match' 
    ); 

    //Sanitise and clean function 
    $full_name = escape($_POST['full_name']); 
    $user_name = escape($_POST['user_name']); 
    $email = escape($_POST['email']); 
    $pwd = escape($_POST['pwd']); 
    $pwd2 = escape($_POST['pwd2']); 

    foreach($_POST as $key => $value) { 
     $value = trim($value); 
     if(empty($value) && in_array($key,$required)) { 
      array_push($missing,$key); 
     } else { 
      ${$key} = escape($value); //Why exacly do you need to have extra stuff? 
     } 
    } 
    //iterate over the missing elements, and display them 
    foreach ($missing as $m){ 
     echo echo "<strong>Error: </strong>: " . $validation[$m] . "<br>"; 
    } 
    //You need to do some more stuffs, like query the DB to check if the username is a duplicate or not. 
} 
//...rest of your code .. 
+0

Warum genau brauchen Sie extra Zeug ? Das zusätzliche Zeug ist die Überprüfung, um sicherzustellen, dass die E-Mail-Adresse, Benutzername nicht doppelt im System und auch die beiden Passwörter übereinstimmen. Ich möchte den Code gleich, sondern nur erhalten die Bestätigungsmeldung angezeigt werden wenn eines der erforderlichen Felder nicht ausgefüllt ist. Ist das eine Möglichkeit, die Nachricht anzuzeigen? –

Verwandte Themen