Anzeige

Spamschutz für Gästebuch

Spamschutz für Gästebuch | PSD-Tutorials.de

Erstellt von din_wiesel, 16.11.2008.

  1. din_wiesel

    din_wiesel Nicht mehr ganz neu hier

    Dabei seit:
    20.12.2006
    Beiträge:
    147
    Geschlecht:
    männlich
    Ort:
    Breitenau - Steiermark - Austria
    Software:
    PS / LR / DW / ID / AE / SketchUp
    Kameratyp:
    Canon DSLR
    Spamschutz für Gästebuch
    Ich habe mir heute mit Adobe Dreamweaver ein einfaches Gästebuch zusammengestellt.

    Nun bräuchte ich aber für die Zukunft sicher auch einen Spamschutz und wollte fragen ob mir hier jemand etwas behilflich sein kann wie ich in mein "Script" einen Spamschutz (Captcha oder ähnliches) einbauen könnte.

    Oder ob es eine einfachere Weise eines einfachen eigenen Gästebuches gibt?

    Hier der Code von meiner Version.

    PHP:
    1.  
    2. <?php require_once('Connections/Datenbak_EH.php'); ?>
    3. <?php include("scripts/zeit.php"); ?>
    4. <?php
    5. if (!function_exists("GetSQLValueString")) {
    6. function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
    7. {
    8.   $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
    9.  
    10.   $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
    11.  
    12.   switch ($theType) {
    13.     case "text":
    14.       $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
    15.       break;    
    16.     case "long":
    17.     case "int":
    18.       $theValue = ($theValue != "") ? intval($theValue) : "NULL";
    19.       break;
    20.     case "double":
    21.       $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
    22.       break;
    23.     case "date":
    24.       $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
    25.       break;
    26.     case "defined":
    27.       $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
    28.       break;
    29.   }
    30.   return $theValue;
    31. }
    32. }
    33.  
    34. $editFormAction = $_SERVER['PHP_SELF'];
    35. if (isset($_SERVER['QUERY_STRING'])) {
    36.   $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
    37. }
    38.  
    39. if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
    40.   $insertSQL = sprintf("INSERT INTO gbook (datum, Name, email, Text) VALUES (%s, %s, %s, %s)",
    41.                        GetSQLValueString($_POST['datum'], "text"),
    42.                        GetSQLValueString($_POST['Name'], "text"),
    43.                        GetSQLValueString($_POST['email'], "text"),
    44.                        GetSQLValueString($_POST['Text'], "text"));
    45.  
    46.   mysql_select_db($database_Datenbak_EH, $Datenbak_EH);
    47.   $Result1 = mysql_query($insertSQL, $Datenbak_EH) or die(mysql_error());
    48.  
    49.   $insertGoTo = "hb_anzeigen.php";
    50.   if (isset($_SERVER['QUERY_STRING'])) {
    51.     $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
    52.     $insertGoTo .= $_SERVER['QUERY_STRING'];
    53.   }
    54.   header(sprintf("Location: %s", $insertGoTo));
    55. }
    56. ?>
    57. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    58. <html xmlns="http://www.w3.org/1999/xhtml"><!-- InstanceBegin template="/Templates/master.dwt.php" codeOutsideHTMLIsLocked="false" -->
    59. <head>
    60.     <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    61.     <meta name="title" content="Eisenkogelhütte | Gasen | Fam. Straßegger | www.eisenkogelhuette.at" />
    62.     <meta name="author" content="Wieser Martin">
    63.     <meta name="publisher" content="Fam. Straßegger">
    64.     <meta name="copyright" content="Eisenkogelhütte. Fam. Straßegger">
    65.     <meta http-equiv="content-language" content="de">
    66.     <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
    67.     <meta name="date" content="01.09.2008">
    68.     <meta name="robots" content="index,nofollow">
    69.     <meta name="revisit-after" content="14 days">
    70.     <meta name="revisit" content="after 14 days">
    71. <!-- InstanceBeginEditable name="doctitle" -->
    72.     <title>::Hüttenbuch:: Eisenkogelh&uuml;tte | Gasen | Fam. Stra&szlig;egger | www.eisenkogelhuette.at</title>
    73. <!-- InstanceEndEditable -->
    74.     <link href="css/screen.css" rel="stylesheet" type="text/css" />
    75. <!-- InstanceBeginEditable name="head" -->
    76. <script src="SpryAssets/SpryValidationTextField.js" type="text/javascript"></script>
    77. <script src="SpryAssets/SpryValidationTextarea.js" type="text/javascript"></script>
    78. <link href="SpryAssets/SpryValidationTextField.css" rel="stylesheet" type="text/css" />
    79. <link href="SpryAssets/SpryValidationTextarea.css" rel="stylesheet" type="text/css" />
    80. <!-- InstanceEndEditable -->
    81. <style type="text/css">
    82. /* hide hack from Mac-IE5 \*/
    83. * html #content { height: 1%; }
    84. </style>
    85. <!--[if IE 5]>
    86. <style type="text/css">
    87. /* place css box model fixes for IE 5* in this conditional comment */
    88. .main #sidebar1 { width: 220px; }
    89. </style>
    90. <![endif]-->
    91. <!--[if IE]>
    92. <style type="text/css">
    93. /* place css fixes for all versions of IE in this conditional comment */
    94. .main #sidebar1 { padding-top: 30px; }
    95. .main #mainContent { zoom: 1; }
    96. /* the above proprietary zoom property gives IE the hasLayout it needs to avoid several bugs */
    97. </style>
    98. <![endif]-->
    99. </head>
    100.  
    101. <body class="body">
    102.     <div id="container">
    103.       <div id="top-space"></div>
    104.       <!-- InstanceBeginEditable name="header" -->
    105.       <div id="header_start"><h1 class="headu">Eisenkogelh&uuml;tte, Gasen, Fam. Stra&szlig;egger, Stoakogler, Wandern, Wadnerweg, Stoani Wanderweg, Wieser Martin</h1>
    106.         <div id="header-logo"><a href="http://www.almenland.at"><img src="images/almenland.gif" style="border:none" title="Almenland - Die Almo Genussregion" alt="Almenland - Die Almo Genussregion" /></a>        </div>
    107.       </div>
    108.       <!-- InstanceEndEditable -->
    109.       <div id="navigation">
    110.         <div id="navbereich">
    111.                <ul>
    112.                  <li><a href="index.php">Startseite</a></li>
    113.                  <!-- Aktuelles wird später eingefügt -->
    114.                  <!--- <li><a href="../aktuelles.php">Aktuelles</a></li> -->
    115.                  <li><a href="huette.php">Die H&uuml;tte</a></li>
    116.                  <li><a href="gruppen.php">Gruppen</a></li>
    117.                  <li><a href="hb_anzeigen.php">H&uuml;ttenbuch</a></li>
    118.                  <li><a href="fotos/fotos.php">Fotos</a></li>
    119.                  <li><a href="*********php">Anfahrt</a></li>
    120.                  <li><a href="kontakt.php">Kontakt</a></li>
    121.                  <li><a href="links.php">Links</a></li>
    122.               </ul>        
    123.         </div>
    124.       </div>
    125.       <!-- InstanceBeginEditable name="content" -->
    126.       <div id="content">
    127.       <h1 class="hau1">Hüttenbuch</h1><br />
    128.       <p class="hau4">Hier können Sie Ihren Eintrag in das H&uuml;ttenbuch schreiben.<p>
    129.       <div id="hb_container" style="margin-top:5px; width:460px">
    130.         <form action="<?php echo $editFormAction; ?>" method="post" name="form1" id="form1">
    131.           <table>
    132.             <tr valign="baseline">
    133.               <td width="109" align="right" nowrap="nowrap" class="hau4">Name: <span class="pflicht">*)</span></td>
    134.           <td width="339"><span id="hb_name">
    135.               <input type="text" name="Name" value="" size="32" />
    136.               <span class="textfieldRequiredMsg">Ein Name muss angegeben werden.</span></span></td>
    137.             </tr>
    138.             <tr valign="baseline">
    139.               <td align="right" nowrap="nowrap" class="hau4">E-mail: <span class="pflicht">*)</span></td>
    140.             <td><span id="hb_email">
    141.               <input type="text" name="email" value="" size="32" />
    142.               <span class="textfieldRequiredMsg">Eine E-Mail Adresse muss angegeben werden.</span><span class="textfieldInvalidFormatMsg">Die E-Mail Adresse wurde nicht im richtigen Format angegeben (name@domain.com)</span></span></td>
    143.             </tr>
    144.             <tr valign="baseline">
    145.               <td align="right" valign="top" nowrap="nowrap" class="hau4">Text: <span class="pflicht">*)</span></td>
    146.             <td><span id="hb_text">
    147.             <textarea name="Text" cols="50" rows="5" wrap="physical"></textarea>
    148.             <span id="counthb_text">&nbsp;</span>              <span class="textareaRequiredMsg">Geben Sie einen Text ein.</span><span class="textareaMaxCharsMsg">Die maximal zulässige Zeichenanzahl wurde überschritten.</span></span></td>
    149.             </tr>
    150.             <tr valign="baseline">
    151.               <td nowrap="nowrap" align="right" class="pflicht">*)Pflichtfeld</td>
    152.               <td>
    153.               <input type="submit" value="Ins Hüttenbuch eintragen" /></td>
    154.             </tr>
    155.           </table>
    156.           <input type="hidden" name="datum" value="<?php echo $datumZ; ?>" />
    157.           <input type="hidden" name="MM_insert" value="form1" />
    158.         </form>
    159.         <p>&nbsp;</p>
    160.       </div>
    161.       </div>
    162.       <script type="text/javascript">
    163. <!--
    164. var sprytextfield1 = new Spry.Widget.ValidationTextField("hb_name", "none", {validateOn:["blur"]});
    165. var sprytextfield2 = new Spry.Widget.ValidationTextField("hb_email", "email", {validateOn:["blur"], hint:"name@domain.com"});
    166. var sprytextarea1 = new Spry.Widget.ValidationTextarea("hb_text", {maxChars:500, validateOn:["blur"], counterId:"counthb_text"});
    167. //-->
    168. </script>
    169.       <!-- InstanceEndEditable -->
    170.       <div id="footer">
    171.         <div id="footer-left">&copy; 2008 Eisenkogelh&uuml;tte | Fam. Stra&szlig;egger</div>
    172.         <div id="footer-right"><a href="impressum.php">Impressum</a></div>
    173.       </div>
    174.       <div id="footer-space"></div>
    175.     </div>
    176. </body>
    177. <!-- InstanceEnd --></html>
    178.  
    Danke für die Unterstützung!
     
    #1      
  2. Top_Gun

    Top_Gun Aktives Mitglied

    Dabei seit:
    24.07.2008
    Beiträge:
    965
    Geschlecht:
    männlich
    Spamschutz für Gästebuch
    AW: Spamschutz für Gästebuch

    Wenn du dir die letzten 5 Threads in diesem Bereich angeschaut oder mal die Suche benutzt hättest, wärst du jetzt schon weiter...
     
    #2      
  3. blackout

    blackout Schaf im Wolfspelz

    Dabei seit:
    12.09.2005
    Beiträge:
    3.359
    Geschlecht:
    männlich
    Ort:
    Würzburg
    Kameratyp:
    Rollei 35 S
    Spamschutz für Gästebuch
    #3      
  4. din_wiesel

    din_wiesel Nicht mehr ganz neu hier

    Dabei seit:
    20.12.2006
    Beiträge:
    147
    Geschlecht:
    männlich
    Ort:
    Breitenau - Steiermark - Austria
    Software:
    PS / LR / DW / ID / AE / SketchUp
    Kameratyp:
    Canon DSLR
    Spamschutz für Gästebuch
    AW: Spamschutz für Gästebuch

    OKAY!

    Danke! Dann werde ich mich durch diese Thread's durchschlagen und hoffen ob da ich etwas mit meinem Skript hinbekomme!

    Danke!
     
    #4      
x
×
×
teststefan