#1 10. April 2009 Daten in einem Formular überprüfen? Anfänger!!! Hi Leute, ich habe vor kurzem mit PHP angefangen und mal eine Frage an euch: PHP: <html> <head> <?php function check (){ $name = $_GET [ 'name' ]; if ( $name == "" ){ echo "name ungültig" ; return false ; } } ?> </head> <body> <form name="Formular" method="GET" action="out.php" onsubmit="return check()"> <input name="name" size="20"> </form> </body> </html> Es soll folgendes passieren. Ich habe ein Formular in dem meinetwegen ein Name steht. Wenn ich auf den Button unter dem Formular drücke soll quasi eine Funktion den Inhalt des Formulars prüfen. Dies habe ich mit onsubmit = Funktionsaufruf() versucht. Also bei Klick wird die Funktion aufgerufen. Die Funktion wollte ich per php in den Head schreiben. Nur scheinbar funktioniert das nicht. Auch wenn das Formular leer ist, kommt nicht ungültig. Ich weis das das sicherlich eine lächerliche Frage für viele ist aber für mich als Anfänger nunmal nicht. Ich hoffe ihr könnt mir weiterhelfen!! Vielen Dank! + Multi-Zitat Zitieren
#2 10. April 2009 AW: Daten in einem Formular überprüfen? Anfänger!!! Ja, is ja auch PHP-Quellcode.... der wird ned zum Client übertragen sondern serverseitig ausgeführt. Wenn du ne interaktive Check-Methode willst, musst du JavaScript verwenden! Mit PHP geht das nur, wenn du das normal über action="formularcheck.php" machst und dort ein PHP-Script eben das Formular prüfen lässt. + Multi-Zitat Zitieren
#3 10. April 2009 AW: Daten in einem Formular überprüfen? Anfänger!!! Dein Formular braucht noch einen Submitbutton Dann einfach if(isset($_GET['name'])) und dort halt checken MfG, Chrisomator + Multi-Zitat Zitieren
#4 10. April 2009 AW: Daten in einem Formular überprüfen? Anfänger!!! Hi danke erstmal, den submit Button hatte ich natürlich, hatte ihn nur im Quellcode vergessen: PHP: <html> <head> <?php function check (){ $name = $_GET [ 'name' ]; if ( $name == "" ){ echo "name ungültig" ; return false ; } } ?> </head> <body> <form name="Formular" method="GET" action="out.php" onsubmit="return check()"> <input name="name" size="20"> <input type = "submit" value="prüfen"> </form> </body></html> @Chrisomator Wo müsste ich das if(isset($_GET['name'])) dann einbauen? + Multi-Zitat Zitieren
#5 11. April 2009 AW: Daten in einem Formular überprüfen? Anfänger!!! PHP: <?php if ( isset( $_GET [ 'submit' ]) ) { check (); } function check (){ $name = $_GET [ 'name' ]; if (empty ( $name ) ){ echo "name ungültig" ; return false ; } return true ; } ?> So sollte es klappen. Aber wie Yuri schon sagt musst du deine Post Variablen an das Skript schicken. Deine Funktion check() gibt es nicht, da es eine Javascript Funktion ist. Die müsstest du, wenn du die Javascript Funktion brauchst, schreiben. Im Moment müsste das Formular so aussehen: HTML: <form name="Formular" method="GET" action="<?php echo $_SERVER['PHP_SELF'] ?>"> <input name ="name" size="20"> <input name = "submit" type = "submit" value="prüfen"> </form> + Multi-Zitat Zitieren
#6 11. April 2009 AW: Daten in einem Formular überprüfen? Anfänger!!! In der php-seite,die du mit dem Formular ausführst! + Multi-Zitat Zitieren
#7 12. April 2009 AW: Daten in einem Formular überprüfen? Anfänger!!! Also if ($x == "") { .. } würde ich gleich mal lassen, ist ja nur unnötige Tipparbeit. Dafür gibt es ja Funktionen wie empty() (PHP: empty - Manual), isset() (PHP: isset - Manual) oder zich andere.. - zugleich solltest du deine Felder validieren bevor du die bspw. in eine Datenbank stecken würdest (nur bspw.) mit mysql_real_escape_string() (PHP: mysql_real_escape_string - Manual). Um Dir mal einen Schritt vorraus zu gehen + Multi-Zitat Zitieren