Formular
-
Hi
Ich will ein Formular erst dann abschicken lassen wenn
die E-Mail/Telefonnummer korrekt oder überhaupt gar eingegeben wurde.Wie kann ich das den machen?
Gruß
Martin Kirschgarten :p
-
Indem du mit JavaScript die entsprechenden Felder überprüfst: http://www.selfhtml.net/javascript/objekte/elements.htm#value
(Funktioniert dann aber logischerweise auch nur bei aktiviertem JavaScript)
-
Wie ist den das Modul für die E-Mail etc. abfrage?
Ich will mit CGI die E-Mail und Telefonnummer abfragen, im Formular.
Die schicken immer leere Formulare oder müll zu....Gruß
Martin
-
Hi
Der Link nicht gut.
WIe kann eine E-Mail Adresse überprüfen?
Ich brauceh etwas was fertig ist.
-
Dann du nicht wirst finden...
Jetzt mal im ernst, wo ist dass Problem?
Du lässt das Formular einfach normal an deinen Server schicken und prüfst dann per CGI / PHP / PERL oder was auch immer, ob die Daten brauchbar sind.Was möchtest du denn sehen? Einen fertigen Algorithmuss, dem du nur die Daten übergibt (oder der sie sich am besten gleich selber holt) und dir dann sagt, ob's gut oder schlecht ist? Kann dir hier keiner sagen, weil keiner weiß, was für Daten für dich besonders wichtig sind, in welcher Art und worauf du sie prüfen willst etc.
-
Willst du jetzt die Formular-Felder beim Client prüfen (geht nur mit JavaScript und bringt nicht viel, da unzuverlässig), oder auf dem Server?
Wenn ich dich richtig verstanden habe, willst du eben nur verhindern, dass dein Script leere Formulare per Mail wegschickt, oder? Also vorher serverseitig Inhalt überprüfen und dann erst abschicken - oder Fehlermeldung. Die E-Mail-Adresse kannst du nur soweit prüfen, als dass du schaust, ob sie vom Aufbau her korrekt ist (nicht ob sie wirklich existiert) - gegen Angaben wie xyz@web.de kannst du dich eigentlich gar nicht schützen.http://lists.phpcenter.de/archive/php_infosoc2/Week-of-Mon-20000612/021641.html
http://lists.phpcenter.de/archive/php_infosoc2/Week-of-Mon-20000612/021647.html
-
Ich gib euch mal ein Formular.
Es Funktioniert aber leider nicht.
#!/usr/bin/perl # -------> SMTP-Programm zum Versenden der Mail: $Sendmail_Prog = "/usr/lib/sendmail"; # -------> Modul für CGI-Scripts einbinden: use CGI; # -------> Modul für CGI-Scripts zum Einlesen der Formulardaten anwenden: $query = new CGI; @names = $query->param; # -------> interne Daten aus den erwarteten hidden-Feldern auslesen: $delimiter = $query->param('delimiter'); # ---> Begrenzerzeichen zwischen name und value $mailto = $query->param('mailto'); # ---> Empfängeradresse $returnhtml = $query->param('return'); # ---> URL für Dankeseite $subject = $query->param('subject'); # ---> E-Mail-Subject # -------> Text der E-Mail aus den Formulardaten ermitteln: $mailtext = ""; foreach(@names) { $name = $_; @values = ""; @values = $query->param($name); if($name ne "mailto" && $name ne "return" && $name ne "subject" && $name ne "delimiter") { foreach $value (@values) { $mailtext = $mailtext.$name; $mailtext = $mailtext.$delimiter; $mailtext = $mailtext.$value."\n"; } } } # -------> E-Mail versenden: open(MAIL,"|$Sendmail_Prog -t") || print STDERR "Mailprogramm konnte nicht gestartet werden\n"; print MAIL "To: $mailto\n"; print MAIL "Subject: $subject\n\n"; print MAIL "$mailtext\n"; close(MAIL); # -------> Dankeseite an Browser senden: print "Location: $returnhtml\n\n";
-
Hier das Formular dazu.
<form action="../cgi-bin/mail.pl" method="post"> <input type="hidden" name="mailto" value="metinoenal@freakmail.de"> <input type="hidden" name="return" value="http://www.metinoenal.com"> <input type="hidden" name="delimiter" value=": "> <input type="hidden" name="subject" value="Feedback-Formular"> <!-- hier beliebige eigene Felder --> <textarea rows="5" name="S1" cols="43"></textarea> <input type="submit"><input type="reset"> </form>
-
Ich habe auf meinem Account einen Ordner erstellt.
../cgi-bin/mail.pl
die HTML Datei habe ich auch hochgeladen.
So, jetzt muss mir mal ein Experte helfen.
Gruß
Martin
-
Hallo
Ich will in diesen Code eine Abfrage einbauen.
function CheckInhaltVorname(Feld) { if(Feld == "") { alert("Bitte erst Ihren Vornamen eintragen!"); document.Formular.Vorname.focus(); return false; } else { Vorname = Feld document.Formular.Nachname.focus(); return false; } }
Dieser Code soll das E-Mail Feld prüfen ob da was drin steht.
function eMailAdresseOK(eMail) { // Erstellt von Metin Önal (www.arstechnica.de) // Falls das Feld leer ist, ohne Prüfung aussteigen if (eMail.value.length==0) { return true } // Text für die Fehlermeldung var FehlerMeldung = new String("Fehler in der eMail-Adresse\n\n") // Position des @ herausfinden var PosEt = eMail.value.indexOf("@") if (PosEt == -1) { alert(FehlerMeldung + "Es fehlt ein @") return eMail.focus() } if (PosEt == 0) { alert(FehlerMeldung + "Es fehlt der Empfänger") return eMail.focus() } if (eMail.value.indexOf("@", PosEt + 1) > PosEt) { alert(FehlerMeldung + "Es darf nur ein @ enthalten sein") return eMail.focus() } // Position des ersten . nach dem @ herausfinden var PosPt = eMail.value.indexOf(".", PosEt) if ((PosPt == -1) || (PosPt - PosEt < 2) || (eMail.value.length - PosPt < 3)) { FehlerMeldung += "Eine eMail-Adresse muß so aufgebaut sein: x@x.xx " FehlerMeldung += "Jedes x steht für mindestens ein Zeichen" alert(FehlerMeldung) return eMail.focus() } // Zulässige Zeichen für eMails definieren var ZugelasseneZeichen = new String("abcdefghijklmnopqrstuvwxyz") ZugelasseneZeichen += ZugelasseneZeichen.toUpperCase() + "0123456789.-_@" // eMail-Adresse auf zulässige Zeichen überprüfen return PruefeZeichen(eMail, ZugelasseneZeichen, FehlerMeldung) }
-
Bei sowas nutze ich immer eine Zwischenseite
form.php ---> check.php ---> destination.php
Der User schickt das Formular ab. In check.php werden die Daten geprüft. Sind die Daten OK wird er zu destination.php weitergeleitet andernfalls zurück zu form.php. Die check.php würde ich dann so gestallten, dass es mit allen Formularen einwandfrei zusammenarbeitet.