Formular überprüfen

Hallo,

ich habe eine Seite write.php dort soll man die Formularfelder ausfüllen. Kann mir jemand meinen Code umbauen, dass PHP die Felder überprüft? Und vieleicht noch mit einem Bild mit buchstaben und zahlen dirn die man abschrieben muss.

Hier mein Code von write.php:

[html]

Unbenanntes Dokument
Name: *
Vorname: *
Strasse: *
Hausnummer: *
PLZ: *
Ort: *
Handy Nr.: *
E-Mail Adresse: *
Wetten Mühlau Benuzername:
*muss ausgefüllt werden

Bau doch ne If Anweisung um all des Zeugs rum…
In etwa so sollte sie anfangen:

if( ($name !="") OR ($username != "") OR ($passwort != "") OR ($email_add != "") )

$name ==„“
^^bedeutet dass wenn die variable $name ungleich leer ist, gehts weiter usw…

hab deinen Code aus zeitgründen nicht angeschaut, tut mir leid!

Ja… hmm ich weis nicht wie ich ihn einbauen soll… und die e-mail adresse wird auch nicht auf: @ und . geprüft… und n Bildchen zum abschreiben ist auch nicht dabei…

Sei doch mal mit etwas zufrieden !!!

[PHP]

<?php // prueft die mail und checkt ob die domain der mail erreichbar ist ! function checkMail($mail) { if( (preg_match('/(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/', $string)) || (preg_match('/^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/',$string)) ) { $host = explode('@', $string); if(!function_exists('checkdnsrr')) { function checkdnsrr($host, $type = '') { if(!empty($host)) { if($type == '') { $type = "MX"; } @exec("nslookup -type=$type $host", $output); while(list($k, $line) = each($output)) { if(eregi("^$host", $line)) { return true; } } return false; } } } if(checkdnsrr($host[1].'.', 'MX') ) return true; if(checkdnsrr($host[1].'.', 'A') ) return true; if(checkdnsrr($host[1].'.', 'CNAME') ) return true; return false; } } if(isset($_POST['sender'])) { // entfernt die whitespaces vor und nach der eingabe // so verhinderst du, das einer ein leeres feld mit whitespaces abschickt $name = trim($_POST['name']); $vorname = trim($_POST['vorname']); $strasse = trim($_POST['strasse']); $hnr = trim($_POST['hnr']); $plz = trim($_POST['plz']); $ort = trim($_POST['ort']); $handy = trim($_POST['handy']); $mail = trim($_POST['mail']); $benutzername = trim($_POST['benutzername']); // ueberprueft ob die felder leer sind if(!empty($name) && !empty($vorname) && !empty($strasse) && !empty($hnr) && !empty($plz) && !empty($ort) && !empty($handy) && checkMail($mail) && !empty($benutzername)) { // hier gehts dann weiter } } ?> Unbenanntes Dokument
Name: *
Vorname: *
Strasse: *
Hausnummer: *
PLZ: *
Ort: *
Handy Nr.: *
E-Mail Adresse: *
Wetten Mühlau Benuzername:
*muss ausgefüllt werden

OK danke! Und wie baue ich das ein, dass wenn etwas falsch ist das es auf [PHP][‚PHP_SELF‘][/PHP] geht und wenn alles richtig ist auf ?sec=ok

Kennst Du dich überhaupt in irgendeiner Art und Weise mit php aus ??

schonmal etwas von nem „else“ Zwei gehört und von nem Header ??

[PHP]

