Veröffentlicht 11. März 200619 j Hallo, kann mir jemand helfen? Ich möchte mal von mir erstellte Formulare weiter erläutern, da die nur „gefüllt“ gespeichert werden dürfen. Und zweite, wie kann ich die Gültigkeit der E-Mail und Homepage überprüfen? Danke, Max
11. März 200619 j Mittels PHP oder Javascript? PHP funktioniert erst nach absenden der Daten, Javasript kann live bei der Eingabe überprüft werden. Mein Favorit ist dennoch PHP - aus anderen Gründen. Bitte erst entscheiden, dann kann es Antwort geben. (Es ist ganz leicht unterschiedlich)
11. März 200619 j Hi! Mit dem PEAR Paket Quickform kannst Du genau das alles machen: http://pear.php.net/manual/de/package.html.html-quickform.php Grüße, Tobias
13. März 200619 j Und zweite, wie kann ich die Gültigkeit der E-Mail und Homepage überprüfen? Die Gültigkeit einer Mail-Adresse kannst du nur prüfen, wenn du eine Bestätigungsmail sendest und nur nach klick auf einen Link dort, ist die Mail gültig. OB die Adresse überhaupt existiert kannst du per Telnetzugriff auf den Mailserver prüfen (dabei kann es aber irgendeine Adresse sein, muss nicht die korrekte desjenigen sein, der da was eingibt). Die Gültigkeit einer Web-Adresse prüfst du, indem du sie einfach abfrägst. In PHP mit fopen. Dazu muss aber allow_url_fopen in der php.ini an sein. Einen weiteren Weg kann ich dir im Moment nicht sagen (außer über system("wget $url", $aResult); vielleicht... ist aber nur ne Idee, hab ich noch nie gemacht)
16. März 200619 j Mein Favorit ist dennoch PHP - aus anderen Gründen. für mich auch, da ich PHP lehrne.
17. März 200619 j für mich auch, da ich PHP lehrne. PHP hat indem Fall (Gültigkeit einer Mail-Adresse) den Nachteil, dass die Anfrage erst an den Server geschickt werden muss, dort prüfst du die Daten und sendest dann ne "Fehlerseite" zurück. Mit Javascript prüfst du das vor dem Senden und der Anwender muss nicht so lange warten nur um einen Fehler zu sehen. Falls Javascript aber ausgeschaltet ist, solltest du die Prüfung auf dem Server nicht weglassen. z.B. http://www.perlscriptsjavascripts.com/js/check_email.html (oder bei google Suchen, da gibt es noch viele mehr... das war das erste) Und entsprechend was in PHP dann.
17. März 200619 j Zusätzlich zur PHP-Prüfung empfiehlt es sich auch, schon beim Abschicken des Formulars eine Javascript-Prüfung einzubauen. Vorteil: Das Form muss nicht erst an den Server geschickt werden, vielmehr sieht der User sofort, wenn noch was fehlt. Nachteil: Naja, die üblichen prinzipiellen Nachteile, die man mit JS halt so hat (weswegen auch letztlich nicht auf eine "richtige" Prüfung verzichtet werden darf. Natürlich kann man unmöglich prüfen, ob die Mailadresse wirklich gültig ist, aber zumindest ob die Eingabe irgendwie plausibel ist... für eine WWW-Adresse kann man ganz ähnlich vorgehen. Also kleines Javascript einbinden: function submitform(MeineForm) { // Name eingetragen if(MeineForm.name.value == "") { alert('Bitte Name angeben'); MeineForm.name.focus(); return false; } if(MeineForm.email.value.match(/^\s*$/)) { alert('Bitte Mailadresse angeben'); MeineForm.email.focus(); return false; } else { // Prüfen, ob die Mailadresse plausibel ist if (MeineForm.email.value.match(/^(.+?)\@(.+?)\.[A-Za-z]{1,4}$/) { return true; } else { alert('Bitte gültige Mailadresse eingeben'); MeineForm.email.focus(); return false; } } } und das Formular dann mit onSubmit-Event versehen: <FORM METHOD="POST" name="MeineForm" onSubmit="return submitform(MeineForm);" ACTION="irgendwas.php"> Name (*) <input name="name" type="text"><br> E-Mail-Adresse (*)<input name="email" type="text"><br> <input type="submit" value="Abschicken"> </form> Die ungefähr gleichen (und nach Lust und Laune noch weitere) Prüfungen dann im irrgendwas.php nochmal durchführen...
17. März 200619 j // Prüfen, ob die Mailadresse plausibel ist if (MeineForm.email.value.match(/^(.+?)\@(.+?)\.[A-Za-z]{1,4}$/){ return true; } Womit du z.B. alle .museum oder.travel ausschließt. Eine E-Mail mit Regexp überprüfen zu wollen, ist wahnsinn. Und wenn man das doch will, sollte man sich nicht selbst die Mühe machen sondern was fertiges nehmen. siehe z.B.: http://www.perl.com/CPAN/authors/Tom_Christiansen/scripts/ckaddr.gz Gruß Jaraz
17. März 200619 j Womit du z.B. alle .museum oder.travel ausschließt. Eine E-Mail mit Regexp überprüfen zu wollen, ist wahnsinn. // Prüfen, ob die Mailadresse plausibel ist if (MeineForm.email.value.match(/^(.+?)\@(.+?)\.[A-Za-z]*$/){ return true; } Somit hätte er nur die äußere Form geprüft. Irgendwer@iregndwas.irgendwo wobei für die TLD nur Groß- und Kleinbuchstaben zulässig sind, aber in beliebiger anzahl
17. März 200619 j Für Mailcheck empfehle ich 2 Dinge: 1. Syntaktische korrektheit bis zum @ Nur erlaubte Zeichen im Namen?Ist ein @ vorhanden? 2. Der Rest muß dann die Domain sein. Dafür kann man in PHP mit getmxrr() prüfen ob ein MX Record im DNS vorhanden ist. Das sichert zumindest a) die Gültigkeit der Domain und das die Domain eine Maildomain ist. Das wäre das was man mit geringem Aufwand machen kann ohne eine Testmail zu versenden.
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.