Seite 1 von 1

Gästebuch läuft - zeigt aber Fehlermeldung

Verfasst: Di 22. Mär 2005, 12:15
von Zalu
Hi, habe das "modifizierte" Gästebuch von Darth gerade installiert.
Es klappt auch alles soweit. Ich kann Einträge vornehmen, und diese werden anschließend auch angezeigt.
Doch bekomme ich volgende Fehlermeldung:

Code: Alles auswählen

[22-Mar-2005 11:37:58] PHP Warning:  Cannot modify header information - headers already sent by (output started at /home/www/web20/web/cms/front_content.php(567) : eval()'d code:8) in /home/www/web20/web/cms/front_content.php(567) : eval()'d code on line 456
Wer kann mir da weiterhelfen?
Gruß

Zalu

Verfasst: Do 24. Mär 2005, 14:38
von emergence
bitte genauen link auf das modul angeben und so nebenbei
welche contenido version ?

Verfasst: Sa 2. Apr 2005, 11:59
von yodatortenboxer
hi,

ich habe das selbe Problem mit dem

Code: Alles auswählen

Cannot modify header information - headers already ...
Meine Version von Contenido ist die 4.5.2.alpha
bitte genauen link auf das modul angeben
was meinst du damit genau? Der Link wo das Modul her ist oder einen bestimmten Link innerhalb des Modules...
Ich habe die Version snoopys-guestbook-01-03-2004.zip von http://www.forseth.de/cms/front_content ... 1&client=1

gruß yodatortenboxer 8)

Verfasst: Sa 2. Apr 2005, 13:12
von emergence
yodatortenboxer hat geschrieben:was meinst du damit genau? Der Link wo das Modul her ist oder einen bestimmten Link innerhalb des Modules...
-> von wo das modul her ist...

Verfasst: Mo 4. Apr 2005, 10:28
von Zalu
emergence hat geschrieben:bitte genauen link auf das modul angeben und so nebenbei
welche contenido version ?
Contenido Version 4.4.5
Das Modul:

Code: Alles auswählen

* Modulname   :     Guestbook Eingabe v1.1
* Copyright   :     P.beauvain
* Created     :     14-02-2004
* Modified    :     Feb. 29th 2004 by Lars D. Forseth <lars@forseth.de>
Das Modul hab ich hier aus dem Forum: http://www.contenido.org/forum/viewtopi ... ch&start=0
In dieser Version:
INPUT:

Code: Alles auswählen

/***********************************************
* CONTENIDO MODUL -  INPUT
*
* Modulname   :     Guestbook Eingabe v1.1
* Copyright   :     P.beauvain
* Created     :     14-02-2004
* Modified    :     Feb. 29th 2004 by Lars D. Forseth <lars@forseth.de>
************************************************/


echo "<input type="hidden" name="CMS_VAR[0]" value="".$value."">";
echo "<table align="left" cellpadding="0" cellspacing="0">";
echo "</SELECT></td></tr>";
echo "<tr valign="top"><td width="202">Emailbenachrichtigung: ";
echo "Ja <INPUT TYPE="checkbox" NAME="CMS_VAR[3]" VALUE="1" ";
if("CMS_VALUE[3]" == 1){echo "checked=checked"; };
echo "> An:</td><td>";
echo "<INPUT TYPE="text" NAME="CMS_VAR[4]" VALUE="";
if("CMS_VALUE[4]"){ echo "CMS_VALUE[4]"; } else { echo $cfgNewsletter["from"]; };
echo ""></td></tr>";
if("CMS_VALUE[5]" == 1) { $checked = "checked=checked"; }
//else { $checked = ""; }
echo "<tr>
        <td>Sofort anzeigen:</td>
        <td><input type="checkbox" name="CMS_VAR[5]" value="1" ".$checked."></td>
        </tr>
";
echo "<tr>";
echo "<td width="202">Cookie gegen widerholte Einträge :</td><td><INPUT TYPE="radio" NAME="CMS_VAR[6]"
VALUE="0"";
if("CMS_VALUE[6]" ==0){echo "checked=checked";};echo"> off
<INPUT TYPE="radio" NAME="CMS_VAR[6]" VALUE="1"";
if("CMS_VALUE[6]" ==1){echo "checked=checked";};echo"> on</td></tr>";

echo "<tr>";
echo"<td width="202">Cookie Lifetime (1 = 1 Tag etc.) :
</td><td><input type="text" name="CMS_VAR[8]" value="CMS_VALUE[8]" ></td></tr>";