<?php if(!empty($name) && !empty($vorname) && !empty($strasse) && !empty($hnr) && !empty($plz) && !empty($ort) && !empty($handy) && checkMail($mail) && !empty($benutzername)) { // hier gehts dann weiter aber jetzt musst du noch auf der jeweiligen seite halt ne ueberpruefung machen, // ob das formular wirklich gesendet ist ( weil man sonst die seite einfach so aufrufen kann ohne das forumlar zu senden) header("Location: deineSeite.php?sec=ok"); } else { header("Location: deineSeite.php"); } ?>

[/PHP]

Sagen wir mal so ich bin anfänger…

Gut soweit habe ich alles begriffen. Noch ne letzte frage wie gebe ich den Fehler aus?

z.B. Feld Name ist leer!

Soll ich für jedes Feld ne IF machen?

und irgendwo ist n Fehler drin:

Parse error: parse error, unexpected $ in /home/manuelg/public_html/wetten/energy starts for free/write.php on line 176

in der Linie 176 steht nur das ist die letzte zeile…

Nicht soll, sondern Du musst !

Sourcecode bitte posten !

[php]

<?php // prueft die mail und checkt ob die domain der mail erreichbar ist ! function checkMail($mail) { if( (preg_match('/(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/', $string)) || (preg_match('/^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)/',$string)) ) { $host = explode('@', $string); if(!function_exists('checkdnsrr')) { function checkdnsrr($host, $type = '') { if(!empty($host)) { if($type == '') { $type = "MX"; } @exec("nslookup -type=$type $host", $output); while(list($k, $line) = each($output)) { if(eregi("^$host", $line)) { return true; } } return false; } } } if(checkdnsrr($host[1].'.', 'MX') ) return true; if(checkdnsrr($host[1].'.', 'A') ) return true; if(checkdnsrr($host[1].'.', 'CNAME') ) return true; return false; } } if(isset($_POST['sender'])) { // entfernt die whitespaces vor und nach der eingabe // so verhinderst du, das einer ein leeres feld mit whitespaces abschickt $name = trim($_POST['name']); $vorname = trim($_POST['vorname']); $strasse = trim($_POST['strasse']); $hnr = trim($_POST['hnr']); $plz = trim($_POST['plz']); $ort = trim($_POST['ort']); $handy = trim($_POST['handy']); $mail = trim($_POST['mail']); $benutzername = trim($_POST['benutzername']); if(!empty($name) && !empty($vorname) && !empty($strasse) && !empty($hnr) && !empty($plz) && !empty($ort) && !empty($handy) && checkMail($mail) && !empty($benutzername)) { // hier gehts dann weiter aber jetzt musst du noch auf der jeweiligen seite halt ne ueberpruefung machen, // ob das formular wirklich gesendet ist ( weil man sonst die seite einfach so aufrufen kann ohne das forumlar zu senden) header("Location: index.php?sec=ok"); } else { header("Location: index.php?sec=write"); } ?> Unbenanntes Dokument ">
Name: *
Vorname: *
Strasse: *
Hausnummer: *
PLZ: *
Ort: *
Handy Nr.: *
E-Mail Adresse: *
Wetten Mühlau Benuzername:
*muss ausgefüllt werden

[/php]

[php]

<?php // prueft die mail und checkt ob die domain der mail erreichbar ist ! function checkMail($mail) { if( (preg_match('/(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/', $string)) || (preg_match('/^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)/',$string)) ) { $host = explode('@', $string); if(!function_exists('checkdnsrr')) { function checkdnsrr($host, $type = '') { if(!empty($host)) { if($type == '') { $type = "MX"; } @exec("nslookup -type=$type $host", $output); while(list($k, $line) = each($output)) { if(eregi("^$host", $line)) { return true; } } return false; } } } if(checkdnsrr($host[1].'.', 'MX') ) return true; if(checkdnsrr($host[1].'.', 'A') ) return true; if(checkdnsrr($host[1].'.', 'CNAME') ) return true; return false; } } if(isset($_POST['sender'])) { // entfernt die whitespaces vor und nach der eingabe // so verhinderst du, das einer ein leeres feld mit whitespaces abschickt $name = trim($_POST['name']); $vorname = trim($_POST['vorname']); $strasse = trim($_POST['strasse']); $hnr = trim($_POST['hnr']); $plz = trim($_POST['plz']); $ort = trim($_POST['ort']); $handy = trim($_POST['handy']); $mail = trim($_POST['mail']); $benutzername = trim($_POST['benutzername']); if(!empty($name) && !empty($vorname) && !empty($strasse) && !empty($hnr) && !empty($plz) && !empty($ort) && !empty($handy) && checkMail($mail) && !empty($benutzername)) { // hier gehts dann weiter aber jetzt musst du noch auf der jeweiligen seite halt ne ueberpruefung machen, // ob das formular wirklich gesendet ist ( weil man sonst die seite einfach so aufrufen kann ohne das forumlar zu senden) header("Location: index.php?sec=ok"); } else { header("Location: index.php?sec=write"); } } ?> Unbenanntes Dokument ">
Name: *
Vorname: *
Strasse: *
Hausnummer: *
PLZ: *
Ort: *
Handy Nr.: *
E-Mail Adresse: *
Wetten Mühlau Benuzername:
*muss ausgefüllt werden

[/php]