Welcome, Guest. Please login or register.
Did you miss your activation email?
May 27, 2012, 01:04:22 AM

Login with username, password and session length
Search:     Advanced search
Interested in joining the WebsiteBaker team?
For more Information read here or on our new website.
155557 Posts in 21715 Topics by 7737 Members
Latest Member: gx-world
* Home Help Search Login Register
Pages: [1]   Go Down
Print
Author Topic: Kontakformular -Emailadresse auf gültige Syntax prüfen-  (Read 305 times)
herbi
Betatester
*
Offline Offline

Posts: 357



WWW
« on: February 01, 2012, 12:34:22 PM »

Hallo Wbler,

WB 2.8.2, Rev. 1532;

Bei Verwendung eines Kontaktformulares, kommt es sehr häufig vor, dass der User seine Emailadresse falsch einträgt.

Statt "hans.mustermann@subdomain.domain.de", trägt er z.B. "hansmustermann@domain.de" ein.

Wo kann ich den nötigen PHP-Code eintragen, um die Mailadresse, zumindest auf gültige, Syntax zu überprüfen?  huh

Welche Datei (view.php oder modify?.php), kann da entsprechend modifiziert werden?  huh

Oder, kann ich den entsprechenden Code, direkt bei den Optionen des Formulares reinschreiben?
Zum Beispiel in der Fusszeile des Formulares.

Hat da jemand schon Erfahrung damit gesammelt oder verwendet eine entsprechende Überprüfung.
Würde mich sehr freuen wenn jemand diesbezüglich Hilfe leisten könnte und wollte.

Danke.
Logged

Herbi

Jeder meint, dass seine Wirklichkeit die richtige Wirklichkeit ist.
Luisehahne
Board Member
Development Team
*****
Offline Offline

Posts: 3147



WWW
« Reply #1 on: February 01, 2012, 12:44:21 PM »

Hallo Herbi,

wie willst du abprüfen ob du einen Schreibfehler in der Email Adresse hast? Auc wenn du einen Punkt vergessen hast, handelt es sich ja um eine gültige E-Mail Adresse

Dietmar
Logged

We are human beings - and nobody is perfect at all.
herbi
Betatester
*
Offline Offline

Posts: 357



WWW
« Reply #2 on: February 01, 2012, 01:00:35 PM »

@luisehahne
Quote
wie willst du abprüfen ob du einen Schreibfehler in der Email Adresse hast? Auc wenn du einen Punkt vergessen hast, handelt es sich ja um eine gültige E-Mail Adresse

Ja, dies ist schon richtig was du schreibst.
Nur möchten wir den potentiellen User darauf aufmerksam machen, dass er seine Mailadresse überprüfen soll.

Code:
<form name="form1" method="post" action="<? $PHP_SELF ?>">
 <input type="text" class="input" name="email"><br><br>
 <input type="submit" name="senden" class="input" value="Senden"><br><br>
 (Eine ungültige Email-Adresse ist zum<br>Beispiel: test@test oder test&test@test.de)
</form>

<?php
if($senden) {
  if(!
eregi("^[a-z0-9\._-]+@+[a-z0-9\._-]+\.+[a-z]{2,4}$",
  
$_POST['email'])) {
    echo 
"<font color=#FF0000>Ung&uuml;ltige Email-Adresse!</font>";
    exit;}
}
?>

Diesen Code z.B. habe von einer PHP-Forumsseite.

Ich dachte dies wäre genau das was wir bräuchten.
Um dies zu überprfüfen, ob es so geht wie ich mir dies vorstelle, bräuchte ich die Infos.

Danke
« Last Edit: February 01, 2012, 01:04:32 PM by herbi » Logged

Herbi

Jeder meint, dass seine Wirklichkeit die richtige Wirklichkeit ist.
Luisehahne
Board Member
Development Team
*****
Offline Offline

Posts: 3147



WWW
« Reply #3 on: February 01, 2012, 01:57:58 PM »

Quote
Diesen Code z.B. habe von einer PHP-Forumsseite

Wie alt ist der Post? von 2006? eregi ist deprecated. Ob eine EMail Adresse vailde ist, wird schon abgeprüft, aber für Schreibfehler kannst du keinen verantwortlich machen. Auch test@test.de ist eine gültige E-Mail Adresse, wird aber nicht existieren. Da wäre eine Vorabprüfung evtl. sinnvoll, ob die Adresse überhaupt erreichbar ist.

Dietmar
« Last Edit: February 01, 2012, 02:00:05 PM by Luisehahne » Logged

We are human beings - and nobody is perfect at all.
herbi
Betatester
*
Offline Offline

Posts: 357



WWW
« Reply #4 on: February 01, 2012, 02:16:24 PM »

Hallo Dietmar,