//echo "<tr>";
//echo"<td width="202">Angezeigte Länge in Zeichen :
//</td><td><input type="text" name="CMS_VAR[7]" value="CMS_VALUE[7]" ></td></tr>";

echo "</table>";
OUTPUT:

Code: Alles auswählen

<?php
/***********************************************
* CONTENIDO MODUL -  OUTPUT
*
* Modulname   :     Guestbook Eingabe v1.1
* Copyright   :     P.beauvain
* Created     :     14-02-2004
* Modified    :     Mar. 1st 2004 by Lars D. Forseth <lars@forseth.de>
************************************************/


$activ = "CMS_VALUE[5]";
if ($activ == "") { $activ = "0";
}
$sperre ="CMS_VALUE[6]";
$links  = explode('?',$PHP_SELF);
$link   = $links[0];
$link   = $link."?idcat=".$idcat; // back-link
$meineseite = $auth->url();

if ($a == "") { $a = "add"; }


/* in diesem Ordner liegen meine smileys für das Gästebuch
(sollte nicht mit "/" beginnen, MUSS aber mit "/" enden!)
*/
$dir = "upload/design/gaestebuch/";
/* end definition v. "$dir" */


echo "
<B>Bitte mindestens Name und Kommentar angeben</B>

";





if ($a == "add") {

echo "
        <br>";
echo "
        <form name='gb' id='gb' action=http://zalu.kleinesnetz.de/cms/front_content.php?idcatart=45&lang=1&client=1 method='post'>";
echo "
        <input type="hidden" name="a" value="send">";
echo "
        <table border=0 cellpadding=2 cellspacing=0>
          <tr class=text>
           <td align=right><B> Name:  </b></td>
           <td><input type=text name=name value='$name'></td>
           <td rowspan=8 valign=top>
            <table border=0 align=right cellspacing=0 cellpadding=0>
             <tr class=text>
              <td class=text><strong>Bedeutung</strong></td>
              <td class=text><div align=center><strong>Icon </strong></div></td>
              <td class=text><strong> Code</strong></td>
             </tr>
             <tr class=text>
              <td>lacht</td>
              <td align=center valign=middle><img src=".$dir."smile.gif onClick=insert(':-)');></td>
              <td>:-)</td>
             </tr>
             <tr class=text>
              <td>Zunge streckend</td>
              <td align=center valign=middle><img src=".$dir."tongue.gif onClick=insert(':-P');></td>
              <td>:-P</td>
             </tr>
             <tr class=text>
              <td>zuzwinkernd</td>
              <td align=center valign=middle><img src=".$dir."wink.gif onClick=insert(';-)');></td>
              <td>;-)</td>
             </tr>
             <tr class=text>
              <td>laut lachend</td>
              <td align=center valign=middle><img src=".$dir."laugh.gif onClick=insert(':lol:');></td>
              <td>:lol:</td>
             </tr>
             <tr class=text>
              <td>unsicher</td>
              <td align=center valign=middle><img src=".$dir."unsure.gif onClick=insert(':unsure:');></td>
              <td>:unsure:</td>
             </tr>
             <tr class=text>
              <td>cool</td>
              <td align=center valign=middle><img src=".$dir."cool.gif onClick=insert('8-)');></td>
              <td>8-)</td>
             </tr>
             <tr class=text>
              <td>nicht versteht</td>
              <td align=center valign=middle><img src=".$dir."huh.gif onClick=insert(':huh:');></td>
              <td>:huh:</td>
             </tr>
             <tr class=text>
              <td>w&uuml;tend</td>
              <td align=center valign=middle><img src=".$dir."mad.gif onClick=insert(':angry:');></td>
              <td>:angry:</td>
             </tr>
             <tr class=text>
              <td>erstaunt</td>
              <td align=center valign=middle><img src=".$dir."blink.gif onClick=insert(':blink:');></td>
              <td>:blink:</td>
             </tr>
             <tr class=text>
              <td>traurig</td>
              <td align=center valign=middle><img src=".$dir."sad.gif onClick=insert(':-(');></td>
              <td>:-(</td>
             </tr>
             <tr class=text>
              <td>breit grinsend</td>
              <td align=center valign=middle><img src=".$dir."biggrin.gif onClick=insert(':-))');></td>
              <td>:-))</td>
             </tr>
             <tr class=text>
              <td>erschrocken</td>
              <td align=center valign=middle><img src=".$dir."surprised.gif onClick=insert(':-O');></td>
              <td>:-0</td>
             </tr>
             <tr class=text>
              <td>augenrollen</td>
              <td align=center valign=middle><img src=".$dir."rolleyes.gif onClick=insert(':rolleyes:');></td>
              <td>:rolleyes:</td>
             </tr>
            </table>
           </td>
          </tr>
          <tr class=text>
           <td align=right width=12%> E-Mail:  </td>
           <td><input type=text name=email value='$email'></td>
          </tr>
          <tr class=text>
           <td align=right width=12%> Homepage:  </td>
           <td><input type="text" name="url" value="$url"></td>
          </tr>
          <tr valign=top class=text>
           <td align=right width=10%><b> Kommentar:  </b></td>
           <td>
