habe das mit der ID und active nun auch gesehen, ich glaube das ist auch das Problem, das ich keine Beiträge mit Smily speichern kann
Ich komme zwar von der Access Programmierung, also SQL ist mir nicht ganz unbekannt, jedoch kann ich den Fehler in meinem Code nicht finden. Ich habe nun mal den Code von meiner Eingabe (Output-Code) gepostet. Vielleicht findet Ihr ja was:
Code: Alles auswählen
<br><p><B>Achtung: Bitte noch keine Smileys benutzen!!!!!!!</B></p>
<?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();
$a = $_POST["a"]; //wurde ergänzt. Ohne sind die Eingabefelder im backend nicht zu sehen
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/bilder/design/gaestebuch/";
/* end definition v. "$dir" */
echo "
<p><B>Bitte mindestens Name und Kommentar angeben</B>
<div>Um Ihrem Beitrag ein <b>Emoticon</b> hinzuzufügen, einfach auf ein Smiley klicken ! Sie können auch den</div>
<div>Code eingeben, der erste Smiley wäre dann z.B.: :-)</div></p>
";
if ($a == "add") {
echo "
<br>";
echo "
<form name='gb' id='gb' action=".$link." 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 class=\"feld\" size=\"40\" 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ü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 class=\"feld\" size=\"40\" type=text name=email value='$email'></td>
</tr>
<tr class=text>
<td align=right width=12%> Homepage: </td>
<td><input type=\"text\" class=\"feld\" size=\"40\" name=\"urlguest\" value=\"$urlguest\"></td>
</tr>
<tr valign=top class=text>
<td align=right width=10%><b> Kommentar: </b></td>
<td>
<textarea class=\"feld\" name=\"comments\" cols=40 rows=11 wrap=physical>$comments</text"."area> <!--cursor springt jetzt in die erste Zeile-->
</td>
</tr>
<tr class=text>
<td align=right width=10%> </td>
<td >
<!-- <a href=$link onClick=gb.submit();>Eintragen</a> -->
<input class=\"feld\" 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ültig, bitte überprü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ültig, bitte überprü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 urlguest
if ($error == "no") {
if ($urlguest) {
if (strlen($urlguest) > 100) {$error = "URL ist zu lang! (max. 100 Zeichen erlaubt)";}
else {
$urlguest = str_replace("\n","",$urlguest);
$urlguest = str_replace("'","",$urlguest);
$urlguest = str_replace(";","",$urlguest);
$urlguest = str_replace("--","",$urlguest);
$urlguest = str_replace("\"","",$urlguest);
$urlguest = str_replace("'","",$urlguest);
$urlguest = str_replace("\'","",$urlguest);
$urlguest = str_replace(" ","",$urlguest);
$urlguest = strtolower($urlguest);
$sheme_given = (eregi("^([a-z]+://)",$urlguest));
if ($sheme_given == 0) {$urlguest = "http://".$urlguest;}
$url1 = (parse_url($urlguest));
$host = $url1["host"];
$valid = (eregi("([a-z0-9_\\-\\.])+(\\.)+([a-z]{2,4})",$host));
if (!$valid == 1) {$error = "Homepage ist ungültig, bitte überprüfen!";}
else {
$valid = (int) (checkdnsrr($host,ANY));
if ($valid == 0) {$error = "Homepage ist ungültig, bitte überprü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 {
$urlguest = str_replace("http://","",$urlguest);
$sql = "INSERT INTO ".$cfg["tab"]["guestbook"]." ".
"(name,email,location,url,date,comments,active,client) ".
"VALUES ('$name','$email','$ip/$host','$urlguest',NOW(),'$comments','$activ',$client)";
$db->query($sql);
if("CMS_VALUE[3]" == 1 && "CMS_VALUE[4]" != "") {
$mailbody = "Von: $name ( $email )\nHomepage: $urlguest\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=\"urlguest\" value=\"$urlguest\">
<input type=\"hidden\" name=\"comments\" value=\"$comments\">
<input type=\"submit\" value=\"« zurü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=\"urlguest\" value=\"$urlguest\">
<input type=\"hidden\" name=\"comments\" value=\"$comments\">
<input type=\"submit\" class=\"feld\" value=\"« zurück\">
</form>
";
} // end else
} // end if($a == "send")
?>
Damit kann ich jedoch nur ein Problem lösen, das andere tritt ja nur auf wenn ich mir im Backend die Ausgabe angucke!
Ich nehme mal an, das hängt mit dem aktivieren / Deaktivieren von den Beiträgen zusammen!