Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 25

Thema: & [MySql] Gästebuch - Problem mit Überprüfung

  1. #1
    TP-Senior Avatar von virtualmarkus
    Registriert seit
    Nov 2002
    Ort
    Wuppertal
    Beiträge
    271

    & [MySql] Gästebuch - Problem mit Überprüfung

    hi leute!
    heute war ein gästebuch skript an der reihe. bis jetzt hat auch alles gut funktioniert. allerdings checkt der nicht ordentlich die email addresse. da scheint es irgenteinen fehler zu geben. könnt ihr mal eben schauen?

    danke,
    Markus

    PHP-Code:
    <html>
    <head>
      <title>G&auml;stebuch</title>
    <link rel="stylesheet" href="style.css" >
    </head>
    <body>

    <?
    function email_check($email_addresse)
    {
         if( 
    ereg
    ("^[a-zA-Z0-9-]+(\.[_a-zA-Z0-9]+)*@[a-zA-Z0-9-]+\.([a-zA-Z]{2,3})$",
    $email_addresse) )
         {
              return 
    "true";
         }
         else
         {
              return 
    "false";
         }
    }

    // Verbindung wird aufgebaut
    include ("../verbind.php");

    // Falls schon was im Formular stand
    if (isset($_REQUEST['submit']))
        {
        
    $name=$_REQUEST['name'];
        
    $email=$_REQUEST['email'];
        
    $icq=$_REQUEST['icq'];
        
    $web=$_REQUEST['web'];
        
    $kommentar=$_REQUEST['kommentar'];
        
    $datum=date(d.".".m.".".Y." - ".H.":".i);

    // HTML wird verboten, BB Codes
    $kommentar str_replace ("[b]","<b>",$kommentar);
    $kommentar str_replace ("[/b]","</b>",$kommentar);
    $kommentar str_replace ("[i]","<i>",$kommentar);
    $kommentar str_replace ("[/i]","</i>",$kommentar);
    $kommentar str_replace ("[u]","<u>",$kommentar);
    $kommentar str_replace ("[/u]","</u>",$kommentar);
    $kommentar str_replace ("<","&lt;",$kommentar);
    $kommentar str_replace (">","&gt;",$kommentar);


    $email_checker=email_check($email);

    if(
    $email_checker)
    {

        
    $insert=mysql_query("INSERT INTO eintraege (datum,name, email, icq,web,kommentar) VALUES('$datum','$name','$email','$icq','$web','$kommentar')");
        if (
    $insert)
            {
            echo 
    "<b>Daten erfolgreich hinzugefügt:</b><br>
            Name: $name<br>
            Email: $email<br>
        ICQ: $icq<br>
        Web: $web<br>
            Kommentar: $kommentar<br>"
    ;
            echo 
    "<a href=\"gb.php\">zur&uuml;ck zur Hauptseite</a>";
            }
        else
            {
            echo 
    "Fehler beim hinzufügen der Daten.\n<br>\n";
        echo 
    "<a href=\"gb.php\">zur&uuml;ck zur Hauptseite</a>";
            }
     }

    else
    {
    echo 
    "Die Email Addresse ist ungültig";
    echo 
    "<a href=\"gb.php\">zur&uuml;ck zur Hauptseite</a>";
    }

    }
    // Wenn noch nichts im Formular stand

    else{

    $select=mysql_query("SELECT * from eintraege ORDER BY id DESC");
    if (
    $select and mysql_num_rows($select)!=0)
        {
            while (
    $row=mysql_fetch_array($select))
            {
    $kommentar=ereg_replace("(\r\n|\n|\r)""<br>"$row['kommentar']);

                echo 
    "
                
    <center>
    <table class=\"content\" width=\"50%\" border=\"0\" cellspacing=\"1\" cellpadding=\"1\">
      <tr> 
        <td><a href=\"mailto:"
    .$row['email']."\">".$row['name']."</a></td>

        <td><div align=\"right\"><p>"
    .$row['datum']."</div></p></td>
      </tr>
      <tr> 
        <td colspan=\"2\"><p>"
    .$kommentar."</p></td>
      </tr>
      <tr> 
        <td><p><img src=\"http://wwp.icq.com/scripts/online.dll?icq="
    .$row['icq']."&img=5\" alt=\"green=online    red=offline\">".$row['icq']."&nbsp;|&nbsp;<a href=\"".$row['web']."\" target=\"_blank\">Homepage</a></td>
        <td><div align=\"right\"></div></p></td>






      </tr>
    </table>
    <br>
    </center>"
    ;

           }
    ?>





    <?
    }
    ?>

    <center>
     <form action="<?=$_SERVER['PHP_SELF']?>">
    <table>
    <tr><td>Name:</td><td><input type="text" name="name"></td></tr>
    <tr><td>Email:</td><td><input type="text" name="email"></td></tr>
    <tr><td>Icq:</td><td><input type="text" name="icq"></td></tr>
    <tr><td>Web:</td><td><input type="text" name="web"></td></tr>
    <tr><td>Message:</td><td><textarea name="kommentar" rows="10" cols="50"></textarea></td></tr>

    </table>
    <input type="submit" value="Abschicken" name="submit">
    </form>
    <?
    }
    ?>
    <div align="right"><p><a href="admin/gb.php">admin</a></p></div>
    </body>
    </html>

  2. #2
    TP-Junior
    Registriert seit
    Mar 2003
    Beiträge
    16
    Moin Markus!
    Bin zwar auch kein PHP-Fachmann, wie du weisst, und finde deswegen auch den Fehler nicht, aber vielleicht kannst du mit einem funktionierenden Code was anfangen.
    PHP-Code:
    if(eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,4}$",$email_adresse)) { 
    return 
    "true"
    }
    else {
    return 
    "false";

    Hab zwar nur ein Bißchen gegoogelt, aber vielleicht konnte ich dir trotzdem helfen! Vielleicht findest du ja jetzt einen Fehler, oder nimmst einfach das Script!

    cu Stefan

  3. #3
    TP-Senior Avatar von virtualmarkus
    Registriert seit
    Nov 2002
    Ort
    Wuppertal
    Beiträge
    271
    Cool, es funktioniert. Danke!

  4. #4
    Registered User
    Registriert seit
    Feb 2002
    Beiträge
    667
    .
    Geändert von Radoo.de (09.09.2003 um 21:23 Uhr)

  5. #5
    Registered User
    Registriert seit
    Feb 2002
    Beiträge
    667
    .
    Geändert von Radoo.de (09.09.2003 um 21:23 Uhr)

  6. #6
    TP-Senior Avatar von virtualmarkus
    Registriert seit
    Nov 2002
    Ort
    Wuppertal
    Beiträge
    271
    ich hab jetzt dein regex übernommen.

    ich hab jetzt noch eine variable in die if schleife eingefügt. die variable $icq soll nur zahlen enthalten und es soll auch möglich sein das gar nichts eingegeben wird. allerdings komm ich damit nicht weiter.

    if((eregi(^[a-zA-Z0-9-]+(.[_a-zA-Z0-9]+)*@[a-zA-Z0-9-]+.([a-zA-Z]{2,6})$",$email)) && (eregi("^[0-9]",$icq) or $icq==""))
    {
    // richtige angabe
    }
    else
    {
    //meldung bei falscher eingabe
    }

  7. #7
    Registered User
    Registriert seit
    Feb 2002
    Beiträge
    667
    .
    Geändert von Radoo.de (09.09.2003 um 21:36 Uhr)

  8. #8
    TP-Senior Avatar von virtualmarkus
    Registriert seit
    Nov 2002
    Ort
    Wuppertal
    Beiträge
    271
    ok, das mit dem icq geht...aber das mit der email nicht. kannste nochmal drüber gucken?

    danke

    PHP-Code:
    <html>
    <head>
      <title>G&auml;stebuch</title>
    <link rel="stylesheet" href="style.css" >
    </head>
    <body>

    <?
    function email_check($email_addresse)
    {
         if( 
    ereg("^[a-zA-Z0-9-]+(.[_a-zA-Z0-9]+)*@[a-zA-Z0-9-]+.([a-zA-Z]{2,6})$",$email_addresse) )
         {
              return 
    "TRUE";
         }
         else
         {
              return 
    "FALSE";
         }
    }

    // Verbindung wird aufgebaut
    include ("../verbind.php");

    // Falls schon was im Formular stand
    if (isset($_REQUEST['submit']))
        {

    $error FALSE;
    if(
    email_check($_REQUEST['email']) == FALSE) {
    $error['email'] = TRUE;
    }
    if(
    is_numeric($icq) !== TRUE && $icq!="") { //ganz recht, hier braucht es kein RegEx
    $error['icq'] = TRUE;
    }

        
    $name=$_REQUEST['name'];
        
    $email=$_REQUEST['email'];
        
    $icq=$_REQUEST['icq'];
        
    $web=$_REQUEST['web'];
        
    $kommentar=$_REQUEST['kommentar'];
        
    $datum=date(d.".".m.".".Y." - ".H.":".i);

    // HTML wird verboten, BB Codes
    $kommentar str_replace ("[b]","<b>",$kommentar);
    $kommentar str_replace ("[/b]","</b>",$kommentar);
    $kommentar str_replace ("[i]","<i>",$kommentar);
    $kommentar str_replace ("[/i]","</i>",$kommentar);
    $kommentar str_replace ("[u]","<u>",$kommentar);
    $kommentar str_replace ("[/u]","</u>",$kommentar);
    $kommentar str_replace ("<","&lt;",$kommentar);
    $kommentar str_replace (">","&gt;",$kommentar);
    if(
    $error == FALSE)


        
    $insert=mysql_query("INSERT INTO eintraege (datum,name, email, icq,web,kommentar) VALUES('$datum','$name','$email','$icq','$web','$kommentar')");
        if (
    $insert)
            {
            echo 
    "<b>Daten erfolgreich hinzugefügt:</b><br>
            Name: $name<br>
            Email: $email<br>
        ICQ: $icq<br>
        Web: $web<br>
            Kommentar: $kommentar<br>"
    ;
            echo 
    "<a href=\"gb.php\">zur&uuml;ck zur Hauptseite</a>";
            }
        else
            {
            echo 
    "Fehler beim hinzufügen der Daten.\n<br>\n";
        echo 
    "<a href=\"gb.php\">zur&uuml;ck zur Hauptseite</a>";
            }
     }

    elseif(
    $error == TRUE)
    {
    echo 
    "Eine deiner Angaben ist ungültig\n<br>Bitte versuche es erneut!<br>\n";
    echo 
    "<a href=\"gb.php\">zur&uuml;ck zur Hauptseite</a>";
    }


    // Wenn noch nichts im Formular stand

    else{

    $select=mysql_query("SELECT * from eintraege ORDER BY id DESC");
    if (
    $select and mysql_num_rows($select)!=0)
        {
            while (
    $row=mysql_fetch_array($select))
            {
    $kommentar=ereg_replace("(\r\n|\n|\r)""<br>"$row['kommentar']);

                echo 
    "
                
    <center>
    <table class=\"content\" width=\"50%\" border=\"0\" cellspacing=\"1\" cellpadding=\"1\">
      <tr> 
        <td><a href=\"mailto:"
    .$row['email']."\">".$row['name']."</a></td>

        <td><div align=\"right\"><p>"
    .$row['datum']."</div></p></td>
      </tr>
      <tr> 
        <td colspan=\"2\"><p>"
    .$kommentar."</p></td>
      </tr>
      <tr> 
        <td><p>
    <img src=\"http://wwp.icq.com/scripts/online.dll?icq="
    .$row['icq']."&img=5\" alt=\"green=online    red=offline\" height=\"18\" width=\"18\">".$row['icq']."&nbsp;|&nbsp
    <a href=\""
    .$row['web']."\" target=\"_blank\">Homepage</a></td>
        <td><div align=\"right\"></div></p></td>
      </tr>
    </table>
    <br>
    </center>"
    ;

           }
    ?>

    <?
    }
    ?>

    <center>
     <form action="<?=$_SERVER['PHP_SELF']?>">
    <table>
    <tr><td>Name:</td><td><input type="text" name="name"></td></tr>
    <tr><td>Email:</td><td><input type="text" name="email"></td></tr>
    <tr><td>Icq:</td><td><input type="text" name="icq"></td></tr>
    <tr><td>Web:</td><td><input type="text" name="web"></td></tr>
    <tr><td>Message:</td><td><textarea name="kommentar" rows="10" cols="50"></textarea></td></tr>

    </table>
    <input type="submit" value="Abschicken" name="submit">
    </form>
    <?
    }
    ?>
    <div align="right"><p><a href="admin/gb.php">admin</a></p></div>
    </body>
    </html>

  9. #9
    Registered User
    Registriert seit
    Feb 2002
    Beiträge
    667
    .
    Geändert von Radoo.de (09.09.2003 um 21:35 Uhr)

  10. #10
    TP-Senior Avatar von virtualmarkus
    Registriert seit
    Nov 2002
    Ort
    Wuppertal
    Beiträge
    271
    mmh...das problem mit der email ist aber immer noch nicht gelöst....

  11. #11
    Registered User
    Registriert seit
    Feb 2002
    Beiträge
    667
    .
    Geändert von Radoo.de (09.09.2003 um 21:35 Uhr)

  12. #12
    Registered User
    Registriert seit
    Feb 2002
    Beiträge
    667
    .
    Geändert von Radoo.de (09.09.2003 um 21:35 Uhr)

  13. #13
    TP-Senior Avatar von virtualmarkus
    Registriert seit
    Nov 2002
    Ort
    Wuppertal
    Beiträge
    271
    also bei mir funktioniert es nicht.
    der code ist bei mir nun wiefolgt:

    PHP-Code:
    <html>
    <head>
      <title>G&auml;stebuch</title>
    <link rel="stylesheet" href="style.css" >
    </head>
    <body>

    <?
    function email_check($email_addresse)
    {
         if( 
    ereg("^[a-zA-Z0-9-]+(.[_a-zA-Z0-9]+)*@[a-zA-Z0-9-]+.([a-zA-Z]{2,6})$
    "
    ,$email_addresse) )
         {
              return 
    TRUE;
         }
         else
         {
              return 
    FALSE;
         }
    }


    // Falls schon was im Formular stand
    if (isset($_REQUEST['submit']))
        {

        
    $name=$_REQUEST['name'];
        
    $email=$_REQUEST['email'];
        
    $icq=$_REQUEST['icq'];
        
    $web=$_REQUEST['web'];
        
    $kommentar=$_REQUEST['kommentar'];
        
    $datum=date(d.".".m.".".Y." - ".H.":".i);

        
    $error='';
        if(
    email_check($email) == FALSE) {
            echo 
    $error['email'] = TRUE;
        }
        if(!
    is_numeric($icq) OR $icq=="") {
            
    $error['icq'] = TRUE;
        }

        
    // HTML wird verboten, BB Codes
        
    $kommentar str_replace ("[b]","<b>",$kommentar);
        
    $kommentar str_replace ("[/b]","</b>",$kommentar);
        
    $kommentar str_replace ("[i]","<i>",$kommentar);
        
    $kommentar str_replace ("[/i]","</i>",$kommentar);
        
    $kommentar str_replace ("[u]","<u>",$kommentar);
        
    $kommentar str_replace ("[/u]","</u>",$kommentar);
        
    $kommentar str_replace ("<","&lt;",$kommentar);
        
    $kommentar str_replace (">","&gt;",$kommentar);


        if( 
    is_array($error) )
        {
            echo 
    "Eine deiner Angaben ist ungültig\n<br>Bitte versuche es erneut!<br>\n";
            echo 
    "<a href=\"gb.php\">zur&uuml;ck zur Hauptseite</a>";
        }

        elseif( empty(
    $error) )
        {
            
    $insert=mysql_query("   INSERT INTO eintraege (datum, name, email, icq, web, kommentar) 
                                 VALUES('$datum','$name','$email','$icq','$web','$kommentar')"
    );
            if (
    $insert)
            {
                echo 
    "<b>Daten erfolgreich hinzugefügt:</b><br>
                Name: $name<br>
                Email: $email<br>
                ICQ: $icq<br>
                Web: $web<br>
                Kommentar: $kommentar<br>"
    ;
                echo 
    "<a href=\"gb.php\">zur&uuml;ck zur Hauptseite</a>";
            }
            else
            {
                echo 
    "Fehler beim hinzufügen der Daten.\n<br>\n";
                echo 
    "<a href=\"gb.php\">zur&uuml;ck zur Hauptseite</a>";
            }
        }
     }


    elseif( 
    is_array($error) )

    {
    echo 
    "Eine deiner Angaben ist ungültig\n<br>Bitte versuche es erneut!<br>\n";
    echo 
    "<a href=\"gb.php\">zur&uuml;ck zur Hauptseite</a>";
    }


    // Wenn noch nichts im Formular stand

    else{

    $select=mysql_query("SELECT * from eintraege ORDER BY id DESC");
    if (
    $select and mysql_num_rows($select)!=0)
        {
            while (
    $row=mysql_fetch_array($select))
            {
    $kommentar=ereg_replace("(\r\n|\n|\r)""<br>"$row['kommentar']);

                echo 
    "
                
    <center>
    <table class=\"content\" width=\"50%\" border=\"0\" cellspacing=\"1\" cellpadding=\"1\">
      <tr> 
        <td><a href=\"mailto:"
    .$row['email']."\">".$row['name']."</a></td>

        <td><div align=\"right\"><p>"
    .$row['datum']."</div></p></td>
      </tr>
      <tr> 
        <td colspan=\"2\"><p>"
    .$kommentar."</p></td>
      </tr>
      <tr> 
        <td><p>
    <img src=\"http://wwp.icq.com/scripts/online.dll?icq="
    .$row['icq']."&img=5\" alt=\"green=online    red=offline\" height=\"18\" width=\"18\">".$row['icq']."&nbsp;|&nbsp
    <a href=\""
    .$row['web']."\" target=\"_blank\">Homepage</a></td>
        <td><div align=\"right\"></div></p></td>
      </tr>
    </table>
    <br>
    </center>"
    ;

           }
    ?>

    <?
    }
    ?>

    <center>
     <form action="<?=$_SERVER['PHP_SELF']?>">
    <table>
    <tr><td>Name:</td><td><input type="text" name="name"></td></tr>
    <tr><td>Email:</td><td><input type="text" name="email"></td></tr>
    <tr><td>Icq:</td><td><input type="text" name="icq"></td></tr>
    <tr><td>Web:</td><td><input type="text" name="web"></td></tr>
    <tr><td>Message:</td><td><textarea name="kommentar" rows="10" cols="50"></textarea></td></tr>

    </table>
    <input type="submit" value="Abschicken" name="submit">
    </form>
    <?
    }
    ?>
    <div align="right"><p><a href="admin/gb.php">admin</a></p></div>
    </body>
    </html>

  14. #14
    TP-Senior Avatar von virtualmarkus
    Registriert seit
    Nov 2002
    Ort
    Wuppertal
    Beiträge
    271
    hier nochmal das ganze teil als zip
    Angehängte Dateien Angehängte Dateien

  15. #15
    Registered User
    Registriert seit
    Feb 2002
    Beiträge
    667
    .
    Geändert von Radoo.de (09.09.2003 um 21:34 Uhr)

Seite 1 von 2 12 LetzteLetzte

Aktive Benutzer

Aktive Benutzer

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

Aktive Benutzer

Aktive Benutzer

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

     

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

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