+ Antworten
Ergebnis 1 bis 12 von 12

Thema: e-mail-Adresse auf @ und . durchsuchen

  1. #1
    TP-Junior Matthias Stark macht alles soweit korrekt
    Registriert seit
    Mar 2005
    Beiträge
    18

    e-mail-Adresse auf @ und . durchsuchen

    Hallo zusammen,

    habe hier im Forum irgendwo aufgeschnappt, dass man die e-mail-Adresse in Formularen auf @ und . durchsuchen kann um Fehler zu minimieren.
    Habe aber leider nicht gefunden wie man das nun macht. Kann mir vielleicht jemand sagen wie man sowas einrichtet.

    Gruß,
    Matthias

  2. #2
    TP-Veteran MatthiasG hilft, wo's geht MatthiasG hilft, wo's geht MatthiasG hilft, wo's geht Avatar von MatthiasG
    Registriert seit
    Jan 2003
    Ort
    Hallenberg/Würzburg
    Beiträge
    1.323
    willst du die emailadresse auf gültigkeit prüfen ? oder wie soll ich das verstehen ?

  3. #3
    TP-Junior Matthias Stark macht alles soweit korrekt
    Registriert seit
    Mar 2005
    Beiträge
    18
    Ja so in etwa.

    Habe mich schon durchs Forum gewühlt und herausgefunden, dass es offensichtlich nicht ganz so einfach ist. Dabei bin ich auf dieses überprüfen von @ und . gestoßen und fand dieses schon mal recht nützlich.

    Ich habe aktuell nämlich ein Anfrage bekommen, die als Mail-Adresse "Vorname.Nachname" eingetragen hat.
    Mit der Überprüfung nach @ und . wäre das warscheinlich nicht passiert.

    Gruß,
    Matthias

  4. #4
    TP-Veteran MatthiasG hilft, wo's geht MatthiasG hilft, wo's geht MatthiasG hilft, wo's geht Avatar von MatthiasG
    Registriert seit
    Jan 2003
    Ort
    Hallenberg/Würzburg
    Beiträge
    1.323
    bin grad am schauen, was ich so habe, zum anbieten

    also dein form-tag muß folgender maßen aussehen
    PHP-Code:
    <form ACTION="sendmail.pl" METHOD="GET" name="form1" onSubmit="return check()"
    mit return check() rufst du die überprüfung deines formulares auf.
    und das folgende script kopierst du unmittelbar nach dem body-tag hinein, bevor deine eigentliche html-tags kommen.
    PHP-Code:
     <script>
    function 
    check()
    {
    var 
    email=document.form1.email.value;
    var 
    cemail="";

    if (
    email!="")
    {
    if (
    document.form1.email.value.indexOf('@',0)==-|| document.form1.email.value.indexOf('.',0)==-1)
    cemail="Die eingegebene E-Mail-Adresse ist nicht korrekt!\n";
    }
    else
    var 
    cemail="Sie haben keine E-Mail-Adresse angegeben!\n";


    if (
    cemail!="")
    {
    alert(cemail)
    return 
    false;
    }
    else
    return 
    true;
    }
    </script> 
    wichtig ist, das du dem formularfeld für die eingabe der emailadresse dem namen: email gibst und das dein formular mit dem namen form1 bezeichnet ist.

    weiß jetzt gar nicht, ob das mal auf meinem mist gewachsen ist, aber es funktioniert. ist halt nur Javascript
    Geändert von MatthiasG (31.03.2005 um 10:22 Uhr)

  5. #5
    TP-Greis Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Avatar von Boris
    Registriert seit
    Mar 2001
    Ort
    Stuttgart & Kornwestheim
    Beiträge
    9.420
    Code:
    function check_email($email) // Checkt, ob Emails gültig sind
    {
      $nonascii      = "\x80-\xff"; # Non-ASCII-Chars are not allowed
    
      $nqtext        = "[^\\\\$nonascii\015\012\"]";
      $qchar         = "\\\\[^$nonascii]";
    
      $protocol      = '(?:mailto:)';
    
      $normuser      = '[a-zA-Z0-9][a-zA-Z0-9_.-]*';
      $quotedstring  = "\"(?:$nqtext|$qchar)+\"";
      $user_part     = "(?:$normuser|$quotedstring)";
    
      $dom_mainpart  = '[a-zA-Z0-9][a-zA-Z0-9._-]*\\.';
      $dom_subpart   = '(?:[a-zA-Z0-9][a-zA-Z0-9._-]*\\.)*';
      $dom_tldpart   = '[a-zA-Z]{2,5}';
      $domain_part   = "$dom_subpart$dom_mainpart$dom_tldpart";
    
      $regex         = "$protocol?$user_part\@$domain_part";
      // RegEx end
    
      return preg_match("/^$regex$/",$email);
    }
    Und:

    Code:
    if(check_email($_POST['email']))
    			{
    				echo "Ist korrekt";
    			}
    			else
    			{
    				echo "Ist falsch!";
    			}
    My software never has bugs. It just develops random features ...

    » DevShack - die Website des freien Webentwicklers Boris

  6. #6
    TP-Junior Matthias Stark macht alles soweit korrekt
    Registriert seit
    Mar 2005
    Beiträge
    18
    Vielen Dank, das ging ja flott.
    Werde es baldmöglichst ausprobieren.

    @Boris:
    Sieht etwas Wirr für mich aus. Steckt da noch mehr Funktion dahinter? Bin halt ein doofer Laie!?

    Gruß,
    Matthias

  7. #7
    TP-Greis Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Avatar von Boris
    Registriert seit
    Mar 2001
    Ort
    Stuttgart & Kornwestheim
    Beiträge
    9.420
    Es checkt hat Stück für Stück und recht genau die Syntax der Email ab. Wenn man nur überprüft, ob ein @ und . vorkommt, kann man ja dennoch was falsches Eintragen (@.@)
    My software never has bugs. It just develops random features ...

    » DevShack - die Website des freien Webentwicklers Boris

  8. #8
    TP-Junior Matthias Stark macht alles soweit korrekt
    Registriert seit
    Mar 2005
    Beiträge
    18
    Soweit habe ich das schon mal verstanden.

    Wo muss ich das Ganze dann einbauen?
    Und Funktioniert es unabhänging von dem Script für das Formular oder gibt es da vielleicht irgendwelche Probleme?

    Gruß,
    Matthias

  9. #9
    TP-Urgestein webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts Avatar von webcreate
    Registriert seit
    Nov 2003
    Ort
    NRW
    Beiträge
    11.660
    Hier noch was, womit auch gleich gecheckt wird, ob die Domain existiert bzw. ob der Host aufgelost werden kann.
    Benötigt allerdings PHP, was am code ersichtlich sein sollte
    PHP-Code:
    function checkmail($address) {
        
    $sen_name substr($address,0,strrpos($address,"@"));
        
    $sen_domain substr($address,strrpos($address,"@")+1);
        if(
    strlen($sen_name)>=&& preg_match("/^[_a-z0-9-.]+([_a-z0-9-.])$/i",$sen_name))
            if(
    gethostbyname($sen_domain) != $sen_domain) return true;
        else return 
    false;

    und der Funktionsaufruf:
    PHP-Code:
    if(checkmail($_SESSION['email'])){
    //Sendeaufruf
    }
    else{
    //Fehlermeldung

    Gruß Mark

    webcreate IT SOLUTIONS
    www.webcreate-nrw.de

    Photoblog....|....flickr

  10. #10
    TP-Greis Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Avatar von Boris
    Registriert seit
    Mar 2001
    Ort
    Stuttgart & Kornwestheim
    Beiträge
    9.420
    Wobei dies auch keine Garantie dafür ist, dass die Email-Adresse wirklich existiert
    My software never has bugs. It just develops random features ...

    » DevShack - die Website des freien Webentwicklers Boris

  11. #11
    TP-Urgestein webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts Avatar von webcreate
    Registriert seit
    Nov 2003
    Ort
    NRW
    Beiträge
    11.660
    Hat ja keiner behauptet
    Sollte ja nur noch eine Version sein...
    Gruß Mark

    webcreate IT SOLUTIONS
    www.webcreate-nrw.de

    Photoblog....|....flickr

  12. #12
    TP-Greis Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Avatar von Boris
    Registriert seit
    Mar 2001
    Ort
    Stuttgart & Kornwestheim
    Beiträge
    9.420
    Nee, war nur eine generelle Aussage. Man kann eine Email zwar äußerlich überprüfen, man kann diverse Checks durchführen (Domaincheck, oder checkdnsrr() usw.) ... aber sicher kann man nie sein
    My software never has bugs. It just develops random features ...

    » DevShack - die Website des freien Webentwicklers Boris

+ Antworten

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51