Hallo, ich habe ein Formular erstellt, welches die Daten über ein php-script abschickt.
Meine Frage: kann man abprüfen ob bestimmte Felder gefüllt sind und so das abschicken ggf noch verhindern?
Danke, Julia
Hallo, ich habe ein Formular erstellt, welches die Daten über ein php-script abschickt.
Meine Frage: kann man abprüfen ob bestimmte Felder gefüllt sind und so das abschicken ggf noch verhindern?
Danke, Julia
du kannst einmal per javascript prüfen... da das aber clientseitig ist, ist das nicht das sicherste.... zusätzlich würde ich noch eine php prüfung einbauen, die dann ggf eine fehlermeldung auspuckt...
gut und wie geht das mit php?
schau dir mal diese Funktion hier an..:
<?php
/* PARAMETER
$name - Feldname oder Array mit Feldnamen
$len - standardmäßig 0, Länge die das Feld mindestens haben sollte, gut für Textareas
*/
function valid($name, $len=0){
if(is_array($name)){ // Wenn der $name ein Array ist
foreach($name AS $n){ // Jeder Feldname wird durchprobiert
if(!valid($n)){ // Rekursion startet
return false;
}
}
return true; // Wenn alle Feldnamen valide sind - return true
}
else{
if(isset($_POST[$name]) AND !empty($_POST[$name]) AND strlen($_POST[$name]) > $len){ // Wenn der Name existiert, nicht leer ist und größer als $len ist, dann ist das Feld valide
return true;
}
else{ // sonst nicht
return false;
}
}
}
?>
Alles anzeigen
mfg
Andi
Hm würd kürzere Prüfung machen:
if(isset($_POST['submit'])) {
$check_zero = true;
} else {
$check_zero = false;
}
if($check_zero == 0 or $check_one == 0 or $check_two == 0 or $check_four_alpha == 0 or $check_three == 0 or $check_four == 0 or $check_five == 0 or $check_six == 0 or $check_seven == 0 or $check_eight == 0) {
echo "Eines der Pflichtfelder wurde entweder nicht Ordnungsgemäß ausgefüllt oder Sie haben eins davon vergessen auzufüllen!\n
Bitte kehren Sie Zurück und überprüfen Sie ihre Eingaben!";
exit;
}
Alles anzeigen
Musst dir oben mit check_zero und so halt zurecht fimmeln
Also ich hab das jetzt mal so gemacht wie BrandOr es geschrieben hat, aber wenn dann die Fehlermeldung ausgegeben wird, ist das immer auf einer neuen Seite.
Kann man das irgendwie so machen, das das auf der richtigen seite schon steht?
sonst muss man ja immer auf zurück klicken und die seite neu laden geht ja auch nicht, weil ja dann die felder wieder leer sind
dann musst du entweder die variablen wieder mit zurück senden
per get oder post
oder die überprüfung mit javascript machen
oder die gesamte php-abfrage auf einer seite machen