Formular überprüfen / Messagebox per PHP?

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Formular überprüfen / Messagebox per PHP?

      Hi, Leute!

      Ich möchte ein Formular per php auf Vollständigkeit überprüfen.
      Natürlich soll die Mail NICHT gesendet werden, wenn 3 der 5 Felder nicht ausgefüllt wurden.
      ENTWEDER das 2. ODER das 3. Feld sollen auch zwingend ausgefüllt werden.

      Ich hab zwar schon was darüber gefunden, aber das würde mit JAVA-Script funktionieren - und da kenn ich mich nüsse aus :) - Danke schonmal!
      OS X 10.8.5 @
      MacPro 8 x 2,8, 16GB

      OS X 10.6.8 @
      MacBookPro 2 x 2.3, 2GB
      MacMini 2 x 2.26, 4GB
    • Hallo !!

      Wenn du mit PHP auf Vollständigkeit prüfen willst dann musst das Formular normal abschicken und dann bevor du die Mail mit der mail() Funktion abschickst prüfen ob was gültiges drin steht, zB mit:

      Quellcode

      1. if(empty($_REQUEST["feld1"]))
      2. {
      3. echo "Feld 1 ist leer";
      4. }
      5. else
      6. {
      7. mail(....);
      8. }


      Du hast aber von JavaScript gesprochen. Da sieht es anders aus.
      Nehmen wir mal an, du hast folgendes Formular:

      Quellcode

      1. <form name="form1" action="sendMail.php" method="post">
      2. <input name="feld1">
      3. <input name="feld2">
      4. <input name="feld3">
      5. ...
      6. <input type="button" value="Abschicken" onClick="javascript:checkForm();">
      7. </form>


      So... der Button ist deswegen nicht vom Typ "submit" weil wir ja vorher prüfen wollen ob die Daten richtig sind und erst dann abschicken. Dazu brauchen wir die Funktion checkForm die irgendwie so aussehen sollte:

      Quellcode

      1. function checkForm()
      2. {
      3. var errorsOccured = 0;
      4. if(document.getElementByName("feld1").value == "") // Feld1 ist leer
      5. {
      6. errorsOccured++;
      7. }
      8. //usw für jedes Feld
      9. if(errorsOccured == 0)
      10. {
      11. document.form1.submit(); // wenn alles richtig ist, Formular abschicken
      12. }
      13. else
      14. {
      15. alert('Sie haben ' + errorsOccured + ' Felder falsch ausgefüllt');
      16. }
      17. }
      Alles anzeigen

      Diese Funktion muss natürlich innerhalb eines <SCRIPT></SCRIPT> Tags sein oder durch so einen aus einer anderen Datei importiert worden sein.

      Ich hoffe, ich konnte dir helfen. Bei weiteren Fragen, her damit :D

      MfG
    • Danke, für deine Antwort, (werd' ich heute nachmittag ausprobieren) aber ich suche nach einer NICHT-Java-Lösung ;)
      (statt alert() in JAVA - gibt es da einen ähnlichen Befehl in php, der eine MsgBox hervorruft?)
      OS X 10.8.5 @
      MacPro 8 x 2,8, 16GB

      OS X 10.6.8 @
      MacBookPro 2 x 2.3, 2GB
      MacMini 2 x 2.26, 4GB

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von TheDrummer ()

    • Original von TheDrummer
      Danke, für deine Antwort, (werd' ich heute nachmittag ausprobieren) aber ich suche nach einer NICHT-Java-Lösung ;)
      (statt alert() in JAVA - gibt es da einen ähnlichen Befehl in php, der eine MsgBox hervorruft?)


      Es ist nicht möglich mit PHP eine MessageBox aufzurufen da PHP ein Preprozessor ist.... dh wenn du eine Anfrage an den Webserver schickst wird der PHP-Code umgesetzt (kompiliert) und dann bekommst du in Form von HTML usw eine Antwort. dh bevor du die Seite siehst/bekommst wird der PHP-Code ausgeführt und es ist nicht möglich zur Laufzeit PHP-Code auszuführen.

      Du kannst mit PHP prüfen ob die Felder passen, dann ein Flag setzten und je nach dem ob ein Flag gesetzt ist mit JavaScript eine MessageBox aufrufen.

      Die Variante mit JavaScript, die ich vorher hingeschrieben habe hat den vorteil, dass die Seite zur Fehlerkorrektur nicht neugeladen werden muss.

      Wie du es löst, bleibt Dir überlassen.

      MfG