Gästebuch capcha einbauen


 
Neues Thema eröffnen   Neue Antwort erstellen    Webmaster Forum -> Hilfe für Webmaster -> Javascript
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
1kluasi
Mitglied

BeitragGästebuch capcha einbauen Antworten mit Zitat

Hallo Forumgemeinde,
ich habe probleme. Ich würde gerne in das angehängte Gästebuch Formular/Script ein Capcha einbauen, da trotz der IP Sperre täglich Spam reinflattert.
z.B. gerne den Script von W. Zenk http://www.homepage-total.de/php/spam-schutz-captcha.phpIch bekomme das nicht so plaziert, das es auch funktioniert.
Kann mir jemand helfen?


Code:
<head>
   <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
      <script language="javascript" src="js/scripts.js" type="text/javascript"></script>
</head>
<body>

<div id="container">

      
         
<script type="text/javascript">
function eingaben_ueberpruefen() {
 if (document.eingabe.Name.value == "" ||document.eingabe.Name.value == "Name" || document.eingabe.Name.value.lenght < 4){
  document.getElementById("nachname_id").style.backgroundColor="#FFD48C";
  alert("Bitte geben Sie Ihren Namen ein!");
  return false;
 }
 else if (document.eingabe.Email.value.length < 10 || document.eingabe.Email.value.indexOf ('@',0) == -1 || document.eingabe.Email.value.indexOf ('.',0) == -1) {
  document.getElementById("email_id").style.backgroundColor="#FFD48C";
  alert("Bitte geben Sie eine gültige E-Mail-Adresse ein.");
  return false;
 }
 else if (document.eingabe.Kommentar.value == "" || document.eingabe.Kommentar.value == "Kommentar" || document.eingabe.Kommentar.value.lenght < 10) {
  document.getElementById("kommentar_id").style.backgroundColor="#FFD48C";         
  alert("Bitte geben Sie einen Kommentar ein!");
  return false;
 }
 else
 return true;
}
</script>

<h1>Gästebuch</h1>
<div class="gbausrichtung">
<?php
 // Gästebuch
 // Das Script stammt von W. Zenk
 // Homepage: www.homepage-total.de
 // eMail: webmaster@homepage-total.de

#### E-Mail-Adresse
$an = "info@klaus.com";

#### Homepage-Name ; für "Betreff" bei email
$homepagename = "www.klaus.de";

#### Einträge pro Seite
$Anzeige = 7;

#### liest IP, Host.... aus, für email
$data=array();
$data["ip"] = $_SERVER['REMOTE_ADDR'];
$data['host'] = gethostbyaddr($data['ip']);
$data['browser'] = $_SERVER['HTTP_USER_AGENT'];
$data['ref'] = $_SERVER['HTTP_REFERER'];

#### liest IP und Host aus, für "Danke" ausgabe
 $ip = $_SERVER['REMOTE_ADDR']; 
 $host1 = gethostbyaddr($ip);

#### Datumsumwandlung und Ausgabevorbereitnung
$tage = array(0=>"Sonntag",
           1=>"Montag",
           2=>"Dienstag",
              3=>"Mittwoch",
           4=>"Donnerstag",
           5=>"Freitag",
           6=>"Samstag");

$monate = array(1=>"Januar",
            2=>"Februar",
            3=>"März",
            4=>"April",
            5=>"Mai",
            6=>"Juni",
            7=>"Juli",
            8=>"August",
            9=>"September",
            10=>"Oktober",
            11=>"November",
            12=>"Dezember");

$monat = $monate[date("n")];
$name1 = $tage[date("w")];
$tag = date("d");
$jahr = date("Y");
$zeit=date("H:i");
////für: siehe "Eintrag zuammenstellen"
$datumausgabe=($name1.", ".$tag.". ".$monat." ".$jahr." - ".$zeit." Uhr");

