preg_match() Problem

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

  • preg_match() Problem

    Hallo!
    Folgendes Problem: Ich möchte gerne einen Filter in mein Gästebuch einbauen, sodass es alle Einträge mit E-Mails eines bestimmten Formates nicht berücksichtigt. Wenn die E-Mail z.B. "d32p_test123@yahoo.com" heißt, dann soll der Eintrag ignoriert werden. Also habe ich diesen PHP-Code entworfen:
    PHP-Code:
            if ($neumail<>""
        {
            if ( !
    eregi("^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,4}$"$neumail) ) { 
            
    $fehler=1$fehlerstring .= "Ihre E-Mail entspricht nicht einem g&uuml;ltigen Format."
        } 
            if (
    preg_match("/d??p_test???@.*/i"$neumail)) {
            
    $fehler 1;
        }
      } 
    Jetzt kommt allerdings dieser Fehler: "Warning: Compilation failed: nothing to repeat at offset 11 in /home/www/web35/html/gaestebuch.php on line 99" (Das ist die Zeile mit dem pregmatch)
    Was habe ich falsch gemacht?

  • #2
    ... sodass es alle Einträge mit E-Mails eines bestimmten Formates nicht berücksichtigt
    welchen formats?
    Wenn die E-Mail z.B. "d32p_test123@yahoo.com" heißt, dann soll der Eintrag ignoriert werden.
    warum?

    p.s. error_reporting hochstellen

    Kommentar


    • #3
      Original geschrieben von penizillin
      welchen formats?
      Das Format steht doch im Beispiel, d.h. "d??p_test???@*.*"

      Original geschrieben von penizillin
      warum?
      Einfach deshalb, weil das die E-Mail Adressen eines Spam-Bots sind.

      Kommentar


      • #4
        und das willst du für jede mail-adresse eines jeden spambots machen (die sowieso i.d.r. zufällig generiert werden)?

        baue dir lieber ein ordentliches captcha, das hält die masse auf.

        Kommentar


        • #5
          Du weisst schon, dass ? in Regulären Ausdrücken eine Sonderstellung zukommt ? Öffne das Manual, suche nach preg_match() und klicke im Menu auf Modifikatoren. Lerne

          Gruss

          tobi
          Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

          [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
          Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

          Kommentar


          • #6
            Ich verstehe nicht viel von PHP. Könnt ihr mir nicht einfach den richtigen Code schicken?

            Kommentar


            • #7
              nein, google dir eine fertige lösung zusammen, so wie alle anderen hobbyprogrammierer es tun. den suchbegriff habe ich dir ja schon genannt.

              Kommentar


              • #8
                Original geschrieben von darton
                Ich verstehe nicht viel von PHP. Könnt ihr mir nicht einfach den richtigen Code schicken?
                Klar, Stundenlohn 500€, soll ich dir meine Kontaktdaten geben?

                Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                Wie man Fragen richtig stellt

                Kommentar


                • #9
                  Könnt ihr mir nicht einfach den richtigen Code schicken?
                  Du hast es so gewollt

                  Gruss

                  tobi
                  Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                  [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                  Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                  Kommentar


                  • #10
                    Original geschrieben von ghostgambler
                    Klar, Stundenlohn 500€, soll ich dir meine Kontaktdaten geben?
                    Mein Gott, es ist doch nur eine Code-Zeile und das meiste hab ich doch schon oben in meinem Code geschrieben.

                    Kommentar


                    • #11
                      warum ignorierst du meinen hinweis?

                      Kommentar


                      • #12
                        Weil ich kein Captcha haben will. Ich will nicht immer irgendso eine blöde Zahlenreihenfolge eingeben, um mich ins Gästebuch einzutragen.

                        Kommentar


                        • #13
                          dann solltest du damit rechnen, deinen dubiosen filter alle paar tage zu erweitern. schau mal in deinen eigenen spam-ordner deines email-postfaches. schaue dir die absender-adressen an. viel erfolg!

                          p.s. dein pattern für die email adresse allgemein ist nicht korrekt, er müsste ".@abc" akzeptieren... keine gute idee, diese testerei (vor allem, wenn man sie nicht versteht)..
                          Zuletzt geändert von penizillin; 10.07.2007, 15:10.

                          Kommentar


                          • #14
                            Weil ich kein Captcha haben will.
                            Und warum liest du dann den Link nicht, den ich dir extra mit dem verlinkt habe
                            Code:
                            preg_match("/d\d*p_test\d*@.*/i", $neumail)
                            z.B. so, aber wie penizilin schon erwähnte ist die Captcha Lösung wesentlich zuverlässiger...

                            Gruss

                            tobi
                            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                            Kommentar


                            • #15
                              Danke, dass endlich mal jemand auf meine Frage eingeht und den richtigen Code hier hinschreibt.

                              Kommentar

                              Lädt...
                              X