danke für deine Antwort, aber...
Quote
Da wäre eine Vorabprüfung evtl. sinnvoll, ob die Adresse überhaupt erreichbar ist.
Wie bewerkstellige ich die`s?

Ist evtl. auch ein Einbau bzw. eine Abfrage über LDAP-Server möglich?
Wenn ja, wo müssten wir da ansetzen?
Wenn nein, müssen wir uns etwas anderes überlegen die User zu disziplinieren.  smiley  smiley

Danke
Logged

Herbi

Jeder meint, dass seine Wirklichkeit die richtige Wirklichkeit ist.
DarkViper
Development Team
*****
Offline Offline

Posts: 1254


« Reply #5 on: February 01, 2012, 02:51:43 PM »

Aktueller Stand im Modul 'Form':

In einem Formular wird für jedes Eingabefeld vom Typ = 'email' mit einer Corefunktion überprüft, ob die eingegebene Email-Adresse syntaktisch richtig ist.

Eine weitere Prüfungsmöglichkeit wäre festzustellen, ob der Mailserver der Adresse (der Teil rechts vom @) existiert und bereit ist Emails zu empfangen. Dazu müsste eine DNS-Abfrage abgeschickt werden, um zu testen ob für die angegebene Email-Domain ein entsprechender MX-Record existiert.
Der nächste Prüfungsschritt ist dann, nachzuschauen, ob auf diesem Server auch das angegebene Postfach (der Teil links vom @)existiert. Dazu muss versucht werden, eine Verbindung zu dem Mailserver aufzubauen und das Postfach zu öffnen(was mangels Passwort selbstverständlich nicht funktionieren kann).  Anhand der Rückmeldung kann dann ausgewertet werden, ob das Postfach überhaupt existiert.

Beide Prüfungen sind technisch jederzeit machbar, haben jedoch einen gravierenden Nachteil:
Anfragen nach ungültigen Domains oder nicht vorhandenen Postfächern können ewig lang dauern (teils mehrere Minuten), da die Anfrage so lange läuft, bis ein Timeout auftritt. Zwischenzeitlich ist das PHP-Script schon 100 Mal den Weg alles irdischen gegangen und ebenfalls durch Timeout abgestürzt.

Nehmen wir mal an, ein Benutzer 'Max' trägt anstelle vom max@example.com die Adresse renate@example.com ein. Der Mailserver example.com ist erreichbar und sowohl das Postfach Max und Renate existieren dort.
Kein Rechner der Welt kann da feststellen, dass Benutzer 'Max' hier einen Eingabefehler gemacht hat.

Ich hoffe, dass ich die meisten Fragen zu diesem Thema hiermit aufklären konnte.

PS:  Hier geht es einfach um Selbstverantwortung der User, die wir ihnen nicht abnehmen können. Denk mal an Banküberweisungen: Eine einzige Ziffer beim Empfängerkonto falsch eingetragen, und Dein Geld landet unwiderruflich beim falschen Empfänger! Nicht einmal bei derart kritischen Teilen wird Dir die Selbstverantwortlic hkeit abgenommen. wink
« Last Edit: February 01, 2012, 03:02:08 PM by DarkViper » Logged

Anleitungen lesen und selber nachdenken ist anstrengend...  Da lass ich doch lieber andere für mich denken...

In 1984:  Nineteen Eighty-Four is a unrealistic utopia!!
In 2012:  Nineteen Eighty-Four is a little piece only of our reality!!
jacobi22
Betatester
*
Offline Offline

Posts: 1376


WWW
« Reply #6 on: February 01, 2012, 03:00:07 PM »

Quote

Vielleicht hilft euch eine Abfrage weiter
wenn angemeldet, nutze die User-Mailadresse, wenn nicht, die ins Formular eingetragene
ggf. belegt man das E-Mail-Feld schon mit der User-Mail

Ansonsten wäre ich aber eher fürs "disziplinieren"  wink
Logged

LG Uwe

Wer sagt, Reichtum ist alles, hat nie ein Kind lächeln gesehen.
DarkViper
Development Team
*****
Offline Offline

Posts: 1254


« Reply #7 on: February 01, 2012, 03:06:40 PM »

Vielleicht hilft euch eine Abfrage weiter
wenn angemeldet, nutze die User-Mailadresse, wenn nicht, die ins Formular eingetragene
ggf. belegt man das E-Mail-Feld schon mit der User-Mail
Bei der neuesten Version von 'Form' ist das seit kurzem bereits so geregelt. wink
Da diese Version jedoch noch nicht veröffentlicht ist, fehlt im Moment auch noch das passende Tutorial dazu.
Wir mussten hier diverse Veränderungen vornehmen, um zu verhindern dass eine WB-Installation als Spammschleuder missbraucht werden kann.

Ansonsten wäre ich aber eher fürs "disziplinieren"  wink
Mit Gerte oder lieber der 9-schwänzigen? *gggg*
« Last Edit: February 01, 2012, 03:09:11 PM by DarkViper » Logged

Anleitungen lesen und selber nachdenken ist anstrengend...  Da lass ich doch lieber andere für mich denken...

In 1984:  Nineteen Eighty-Four is a unrealistic utopia!!
In 2012:  Nineteen Eighty-Four is a little piece only of our reality!!
evaki

Offline Offline

Posts: 224


« Reply #8 on: February 01, 2012, 03:31:16 PM »

Zur Prüfung der Mailadressen kann man auch Telnet starten  rolleyes
MfG. Evaki
« Last Edit: February 01, 2012, 03:49:32 PM by evaki » Logged
herbi
Betatester
*
Offline Offline

Posts: 357



WWW
« Reply #9 on: February 01, 2012, 06:47:29 PM »

Hallo an Alle,

Danke für die Rückmeldungen und Vorschläge.

Aber, da dieses Formular nur für Rückmeldungen (z.B. Gesundmeldung), verwendet wird, ist mir der Aufwand zu groß, hier etwas zu initiieren,  was der Anwender verhindern könnte.

Ich habe diese Frage nur gestellt, weil die Fehlmeldungen der falschen Mailangaben, bei uns zusammenlaufen, und uns leicht nerven.  smiley


@evaki
Telnet ja, für Fachleute!
Nicht aber für unbedarfte User, die 'grad Excel und Word unterscheiden können.  smiley  smiley

@jacobi22
Es sind keine eingetragenen User. Die User nutzen nur das Formular um  eine Meldung abzugeben.
Da hilft wirklich nur eine strenge Erziehung.   smiley

Also, merci nochmals.
« Last Edit: February 01, 2012, 06:49:59 PM by herbi » Logged

Herbi

Jeder meint, dass seine Wirklichkeit die richtige Wirklichkeit ist.
NorHei
Forum administrator
*****
Offline Offline

Posts: 485



WWW
« Reply #10 on: February 01, 2012, 07:37:51 PM »

@ Viper

Dann poste doch kurz die nicht veröffentlichte hier, dann hast du umgehend einen Menschen glücklich gemacht.

Oder klär uns kurz auf ob das die aus dem aktuellen SVN ist , dann  stell ich die eben rein.

Logged

It is easier to change the specification to fit the program than vice versa.
jacobi22
Betatester
*
Offline Offline

Posts: 1376


WWW
« Reply #11 on: February 01, 2012, 07:43:55 PM »

@jacobi22
Es sind keine eingetragenen User. Die User nutzen nur das Formular um  eine Meldung abzugeben.
Wann kommen denn die Fehlermeldungen, beim Antworten?
Wenn man noch ein festes Schema hätte, wie z.b. Name vor dem @ hat immer einen Punkt oder es gibt immer eine Subdomain usw, dann könnte man darauf hin noch prüfen, aber so.....
Ich kenne Leute, die verschicken erst ne Mail, um dann vom Empfänger ihre Mailaddi zu erfahren  shocked
Da hilft wirklich nur eine strenge Erziehung.   smiley
Du bist der Antwort ja ausgewichen, ich wiederhol die Frage von DarkViper noch mal
Mit Gerte oder lieber der 9-schwänzigen? *gggg*
Logged

LG Uwe

Wer sagt, Reichtum ist alles, hat nie ein Kind lächeln gesehen.
herbi
Betatester
*
Offline Offline

Posts: 357



WWW
« Reply #12 on: February 01, 2012, 10:54:48 PM »

@jacobi22
Die Mailadressen sind immer nach einem festen Schema vergeben.
vorname.name@subdomain.domain.de

Die Fehlermeldungen werden produziert, wenn der User seine Email-Adresse in das dafür vorgesehene Feld schreiben soll.
Ich muss mir das ganze nochmals ansehen und prüfen. Das Formular wird bei einer nachgeordneten Stelle verwendet.

Das Formular wird nur innerhalb eines IntrAnets verwendet. Die Mailadressen sind da alle bekannt und können auch an anderer Stelle abgefragt werden.

Mit der Anfrage wollte ich nur eine Möglichkeit ausloten, ob es möglich wäre  den User  an die Hand zu nehmen.

Ich melde mich nochmals wenn ich mir das Formular ganz genau angesehen habe.

Danke
Logged

Herbi

Jeder meint, dass seine Wirklichkeit die richtige Wirklichkeit ist.
DarkViper
Development Team
*****
Offline Offline

Posts: 1254


« Reply #13 on: February 01, 2012, 11:47:27 PM »

@ Viper
Dann poste doch kurz die nicht veröffentlichte hier, dann hast du umgehend einen Menschen glücklich gemacht.
Oder klär uns kurz auf ob das die aus dem aktuellen SVN ist , dann  stell ich die eben rein.

Es ist die aktuelle aus dem SVN.
Ich muss mir nur noch irgendwo eine ruhige Stunde klauen, um die Zusammenhänge der Formulare und der übrigen Emailadressen innerhalb von WB zu dokumentieren. Auch der jetzt zusätzlich mögliche Parameter 'fri' (für: FormRequestId) ist etwas erklärungsbedürftig...  kann aber zu Auswertungszwecke für Leute mit vielen Adds auf Fremdseiten sehr hilfreich sein, wenn nicht x Landingpages(Kontaktformulare) angelegt werden sollen.
Logged

Anleitungen lesen und selber nachdenken ist anstrengend...  Da lass ich doch lieber andere für mich denken...

In 1984:  Nineteen Eighty-Four is a unrealistic utopia!!
In 2012:  Nineteen Eighty-Four is a little piece only of our reality!!
Pages: [1]   Go Up
Print
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.16 | SMF © 2011, Simple Machines Valid XHTML 1.0! Valid CSS!