[PHP] e-Mail Adresse auf Endung prüfen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [PHP] e-Mail Adresse auf Endung prüfen

    Hallo,

    ich möchte bei der Anmeldung in meinem Script prüfen ob die angegebene e-Mail-Adresse mit einer bestimmten Endung endet (z.B. @projekt.de), da nur Personen zugelassen sind die eine eMail eines bestimmten Vereins besitzen.

    Gibts dazu vielleicht ne Funktion in PHP?

    Grüße ryk

  • #2
    Ja explode()

    PHP-Code:
    $mailadresse "ich@du.de";

    $tmp explode("@"$mailadresse); 
    $tmp[1] ist in dem Fall du.de
    gruss Chris

    [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

    Kommentar


    • #3
      Vielen Dank. Ist ja relativ einfach und kurz.

      Kommentar


      • #4
        Vergleich der E-Mailadresse mit dem Domainnamen

        Hallo,

        ich bin auf der Suche nach einer Lösung, auf dieses Tread gestoßen.

        Ich habe ein Formular, in dem u.A. eine URL und eine E-Mailadresse eingegeben werden.
        Nun möchte ich prüfen, ob die E-Mailadresse zu der angegebenen Domain gehört, also ob hinter dem @ derselbe Domainnahme benutzt wird.

        Folgenden Code habe ich mir zusammen gebastelt, leider wird aber die E-Mailadresse immer als falsch ausgegeben, also auch wenn sie denselben Domainnamen hat.

        PHP-Code:
        //Email mit mit Domainnamen vergleichen
                
                // URL formatieren, alles entfernen außer den domainnamen
                 
        $_POST['url'] = trim($_POST['url']);
                 
        $_POST['url'] = preg_replace('#^[url]http://#i[/url]'''$_POST['url']);
                 
        $_POST['url'] = preg_replace('#^[url]www.#i[/url]'''$_POST['url']);
            
                
        // Backslash am Ende entfernen
                 
        $needle substr($_POST['url'], -11);
                 if (
        $needle == '/'$_POST['url'] = substr($_POST['url'], 0, -1);

                
        // Mail formatieren

                
        $mailadresse $_POST['email'];

                
        $tmp explode("@"$mailadresse);
                
                
        // Domainnamen und E-Mail vergleichen
                
        if ($_POST['url'] != $tmp[1]);{
                
                
        $error "Die E-Mailadresse gehört nicht zur angemeldeten Domain !";        
                
                
        // Domain wieder mit [url]http://www.[/url] ausstatten
                
        $_POST['url'] = "http://www.".$_POST['url'];
                } 
        Könnte mir jemand eine Lösung nennen, als absoluter Laie komme ich da wohl nicht weiter.
        Ich bin für jeden Tipp dankbar!

        Danke

        Kommentar


        • #5
          PHP-Code:
          $tmp_mail explode('@'$_POST['email']);
          if (isset(
          $tmp_mail[1]) && parse_url($_POST['url'], PHP_URL_HOST) == $tmp_mail[1]) ... 

          Kommentar


          • #6
            Danke für die Hilfe, habe jetzt folgendes probiert wobei zwar keine Fehlermeldung erscheint,
            aber leider auch jede E-Mailadresse angenommen wird.

            PHP-Code:
            //Email mit mit Domainnamen vergleichen
                    
                    // URL formatieren, alles entfernen außer den domainnamen
                     // $_POST['url'] = trim($_POST['url']);
                     // $_POST['url'] = preg_replace('#^[url]http://#i[/url]', '', $_POST['url']);
                     // $_POST['url'] = preg_replace('#^[url]www.#i[/url]', '', $_POST['url']);
                
                    // Backslash am Ende entfernen
                     // $needle = substr($_POST['url'], -1, 1);
                     // if ($needle == '/') $_POST['url'] = substr($_POST['url'], 0, -1);

                    // Mail formatieren

                    
            $tmp_mail explode('@'$_POST['email']);
                    if (isset(
            $tmp_mail[1]) && parse_url($_POST['url'], PHP_URL_HOST) == $tmp_mail[1]){
                    
                    
            $error "Die E-Mailadresse gehört nicht zur angemeldeten Domain !";        
                    
                    
            // Domain wieder mit [url]http://www.[/url] ausstatten
                    
            $_POST['url'] = "http://www.".$_POST['url'];
                    } 
            Sorry wenn ich nerven sollte, aber ich komme nicht weiter.
            Danke!

            Kommentar


            • #7
              Testausgaben?

              Kommentar


              • #8
                Sorry, verstehe ich jetzt nicht!?

                Kommentar


                • #9
                  Na, wie willst du auch nen fehler finden, wenn du nicht debugst?

                  ist $tmp_mail[1] definiert? Wen ja, welchen Inhalt hat die Variable? echo

                  was gibt parse_url($_POST['url'], PHP_URL_HOST) zurück? print_r

                  Antworten?

                  Kommentar

                  Lädt...
                  X