Verhindern, das ein leeres Formular abgeschickt wird

Big-A

Mitglied
Hallo ihr Lieben,
da ihr mir nun schon so super geholfen habt, hoffe ich, das ihr das bei dem "Problem" auch tun könnt.

Also ich habe ein formular, in dem Daten eingegeben werden können, die dann in meiner Datenbank gespeichert werden sollen.

Nun möchte ich es aber sicherer machen.
Es kann nun schon kein html code mitgeschickt werden und leere Felder, werden bekannt gegeben und es wir um Änderung gebeten.

Nun möchte ich aber noch, das die leeren Felder nicht nur angezeigt werden, sondern das das speichern auch verhindert wird und das Formular so lange "geöffnet" bleibt, bis das alle Feler ausgefüllt wurden.

Und ich möchte das eine SQL-Injektion verhindert wird, dazu lese ich mir grade auch etwas durch, jedoch werde ich daraus nicht wirklich schlau und weiß nicht wie ich es verhindern kann.

aber eins nach dem anderen ;)

Als erste würde ich gerne wissen, wie ich verhindern kann, das das leere Formular gespeichert wird:

PHP:
//Fragt ab, ob das Feld Firma ausgefüllt ist
		if(isset($_POST['Firma']) && trim($_POST['Firma']) != '') {
		// Daten verarbeiten
		}
		else {
		// Daten nicht vorhanden
		echo ('Bitte Firmennamen eingeben bei ID '.$ID.'');
		
		}
 
PHP:
// empty prüft ob eine Variable einen Wert enthält
if(empty($_POST['Firma'])) {
echo ' Bitte Firmennamen eingeben bei ID '.$ID.' ';
} else {
// Daten verarbeiten 
}

So sollte ich gehen.
Und zu Injection les dir mal :
PHP:
mysql_real_escape_string()
durch

Edit: Und " isset " prüft nur ob das Feld gesetzt wurde also abgeschickt wurde.
 
Zuletzt bearbeitet:
danke Fanseite,

jedoch hat das den selbe effekt wie mein Code, ich kann es immer noch ohne Daten speichern und das will ich ja eben verhindern.
 
das ganze wiederholt sich immer wieder, jedoch möchte ich bei else noch sagen, das wenn das Feld leer ist, das nicht gespeichert werden soll und erst die nötwendigen Daten eingegeben werden sollen.
:(

PHP:
		//Frag ab, ob das Feld Firma ausgefüllt ist
		if(isset($_POST['Firma']) && trim($_POST['Firma']) != '') {
		// Daten verarbeiten
		}
		else {
		// Daten nicht vorhanden
		echo ('Bitte Firmennamen eingeben bei ID '.$ID.'');
		}  	
		
			
		if(isset($_POST['Nachname']) && trim($_POST['Nachname']) != '') {
		}
		else {
		echo ('Bitte Nachname eingeben bei ID '.$ID.'');
		} 
			
echo '<br />';
		if(isset($_POST['Vorname']) && trim($_POST['Vorname']) != '') {
		}
		else {
		echo ('Bitte Vorname eingeben bei ID '.$ID.'');
		}
			echo '<br />';
 
Probiere es mal so.
PHP:
//Frag ab, ob das Feld Firma ausgefüllt ist
        if(empty($_POST['Firma'])) {
        echo ('Bitte Firmennamen eingeben bei ID '.$ID.'');
        } else {
        if(empty($_POST['Nachname'])) {
        echo ('Bitte Nachname eingeben bei ID '.$ID.'');
        } else {
            
echo '<br />';
        if(empty($_POST['Vorname'])) {
        echo ('Bitte Vorname eingeben bei ID '.$ID.'');
        } else {

// Hier verarbeiten

}
}
}
 
Mh, versuche es mal so:
PHP:
$errors = array();
if(empty($_POST['Firma'])) {
  $errors['Firma'] = 'Bitte Firmennamen eingeben bei ID ' . $id;
}

if(empty($_POST['Nachname'])) {
  $errors['Nachname'] = 'Bitte Nachnamen eingeben bei ID ' . $id;
}

if(empty($_POST['Vorname'])) {
  $errors['Vornamen'] = 'Bitte Vornamen eingeben bei ID ' . $id;
}

if($errors === array()) {
  // Daten verarbeiten
} else {
  foreach($errors as $error) {
    echo $error . '<br />';
  }
}
 
Zurück