##### oben stehen die Einstellungen, ab hier homepageauswirkungen ####
if ($_POST) {
 // Variablen-Inhalt holen
 $Name = $_POST[Name];
 $Email = $_POST[Email];
 $Kommentar = $_POST[Kommentar];
 $Homepage = $_POST[Homepage];
 
 // IP einlesen in gb_lastip.txt (Hier steht die letzte eingetragene IP)
 $lgb = fOpen("gb_lastip.txt","r");
 $gb_lip = fGets($lgb, 255);
 fClose($lgb);
 $ip = $_SERVER["REMOTE_ADDR"];
 
  if (!empty($Name) && !empty($Email) && !empty($Kommentar) && $gb_lip != $ip) {
   // Kommentar filtern
   $Kommentar = strip_tags(stripslashes(stripcslashes(trim($Kommentar))));
   $Kommentar = str_replace("\\r", "", $Kommentar);
   $Kommentar = str_replace("\\n", "", $Kommentar);
   $Kommentar = str_replace("|", "", $Kommentar);
   $Name = strip_tags($Name);
   $Name = str_replace("|", "", $Name);


   ////Homepageausgabe-Zeile nicht leer, wenn keine HP eingetragen (BILD) (wenn, dann, sonst)
   if ($Homepage != "") {
             $hp_ausgabe = "<img src=\"symbole/hp/home-14-04.gif\" border=\"0\"><span class=\"gbhomepage11\"><a href=\"http://$Homepage\" target=\"_blank\">$Homepage<br></a></span>";
           }
           else {
             $hp_ausgabe = "";
           }
           
   //// Eintrag zusammenstellen (Datum,(BILD Name mit email),IP(nicht sichtbar); Homepage; Kommentar)
   $Eintrag = "<span class=\"gbdatum\">» $datumausgabe<br></span>
   <img src=\"symbole/mail/11.gif\" border=\"0\"><span class=\"gbname11\"><a href=mailto:$Email class=mailto_link>$Name<br></a></span>
   <small title=IP:$ip>" . "</small>
   $hp_ausgabe
   <div class=\"gbkommentar11\">$Kommentar</div>|\n";
                     
   // Eintrag in GB schreiben   
   $Datei = fOpen("gaestebuch-daten.txt", "a+");
   fWrite($Datei,$Eintrag);
   fClose($Datei);

   // Diese Nachricht wird an Ihre E-Mail-Adresse gesendet
 $textemail = "Ihr Gaestebuch von der Homepage $homepagename wurde benutzt.
Folgende Daten wurden eingetragen:

 Name: ".utf8_decode($Name)."
 Email: $Email
 Homepage: $Homepage
     
 Kommentar:
 ".utf8_decode($Kommentar)."
 

 ----------------------------------------------------
 Absender-IP: ".$data["ip"]."
 Absender-Host: ".$data['host']."
 Browser: ".$data['browser']."
 Verweisende HTTP: ".$data['ref']."
 
 ";
   
     $header="From:".utf8_decode($Name)." <$Email>\n";

 #  mail(Empfängeremail, Betreff, Nachricht, "From: Absender <Absenderemail>");
  //## -------HE if (@mail($mail_to,"Nachricht vom Kontaktformular: $homepagename",$text,$header,"-f info@kla.de"))
 @mail($an, "Gaestebucheintrag: $homepagename", $textemail, $header,"-f info@kla.de");


   // nach email versand
   echo "<p>&nbsp;</p><br>
   <p><strong>Vielen Dank für Ihren Eintrag in unser Gästebuch.</strong><br><br>
   Zur Sicherheit wurden Ihre IP und Ihr Host ausgelesen.<br>
   IP Adresse: $ip<br>
   Hostname: .$host1<br></p>";

   // IP speichern
   $lgb = fOpen("gb_lastip.txt","w");
   fPuts($lgb,"$ip");
   fClose($lgb);
  }
 }
 else {
?>     

      <form action="gaestebuch/<?php echo $_SERVER['PHP_SELF'] ?>?seite=0" accept-charset="utf-8" method="post" name="eingabe" onsubmit="return eingaben_ueberpruefen(this.form)">
             <table class="gaestebuch">
               <tr>
                  <td class="breite">Name: <strong class="red">*</strong></td>
                  <td><input type="text" size="30" name="Name" id="nachname_id" title="Name" class="eingabe" onfocus="this.style.backgroundColor='#FFFFFF';"/></td>
               </tr>
               <tr>
                  <td class="breite">E-Mail: <strong class="red">*</strong></td>
                  <td><input type="text" size="30" name="Email" id="email_id" title="E-Mail" class="eingabe" onfocus="this.style.backgroundColor='#FFFFFF';"/></td>
               </tr>
               <tr>
                  <td class="breite">Homepage:<i><small> http://</small></i></td>
                  <td><input type="text" size="30" name="Homepage" id="Homepage" title="Homepage" class="eingabe" onfocus="this.style.backgroundColor='#FFFFFF';"/></td>
               </tr>
               <tr>
                  <td class="breite">Kommentar: <strong class="red">*</strong></td>
               </tr>
               <tr>
                  <td class="pflichtfeld" >Pflichtfeld *</td>
                  <td><textarea cols="40" rows="6" name="Kommentar" title="Kommentar" id="kommentar_id" class="textfeld" onFocus="this.style.backgroundColor='#FFFFFF';"></textarea>
                </td>
               </tr>
               <tr>
                  <td class="breite"></td>
                  <td><small>Um Missbrauch zu vermeiden, wird die
                  IP-Adresse gespeichert.</small></td>
               </tr>
               <tr>
                  <td class="breite">&nbsp;</td>
                  <td>&nbsp;</td>
               </tr>
               <tr>
                  <td class="breite"></td>
                  <td><input type="submit" value="Eintragen" class="button"/></td>
               </tr>
            </table>
      </form>
<?php
}

