Hi
Ich möchte die Angaben eines Formulares nicht mit JavaScript, sondern mit PHP überprüfen lassen. Bevor ich das Rad neu erfinde habe ich nach Scripts zu diesem Thema gesucht, aber nichts passendes gefunden. Wer hat nen Tipp?
Gruss
Borsi
Hallo Borsi!
Zunächst musst du mal unterscheiden und entscheieden, ob du die Formulardaten bereits bei Klick auf Absenden oder erst danach mittels einer entsprechenden „Fehlerseite“ überprüfen willst.
Dass du im ersten Fall für PHP nichts gefunden hast ist ganz logisch, da PHP nun mal eine Serverseitige Sprache ist und daher erst nach Rücksendung der Daten an den Webserver Zugriff darauf bekommt. Ergo musst du für diesen Fall Javascript benutzen.
Sollen die Daten nach Rücksendung an den Webserver ausgewertet und Fehleingaben mittels genannter Fehlerseite angezeigt werden, kannst du PHP ohne weiteres nutzen. Hier sogar nur PHP und nicht Javascript!
Eine Zwittermöglichkeit wäre noch Javascript-Code mittels PHP zu erzeugen, der dann die Daten gleich bei der Eingabe überprüfen kann - das hat meiner Meinung nach aber keine wirklichen Vorteile, sondern erfordert nur höheren Programmieraufwand.
Ich würde dir aus Performancegründen immer die erste Variante mittels Javascript empfehlen, auch wenn du es lieber mit PHP gelöst hättest. Aber genau für solche Aufgaben ist Javascript prädestiniert
Hoffe, ich konnte ein wenig helfen,
viele Grüsse,
Andreas
Hallo Andreas
Danke für Deine Antwort!
Der Unterschied JavaScript / PHP ist mir klar. Wie gesagt, ich suche ein Skript, welches nach dem „Senden Button“ die üblichen Prüfungen (Feld ausgefüllt, Mailadresse korrekt, etc.) durchführt.
Gruss
Borsi
Hi!
Hier findest Du eine Möglichkeit das ganze über PHP zu machen:
In den erste Überprüfungen wird nur gecheckt, ob die Felder gefüllt worden sind, Konto wird auf numerisch abgefragt und die korrekte email wird gecheckt!
wichtig ist das setzen des fehler = true und das exit am ende.
In PHP ist die Funktion ereg() dazu eigentlich immer das Mittel der Wahl…
okay ?
if (!$Nachname) {
echo " Nachnahme fehlt";
$fehler = true;
}
if (!$Vorname) {
echo " Vornahme fehlt";
$fehler = true;
}
if (!$Passwort) {
echo " Passwort fehlt";
$fehler = true;
}
if (!$Email){
echo " Emailadresse fehlt"; $fehler=1; }
else
if (!ereg("^[_a-zA-Z0-9-]+(.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+.([a-zA-Z0-9-]{2,3})$",$Email)){
echo " Emailadresse ist keine zulässige Adresse";
$fehler=true;
}
if ($Konto && !ereg("[0-9]",$Konto) ) {
echo " Kontonummer ist nicht numerisch";
$fehler=true;
}
if($fehler==true){
Echo " ";
exit;
}
Hallo Thorsten
Tönt wirklich gut. Muss ich morgen mal austesten.
Auf alle Fälle, besten Dank!!!
Gruss
Borsi
Hallo Thorsten
Alles hat bestens geklappt, bis auf einen Punkt:
Wenn ich als Konto den Eintrag „ee“ eingebe, klappt alles.
Wenn ich als Konto den Eintrag „e12“ akzeptiert er das Konto, obwohl es nicht numerisch ist.
Sobald eine Zahl im Eintrag dabei ist, akzeptiert er das Konto.
Aber was muss ich machen, dass er hier ausschliesslich die Werte von 0 bis 9 akzeptiert?
Gruss Borsi
upsi… naja, immerhin fast gut…
also des rätsels lösung
if ($Konto && ereg("[^0-9]",$Konto) ) {
echo " Kontonummer ist nicht numerisch";
$fehler=1;
}
das kannst Du dann für die blz anlog ändern und dann tut die sache… ( das „!“ ist weg und dafür ist in der Klammer das „^“ )
sorry und gruß
Thorsten
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo Thorsten
Du hast mir perfekt geholfen!!!
Besten Dank, alles funktioniert.
Gruss
Borsi