<textarea name="comments" cols=21 rows=6 wrap=physical>\n
$comments\n
</text"."area>
           </td>
          </tr>
          <tr class=text>
           <td align=right>
            <!-- <a href=$link onClick=gb.submit();>Eintragen</a> -->
            <input type="submit" value="Eintragen"></td>
          </tr>
        </table>
        </form>
        ";
} // end "if($a == "add")"






// wenn ein eintrag geschrieben werden soll
if($a == "send") {
  // Formatierung des Textes aus dem Kommentarfeld
if($name!="" && $comments!="") { //Abfangen der "leeren" Einträge

    /* filter given data */
    $error = "no";

    $mailkomm = stripslashes($comments);

    $comments = trim($comments);
    $comments = nl2br($comments);
    $comments = str_replace("'","",$comments);
    $comments = str_replace(";","",$comments);
    $comments = str_replace("--","",$comments);
    $comments = htmlentities($comments);
    $comments = str_replace("<br />","",$comments);
    $comments = str_replace("<br/>","",$comments);
    $comments = str_replace("<br>","",$comments);
    $comments = str_replace("\n","<br>",$comments);


      // filter email
      if ($error == "no") {
      if ($email) {
        if (strlen($email) > 50) {$error = "Emailadresse ist zu lang! (max. 50 Zeichen erlaubt)";}
        else {
        $valid = (eregi ("^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]+$",$email));
        if (!$valid == 1) {$error = "Emailadresse ist ung&uuml;ltig, bitte&nbsp;&uuml;berpr&uuml;fen!";}
        else {
          $parts = explode("@",$email);
          $lasts = explode(".",$parts[1]);
          $domain = $lasts[(count($lasts)-2)].".".$lasts[(count($lasts)-1)];
          $valid = (int) (checkdnsrr($domain,ANY));
          if ($valid == 0) {$error = "Emailadresse ist ung&uuml;ltig, bitte&nbsp;&uuml;berpr&uuml;fen!";}
        } // end else
        } // end else
      } // end if email
      } // end if no error
      
      
      // filter name
      if ($error == "no") {
      if (strlen($name) > 30) {$error = "Name ist zu lang! (max. 30 Zeichen erlaubt)";}
      else {
      $name = nl2br($name);
      $name = str_replace("'","",$name);
      $name = str_replace(";","",$name);
      $name = str_replace("--","",$name);
      $name = htmlentities($name);
      }
      } // end if
      
      
      // filter url
      if ($error == "no") {
      if ($url) {
        if (strlen($url) > 100) {$error = "URL ist zu lang! (max. 100 Zeichen erlaubt)";}
        else {
        $url = str_replace("\n","",$url);
        $url = str_replace("'","",$url);
        $url = str_replace(";","",$url);
        $url = str_replace("--","",$url);
        $url = str_replace(""","",$url);
        $url = str_replace("'","",$url);
        $url = str_replace("\'","",$url);
        $url = str_replace(" ","",$url);
        $url = strtolower($url);
        $sheme_given = (eregi("^([a-z]+://)",$url));
        if ($sheme_given == 0) {$url = "http://".$url;}
        $url1 = (parse_url($url));
        $host = $url1["host"];
        $valid = (eregi("([a-z0-9_\\-\\.])+(\\.)+([a-z]{2,4})",$host));
        if (!$valid == 1) {$error = "Homepage ist ung&uuml;ltig, bitte&nbsp;&uuml;berpr&uuml;fen!";}
        else {
          $valid = (int) (checkdnsrr($host,ANY));
          if ($valid == 0) {$error = "Homepage ist ung&uuml;ltig, bitte&nbsp;&uuml;berpr&uuml;fen!";}
        } // end else

        } // end else
      } // end if url
      } // end if
      
      
      
      
      if ($error == "no") {
      
      if (strlen($comments) > 3000) {$error = "Kommentar ist zu lang! (max. 3000 Zeichen erlaubt)";}
      else { // no errors in given data yet...
      //-------------------- konvertiere Smileys ---------------------------------

      $comments = eregi_replace(":-\)\)|:\)\)|:biggrin:",
      "<img src=\'".$dir."biggrin.gif\' border=\'0\'>",$comments);

      $comments = eregi_replace(":-\)|:\)|:smile:",
      "<img src=\'".$dir."smile.gif\' border=\'0\'>",$comments);

                $comments = eregi_replace(":-D|:-D|:lol:",
      "<img src=\'".$dir."laugh.gif\' border=\'0\'>",$comments);

                $comments = eregi_replace(":huh:",
      "<img src=\'".$dir."huh.gif\' border=\'0\'>",$comments);

                $comments = eregi_replace(":rolleyes:",
      "<img src=\'".$dir."rolleyes.gif\' border=\'0\'>",$comments);


      $comments = eregi_replace(":O\)|:o\)",
      "<img src=\'".$dir."smile2.gif\' border=\'0\'>",$comments);

      $comments = eregi_replace(";-\)|;\)|:wink:",
      "<img src=\'".$dir."wink.gif\' border=\'0\'>",$comments);

      $comments = eregi_replace(":-\(|:\(|:sad:",
      "<img src=\'".$dir."sad.gif\' border=\'0\'>",$comments);

      $comments = eregi_replace(":angry:",
      "<img src=\'".$dir."mad.gif\' border=\'0\'>",$comments);

      $comments = eregi_replace(":-D|:D|:happy:",
      "<img src=\'".$dir."happy.gif\' border=\'0\'>",$comments);

      $comments = eregi_replace(":heart:",
      "<img src=\'".$dir."heart.gif\' border=\'0\'>",$comments);

      $comments = eregi_replace(":-P|:P|:tongue:",
      "<img src=\'".$dir."tongue.gif\' border=\'0\'>",$comments);

      $comments = eregi_replace("8-\)|8\)|:cool:",
      "<img src=\'".$dir."cool.gif\' border=\'0\'>",$comments);

      $comments = eregi_replace(":-\(|:\(|:weep:",
      "<img src=\'".$dir."weep.gif\' border=\'0\'>",$comments);

      $comments = eregi_replace(":-o|:o|:astonished:",
      "<img src=\'".$dir."surprised.gif\' border=\'0\'>",$comments);

      $comments = eregi_replace(":blink:",
      "<img src=\'".$dir."blink.gif\' border=\'0\'>",$comments);

      $comments = eregi_replace(":wub:",
      "<img src=\'".$dir."wub.gif\' border=\'0\'>",$comments);

      $comments = eregi_replace(":unsure:",
      "<img src=\'".$dir."unsure.gif\' border=\'0\'>",$comments);


      // see if there are more smileys than allowed:
      $imgs = explode("<img src=",$comments);
      $imgs = count($imgs);
      if ($imgs > 10) {
        $error = "Zu viele Smileys! (max. 10 Stück pro Eintrag)";
        $comments = "";
      } // end if($imgs > 10)
      
      } // end else no errors
      
      
      
      
      } // end else ("no errors in given data yet")


      /* end "filter given data" */
      
      
      
      /* if no error was found while filtering */
      
      if ($error == "no") {

/* search for words longer than 50 chars and shorten them + <br> */
$c = 0;
for ($i=0; $i < strlen($comments); $i++) {
  $c++;
  if (($comments[$i] == " ") or ($comments[$i] == "\n") or
      ($comments[$i] == "\r")) {$c = 0;}
  if ($c > 48) {
    $comments = substr_replace($comments, "-<br>", $i, 0);
    $i = $i+4;
    $c = 0;
  } // end if
} // end for


// ---------Abschnitt nach n Zeichen -------------------------------------

//$z = (int) ("CMS_VALUE[7]");
//for ($i=$z; $i < $z+20; $i++) {
//  $comments1 = substr($comments , 0, $i);
//  $cut = substr($comments, $i);
//  if ((ord ($cut) == 32)||(ord ($cut) == 44)||(ord ($cut) == 45)) {
//    $comments= substr($comments , 0, $i);
//    $comments .= ' .....';
//  } // end if
//} // end for

// -------------- IP /Host speichern ----------------------------------
$ip = getenv('REMOTE_ADDR');
$host = gethostbyaddr($ip);

// -------------- Cookie Setzen ---------------------------------------

/* if no cookie lifetime given */
$lifetime = (int) ("CMS_VALUE[8]");
if($lifetime!="0" && $lifetime!=""){setcookie("AJUS-Forumeintrag","ja",time()+ ($lifetime*24*3600));}
/* end if no cookie-lifetime given */


if($HTTP_COOKIE_VARS["AJUS-Forumeintrag"]=="ja" && $sperre ==1){
  echo "<br><p><font class=textbold><b>Sie haben sich bereits eingetragen !<br>";
  if ($lifetime == 1){echo "Sie können sich Morgen erneut eintragen.";}
  else {echo "Sie können sich in CMS_VALUE[8] Tagen erneut eintragen.</b></p>";}
} // end if

else {
    $url =  str_replace("http://","",$url);
    $sql = "INSERT INTO ".$cfg["tab"]["guestbook"]." ".
           "(name,email,location,url,date,comments,active,client) ".
           "VALUES ('$name','$email','$ip/$host','$url',NOW(),'$comments','$activ',$client)";
    $db->query($sql);

if("CMS_VALUE[3]" == 1 && "CMS_VALUE[4]" != "") {
  $mailbody = "Von: $name ( $email )\nHomepage: $url\n\nKommentar:\n$mailkomm\n\n http://".getenv("HTTP_HOST")."$meineseite";
  mail("CMS_VALUE[4]", "neuer Gaestebuch-Eintrag", $mailbody, "From: Gaestebuch<CMS_VALUE[4]>\nX-Mailer: PHP/" . phpversion(). "\n");
};

echo "<br><p class=text><b>Danke, Ihr Beitrag wurde eingetragen.</b></p><br>";
} // end else


} // end "if no error was found while filtering"

/* errors were found in given data */
else {

  $comments = str_replace("<br>","\n",$comments);
  echo "
  <br><br><br><font color="red"><b><u>Fehler</u><br>".$error."</b></font><br><br>
  <form action="$link" method="post">
    <input type="hidden" name="name" value="$name">
    <input type="hidden" name="email" value="$email">
    <input type="hidden" name="url" value="$url">
    <input type="hidden" name="comments" value="$comments">
    <input type="submit" value="&laquo;&nbsp;zur&uuml;ck">
  </form>
  <br><br><br>";}
// end "errors were found in given data"



} // end "Abfangen von leeren Einträgen

else {

$comments = str_replace("<br>","\n",$comments);
echo "
   <br><p><font class="text"><b>Bitte überprüfen Sie ihre Eingaben!</b></p><br><br>
";
echo"
   <form action="$link" method="post">
    <input type="hidden" name="name" value="$name">
    <input type="hidden" name="email" value="$email">
    <input type="hidden" name="url" value="$url">
    <input type="hidden" name="comments" value="$comments">
    <input type="submit" value="&laquo;&nbsp;zur&uuml;ck">
  </form>
  ";
} // end else



} // end if($a == "send")


?>
Gruß

Zalu

Verfasst: Di 19. Apr 2005, 12:59
von Zalu
Hi! Weiß nicht voran es lag, aber nach Providerwechsel (hatte ich eh vor) tut's nun!

Zalu

Gleiches Problem

Verfasst: Di 10. Mai 2005, 10:03
von danielawoe
hallo, ich habe das gleiche Problem, auch unter Version 4.4.5...

gibt es inzwischen eine Lösung?

Verfasst: Di 10. Mai 2005, 10:11
von Arno Simon
siehe hier: http://contenido.org/forum/viewtopic.ph ... ght=#47111

im Output-Modul habe ich, was für die Lösung des Problems bei Tom voll und ganz ausreichte, das Absetzen des Cookies deaktiviert.

Code: Alles auswählen

// -------------- Cookie Setzen --------------------------------------- 

/* if no cookie lifetime given */ 
/* $lifetime = (int) ("CMS_VALUE[8]"); 
if($lifetime!="0" && $lifetime!=""){setcookie("AJUS-Forumeintrag","ja",time()+ ($lifetime*24*3600));} */ /* #####Arno <-- die beiden vorstehenden Zeilen deaktviert */ 
/* end if no cookie-lifetime given */ 
Dadurch wird zwar die Fehlermeldung abgeschaltet, jedoch auch die Sperre für das Guestbook-Spamen.....

vG

Arno

Verfasst: Di 10. Mai 2005, 10:25
von danielawoe
jippieeeh das funzt... danke