Nur eine Mailadresse..

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

  • Nur eine Mailadresse..

    Hi zusammen

    Ich habe einmal eine Newsletter anmeldung geschieben, dort kann man sich mittels eines <input> eintragen.

    Diese Feld habe ich wie folgt begrenzt das zwingend eine Mailadresse eingegeben werden muss.
    PHP-Code:
    (!preg_match("/[a-z0-9_-]+(\.[a-z0-9_-]+)*@([0-9a-z][0-9a-z-]*[0-9a-z]\.)+([a-z]{2,4})/i",$newsletter_mail)) 
    Wie kann ich nun verhindern, dass zwei oder gar mehrere Adressen eingetragen werden?

    Danke René

  • #2
    macht es nicht dieses regexp bereits?

    Kommentar


    • #3
      mittag!

      du meinst dass du z.b. ne blacklist mit emailadressen hast?!

      dann ganz einfach so...

      PHP-Code:

      $blacklist
      =array("mail@domain.com","email@domain.de")

      $ok=true;

      if(
      preg_match("/[a-z0-9_-]+(.[a-z0-9_-]+)*@([0-9a-z][0-9a-z-]*[0-9a-z].)+([a-z]{2,4})/i",$newsletter_mail)
      {
         for(
      $i=0;$i<count($blacklist);$i++)
        {
          if(
      $blacklist[$i]==$newsletter_mail)
          {
             
      $ok=false;
          }
        }
      }
      else
      {
          
      $ok=false;
      }

      if(
      $ok)
      {

      //in liste eintragen oder änliches...


      Das Problem zu erkennen ist wichtiger, als die Lösung zu erkennen, denn die genaue Darstellung des Problems führt zur Lösung.
      [Albert Einstein

      Kommentar


      • #4
        @ Penizilin

        Nein leider kann ich damit mehrere @ adressen eintragen.

        @ Doony

        Danke, abe ich brauche keine Blackliste.

        Ich werde von komischem Spam bombadiert, welcher irgendwie über mein Formular
        (Newsletter anmeldung) verschickt wird.
        Auch wenn das Mail ganz anders aussieht wird es doch in der Datenbank als neues Mitglied eingetragen!
        Ich blicke da nicht mehr durch!

        In der DB wird folgender Code eingetragen
        PHP-Code:
        arfc@mein-server.ch
        Content
        -Typemultipart/mixed
        boundary="===============0438430708=="
        MIME-Version1.0 Subjectb621d4a9 To:
        arfc@mein-server.ch bccPeiCanteenMc@aol.com 
        From
        arfc@mein-server.ch This is a 
        multi
        -part message in MIME format.
         --===============
        0438430708== Content-Type
        text/plaincharset="us-ascii" MIME-Version1.0
         Content
        -Transfer-Encoding7bit btrhmnpp --
        ===============
        0438430708==-- 
        Die adresse @mein-server habe ich geändert, dort steht jeweils meine Domain drin.

        Weiss da jemad abhilfe?

        Kommentar


        • #5
          PHP-Code:
          if (preg_match_all($pattern$newsletter_mail) == 1) {
          //    EMail-Addy Gültig und auch wirklich nur 1x gefunden

          wobei $pattern deins von oben ist, das stimmt ja soweit.

          Kommentar


          • #6
            Thx EEB Killer

            ich habe es gleich so gemacht
            PHP-Code:
            (preg_match_all((!preg_match("/[a-z0-9_-]+(\.[a-z0-9_-]+)*@
            ([0-9a-z][0-9a-z-]*[0-9a-z]\.)+([a-z]{2,4})/i"
            ,$newsletter_mail)), 
            $newsletter_mail) == 1
            leider jedoch ohne Erfolg.

            Kommentar


            • #7
              Mit pattern meinte ich eigentlich das hier:

              "/[a-z0-9_-]+(.[a-z0-9_-]+)*@([0-9a-z][0-9a-z-]*[0-9a-z].)+([a-z]{2,4})/i"

              Kommentar


              • #8
                Ok, alles klar. Nun habe ich es so umgeschieben wie in Deinem Beispiel.

                Wenn ich jetzt aber eine oder mehrere Adressen eintrage erhalte ich folgende Fehlermeldung.

                preg_match_all() expects at least 3 parameters, 2 given

                Kommentar


                • #9
                  PHP-Code:
                  if (preg_match_all("/[a-z0-9_-]+(.[a-z0-9_-]+)*@
                  ([0-9a-z][0-9a-z-]*[0-9a-z].)+([a-z]{2,4})/i"
                  $newsletter_mail$temp) == 1) {
                  //    EMail-Addy Gültig und auch wirklich nur 1x gefunden

                  stimmt, sorry. irgendwohin muss das ergebnis auch. $temp ist für dich uninteressant, muss aber der vollständigkeit halber da stehn (Habs heut nicht so mit parametern ...)

                  Kommentar

                  Lädt...
                  X