Email-Tester mit Gästebuch verbinden - aber wie???



  • Zum Testen, ob eine E-Mail-Adresse gültig ist:

    if(ereg("^[_a-zA-z0-9-]+(\.[_a-zA-z0-9-]+)*@([_a-zA-z0-9-]+\.)+([a-zA-z]{2,3})$",$email)) {
     // [...]
    }
    

    Hab's nicht ausprobiert, aber so stang es in einem Buch von mir 🙂 (hoffe mal, dass ich mich net vertippt hab 🙄 )



  • naja wenn es keine @irgendwas.info sein darf is das gut...sonst mus es so heisen:

    if(ereg("^[_a-zA-z0-9-]+(\.[_a-zA-z0-9-]+)*@([_a-zA-z0-9-]+\.)+([a-zA-z]{2,3,4})",",email)) {
    // [...]
    }

    und normal darf am anfang kein _ stehen und auch keine zahl glaub ich...wenn das echt so is dann musses so sein:

    if(ereg("^[a-zA-z][_a-zA-z0-9-]+(\.[_a-zA-z0-9-]+)*@([_a-zA-z0-9-]+\.)+([a-zA-z]{2,3,4})",",email)) {
    // [...]
    }

    fals nisch tritt 1 in kraft 😉



  • Ich hab den letzen genommen:**

    ^[a-zA-Z0-9\-\._]+@[a-zA-Z0-9\-_]+(\.?[a-zA-Z0-9\-_]*)\.[a-zA-Z][a-zA-Z][a-zA-Z]?$
    

    **

    Der ist am besten.
    Einer der anderen wollte nicht mitmachen als ich als emailadresse Grinder@Grindheaven.com eingegeben habe. Wobei die entspricht ja der RFC, also darf das Script da auch nicht rummeckern. ich habe von einem Klassenkammeraden schonmal ein Script gesehen das für die Validation von emailadressen zuständig war, und zwar nach RFC norm -> das ding hat eine ganze DIN A4 Seite geflastert *g*

    =======================================================================
    Das Problem mit der Email hätten wir dann also soweit gelöst.
    Jetzt sollte ich noch schauen wie ich das mache dass man keinen Unfug anstellt indem man einfach HTML-Code eintippt.

    Ich glaube eine Lösung wäre einfach zu Prüfen ob man ein "<" eingegeben hat und das ganze dann zu sperren.

    [ Dieser Beitrag wurde am 02.03.2003 um 18:00 Uhr von Peter Piksa editiert. ]


  • Mod

    Original erstellt von Peter Piksa:
    Ich glaube eine Lösung wäre einfach zu Prüfen ob man ein "<" eingegeben hat und das ganze dann zu sperren.

    oder einfach strip_tags bzw. htmlentities aufrufen...
    wobei strip_tags wohl besser wäre 🙂



  • Original erstellt von Shade Of Mine:
    oder einfach strip_tags bzw. htmlentities aufrufen...
    wobei strip_tags wohl besser wäre 🙂

    sauber!! 🙂
    Das läuft ja wie geschmiert!
    Boar Leute ich bekomm hier voll den Orgasmus auf PHP *lol* 😮 😮 😮
    Wenn ich mal vergleiche wie schwer das alles in C zu realisieren wäre *muaahhahaha* da geh ich ja ein bei!!

    Der aktuelle Code ist nun der hier:
    Er überprüft Die Felder Name sowie Kommentar auf irgendwelche HTML-Böswilligkeiten *G*

    if(ereg("^[a-zA-Z0-9\-\._]+@[a-zA-Z0-9\-_]+(\.?[a-zA-Z0-9\-_]*)\.[a-zA-Z][a-zA-Z][a-zA-Z]?$",$email))
            {   
                $name = strip_tags($name, '');
                $zeiger = fopen($datei, "r+");
                $alt = fread($zeiger, filesize($datei));
                $email="<a href=\"mailto:$email\">$name</a>";
                $datum = date("j.n.Y");
                $datum2 = date("H:i:s");
                $comment = stripslashes(nl2br($comment));
                $comment = strip_tags($comment, '<br>');
                $meinung = "<table width=\"350\" bgcolor=\"#AFAFAF\" bordercolor=\"#AFAFAF\" border=\"0\" cellspacing=\"1\" cellpadding=\"1\"><tr><td 
    
    bgcolor=\"#1F1F1F\" width=\"350\"><font face=\"Verdana\" size=\"1\"><b>$email</b> schrieb am <i>$datum</i> um $datum2</td></tr><tr><td bgcolor=\"#6F6F6F\" 
    
    width=\"350\"><font face=\"Verdana\" size=\"1\">$comment</font></td></tr></table><font face=\"Verdana\" size=\"1\"><br><br></font>
    
    ";
                $meinung = smilie($meinung);
                rewind($zeiger);
                fputs($zeiger, "$meinung\n$alt");
                fclose($zeiger);
            } else { echo "<table width=\"350\" bgcolor=\"#FFFFFF\" bordercolor=\"#AFAFAF\" border=\"0\" cellspacing=\"1\" cellpadding=\"1\"><tr><td 
    
    bgcolor=\"red\" width=\"350\" align=\"center\"><font face=\"Verdana\" size=\"1\"><b>Sie haben eine ungültige Emailadresse eingegeben!!!</font></td></tr></table><font 
    
    face=\"Verdana\" size=\"1\"><br><br>"; }
        }
    

    [ Dieser Beitrag wurde am 02.03.2003 um 18:35 Uhr von Peter Piksa editiert. ]



  • naja.....ich bevorzuge htmlspecialchars (eigendlich ma ne gute frage wieso es von einer programmiersprache über 2 dinger gibt die nur 1 zeil verfolgen...das is wie beim ersetzen, das kann man auch mit str_replace oder ereg_replace oder anderen...ganzschön bl....amabel das sind wiedersprüche in der eigenen sprache 😃



  • Also mein Gästebuch kann checkt nun die Emailadresse auf 'richtiggkeit', formt textsmilies in grafiken um und ist sicher gegen HTML-Code. Ein Kumepel meinte zu mir ich solle mal die Smilies, die das Gästebuch unterstützt, auflisten, (so wie hier im forum wenn man eine antwort verfasst) und wenn man draufklickt wird der String sofort in das Nachrichtenfenster übertragen.

    Bsp: man klickt auf den hier -> 🙂
    um Textfenster "comment" soll das dann erscheinen -> "Doppelpunkt+Klammerzu"
    natürlich ohne das plus und die gänsefüsschen.
    Wie konnte ich das machen?
    Hab mir ja schon die JavaScript Funktionen von einigen Foren angesehen, die sowas beinhalten aber da ich mich mit JavaScript voll nicht auskenne, und erst demnächst mein KnowWare-Buch zu den Thema erhalten kann ich da nicht wirklich was machen.



  • NAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIN! *HEUL*
    Hab mir den Quellcode anzeigen lassen als die Einträge angezeigt wurden und hab ne änderung vorgenommen. jetzt ist der ganze PHP Code im Eimer!!!!! Alles Weg! aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaah



  • Du darfst eben nicht den transformierten Code speichern, sondern musst dies bei der Anzeige erledigen, oder was meintest du 😕



  • Junge Junge, nochmal Glück gehabt!!! *schweisabwisch*
    Hab das ganze nochmal wiederherstellen können!

    <html>
    <head>
    <title>Mein Gästebuch</title>
    <style>
    <!--
    .input
    {
            font-family: Arial;
            font-size: 10;
            font-weight: bold;
            border-color: #FFFFFF;
            border-style: none;
            border-width: 2;
            padding-left: 2px;
            padding-right: 2px;
            padding-top: 0px;
            padding-bottom: 0px}
    //-->
    </STYLE>
    </head>
    <body bgcolor="#000000" basefont="Verdana" text="#FFFFFF" link="yellow">
    
    <form class="input" action="<?php echo $PHP_SELF ?>" method="POST">
    Ihr Kommentar:<br>
    <textarea class="input" cols="55" rows="4" wrap="soft" name="comment"></textarea><br>
    Ihr Name:<br>
    <input class="input" type="type" name="name"><br>
    Ihre Email Adresse:<br>
    <input class="input" type="text" name="email"> <input class="input" type="submit" value="Abschicken"></form>
    
    <hr size="1">
    <font face="Arial" size="2"><b>Bisherige Meinungen:</b><br><br></font>
    
    <?
    // Funktion zum erzeugen der Smilies
    
    function smilie($text)
    {
        $search  = array (':)', ':D', ':(', ':x'); 
        $replace = array ('<img src="http://www.ms-cyboard.de/ubb/smile.gif">', '<img src="http://www.ms-cyboard.de/ubb/biggrin.gif">', '<img 
    
    src="http://www.ms-cyboard.de/ubb/graemlins/schluchtz.gif">', '<img src="http://www.ms-cyboard.de/ubb/graemlins/schwuchtel.gif">');
        $temp  = str_replace($search, $replace, $text);
        return($temp);
    }
    // Ende der Smiliefunktion
    
    $datei = "comment.txt";
    if(1 == file_exists($datei))
    {
        if (isset($comment) && $name != "" && $email != "" )
            {
            if(ereg("^[a-zA-Z0-9\-\._]+@[a-zA-Z0-9\-_]+(\.?[a-zA-Z0-9\-_]*)\.[a-zA-Z][a-zA-Z][a-zA-Z]?$",$email))
            {
                $name = strip_tags($name, '');
                $zeiger = fopen($datei, "r+");
                $alt = fread($zeiger, filesize($datei));
                $email="<a href=\"mailto:$email\">$name</a>";
                $datum = date("j.n.Y");
                $datum2 = date("H:i:s");
                $comment = stripslashes(nl2br($comment));
                $comment = strip_tags($comment, '<br>');
                $meinung = "<table width=\"350\" bgcolor=\"#AFAFAF\" bordercolor=\"#AFAFAF\" border=\"0\" cellspacing=\"1\" cellpadding=\"1\"><tr><td 
    
    bgcolor=\"#1F1F1F\" width=\"350\"><font face=\"Verdana\" size=\"1\"><b>$email</b> schrieb am <i>$datum</i> um $datum2</td></tr><tr><td bgcolor=\"#6F6F6F\" 
    
    width=\"350\"><font face=\"Verdana\" size=\"1\">$comment</font></td></tr></table><font face=\"Verdana\" size=\"1\"><br><br></font>
    
    ";
                $meinung = smilie($meinung);
                rewind($zeiger);
                fputs($zeiger, "$meinung\n$alt");
                fclose($zeiger);
            } else
            {
            echo "<table width=\"350\" bgcolor=\"#FFFFFF\" bordercolor=\"#AFAFAF\" border=\"0\" cellspacing=\"1\" cellpadding=\"1\"><tr><td bgcolor=\"red\" 
    
    width=\"350\" align=\"center\"><font face=\"Verdana\" size=\"1\"><b>Sie haben eine ungültige Emailadresse eingegeben!!!</font></td></tr></table><font face=\"Verdana\" 
    
    size=\"1\"><br><br></font>";
            }
        }
    readfile($datei);
    }else
    {
        if (isset($comment) && $name != "" && $email != "" )
            {
            if(ereg("^[a-zA-Z0-9\-\._]+@[a-zA-Z0-9\-_]+(\.?[a-zA-Z0-9\-_]*)\.[a-zA-Z][a-zA-Z][a-zA-Z]?$",$email))
            {
                $name = strip_tags($name, '');
                $zeiger = fopen($datei, "w");
                fclose($zeiger);
                $zeiger = fopen($datei, "r+");
                $alt = fread($zeiger, filesize($datei));
                $email="<a href=\"mailto:$email\">$name</a>";
                $datum = date("j.n.Y");
                $datum2 = date("H:i:s");
                $comment = stripslashes(nl2br($comment));
                $comment = strip_tags($comment, '<br>');
                $meinung = "<table width=\"350\" bgcolor=\"#AFAFAF\" bordercolor=\"#AFAFAF\" border=\"0\" cellspacing=\"1\" cellpadding=\"1\"><tr><td 
    
    bgcolor=\"#1F1F1F\" width=\"350\"><font face=\"Verdana\" size=\"1\"><b>$email</b> schrieb am <i>$datum</i> um $datum2</td></tr><tr><td bgcolor=\"#6F6F6F\" 
    
    width=\"350\"><font face=\"Verdana\" size=\"1\">$comment</font></td></tr></table><font face=\"Verdana\" size=\"1\"><br><br></font>
    
    ";
                $meinung = smilie($meinung);
                rewind($zeiger);
                fputs($zeiger, "$meinung\n$alt");
                fclose($zeiger);
                readfile($datei);
            } else
            {
            echo "<table width=\"350\" bgcolor=\"#FFFFFF\" bordercolor=\"#AFAFAF\" border=\"0\" cellspacing=\"1\" cellpadding=\"1\"><tr><td bgcolor=\"red\" 
    
    width=\"350\" align=\"center\"><font face=\"Verdana\" size=\"1\"><b>Sie haben eine ungültige Emailadresse eingegeben!!!</font></td></tr></table><font face=\"Verdana\" 
    
    size=\"1\"><br><br></font>";
            }
        }
    }
    ?>
    </body>
    </html>
    

Anmelden zum Antworten