$a = 0;
$seite = ((isset($_GET["seite"])) ? $_GET["seite"] : 0);

// Einträge auslesen
$fp = fOpen("gaestebuch-daten.txt", "r");
$Inhalt = fRead($fp, filesize("gaestebuch-daten.txt"));
fClose($fp);

$Inhalt = explode("|", $Inhalt);

if (count($Inhalt) > 0) {
 $Inhalt = array_reverse($Inhalt);
 $eintraege = count($Inhalt); $eintraege--;

 echo "<hr><b>$eintraege</b> Einträge - Seite: ";

 // Seitenlinks erstellen (anzahl der anzeige auf einer Seite)
 for ($zaehler = 0; $zaehler < count($Inhalt); $zaehler = $zaehler + $Anzeige) {
  $a++;
  echo "<a href=\"" . $_SERVER['PHP_SELF'] . "?seite=$zaehler\">" . (($zaehler == $seite) ? "<b>" . $a . "</b>" : $a) . "</a> \r";
 }

 echo "<hr>\r";
 
 // GB-Ausgabe
 for ($c = $seite; $c < ($seite + $Anzeige); $c++) {
  if (@$Inhalt[$c] != "" && $c > 0) {
   echo "<p>" . ($c) . " ";
   echo ($Inhalt[$c]);
  }
 }
}
?>
   <p>&nbsp;</p>
   <hr/>
   
      
</div>
<p>&nbsp;</p>
</div>


</body>


</html>
01 Okt 2009 10:49
Benutzer-Profile anzeigen Private Nachricht senden
axinio Internet Marketing
axinio Internet Marketing
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Webmaster Forum -> Hilfe für Webmaster -> Javascript Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  

Ähnliche Beiträge
Thema Webmaster Forum Antw. Autor Verfasst am
Keine neuen Beiträge wie die kleine suchmaschine einbauen? PHP / MySQL 2 Bauplan 22 Nov 2011 09:25 Letzten Beitrag anzeigen
Keine neuen Beiträge Gästebuch erstellen (aber ohne Smilies) Hilfe für Webmaster 1 Steffen_1971 26 Mai 2011 21:13 Letzten Beitrag anzeigen
Keine neuen Beiträge Freie und Open Source PHP Gästebuch S... PHP / MySQL 0 chirysharing 23 Feb 2011 04:12 Letzten Beitrag anzeigen
Keine neuen Beiträge Webseite in Homepage einbauen PHP / MySQL 0 Hampfy 28 Jan 2011 21:08 Letzten Beitrag anzeigen
Keine neuen Beiträge PHP Gästebuch homepage-total.de PHP / MySQL 11 JesseJames 20 Jan 2011 09:03 Letzten Beitrag anzeigen