Ich bekomms einfach nicht hin, den Code richtig einzufügen. Entweder sind irgendwelche Klammern zuviel oder es kommt der Fehler, dass er mit dem Session Start nicht klarkommt.
Hier das Script zum GB: http://www.calico-music.de/gastebuch.php
<?
# ---------------------------------------------------
# Copyright (c) 2001 php-abc.de Development Team
# All rights reserved
# ---------------------------------------------------
# See license.txt for further copyright information
# and readme for version information
# ---------------------------------------------------
require("config.inc.php");
require($header);
function output($kommseite,$gbseite,$admin=0) {
GLOBAL $PHP_SELF,$smileConf,$kommentareProSeite,$datumsFormat,$mysqlTabelle,$version,$templateDir;
$template=$templateDir."/guestbook.tpl";
$start=(int)($gbseite-1)*$kommentareProSeite;
$smileDatei=file($smileConf);
for($s=0;$s<count($smileDatei);$s++) {
list($smilet[$s],$smileu[$s])=explode(" ",$smileDatei[$s]);
$smilet[$s]=str_replace("\)","\\)",$smilet[$s]);
$smilet[$s]=str_replace("\(","\\(",$smilet[$s]);
}
$fp=fopen($template,"r");
$buffer=fread($fp,filesize($template));
fclose($fp);
$ausgabe=explode("<!--{startloop}-->",$buffer);
$top=$ausgabe[0];
$ausgabe=explode("<!--{endloop}-->",$ausgabe[1]);
$bottom=$ausgabe[1];
list($farbschema1,$farbschema2)=explode("<!--{farbschema1ende}--><!--{farbschema2start}-->",$ausgabe[0]);
$top = str_replace("<!--{url}-->",$PHP_SELF,$top);
$top = str_replace("<!--{version}-->",$version,$top);
$top = str_replace("<!--{nachsteseite}-->",$kommseite,$top);
echo $top;
flush();
$i=0;
$res=mysql_query("SELECT id as id, msg as msg, date_format(datum,'$datumsFormat') as datum, icq, name, email, homepage, kom FROM $mysqlTabelle ORDER BY id DESC LIMIT $start,$kommentareProSeite") or die("Fehler:".mysql_error());
while($row=mysql_fetch_array($res,MYSQL_ASSOC)) {
$nachricht=stripslashes($row[msg]);
$nachricht=nl2br($nachricht);
$eintrid=$row[id];
$icq=(int)stripslashes($row[icq]);
$adminfunk="<a href=\"$PHP_SELF?cont=gbook&action=kommentieren&id=$eintrid\">Kommentieren</a><br><a href=\"$PHP_SELF?cont=gbook&action=loschen&id=$eintrid\">löschen</a><br><a href=\"$PHP_SELF?cont=gbook&action=andern&id=$eintrid\">verändern</a><br>IP: <a href=\"$PHP_SELF?cont=gbook&action=showip&id=$eintrid\">logged</a>";
$schema=(is_int($i/2)) ? $farbschema1 : $farbschema2;
$schema=str_replace("<!--{name}-->",stripslashes($row[name]),$schema);
$schema=str_replace("<!--{datum}-->",stripslashes($row[datum]),$schema);
$schema=($row[email]!="") ? str_replace("<!--{email}-->","<a href=\"mailto:".stripslashes($row[email])."\">E-Mail</a>",$schema) : $schema;
$schema=($row[homepage]!="") ? str_replace("<!--{homepage}-->","<a href=\"".$row[homepage]."\">Homepage</a>",$schema) : $schema;
$schema=($icq!="") ? str_replace("<!--{icq}-->", "ICQ: <a href=\"http://wwp.icq.com/$icq\"><img src=\"http://wwp.icq.com/scripts/online.dll?icq=$icq&img=5\" border=\"0\"></a> | <a href=\"http://wwp.icq.com/scripts/search.dll?to=$icq\">Add me</a>",$schema) : $schema;
$schema=($admin) ? str_replace("<!--{adminfunk}-->",$adminfunk,$schema) : $schema;
$schema=($row[kom]!="") ? eregi_replace("<!--{adminkommentar:([^~]+)~kommentar~([^}]+)}-->","\\1".stripslashes($row[kom])."\\2",$schema) : $schema;
//Gästebuch-code
$nachricht=str_replace("[fett]","<b>",$nachricht); // fett schreiben
$nachricht=str_replace("[/fett]","</b>",$nachricht);
$nachricht=str_replace("[kursiv]","<i>",$nachricht); // kursiv schreiben
$nachricht=str_replace("[/kursiv]","</i>",$nachricht);
$nachricht=eregi_replace("\[img\]([^\[]+)\[/img\]","<img src=\"\\1\" border=\"0\">",$nachricht); // bild einfügen
$nachricht=eregi_replace("\[mail\]([^\[]+)\[/mail\]","<a href=\"mailto:\\1\">\\1</a>",$nachricht); // e-mail-adresse umwandeln
$nachricht=str_replace("[url="","[url=\"",$nachricht); // für link benötigte " setzen
$nachricht=str_replace(""]","\"]",$nachricht);
$nachricht=eregi_replace("\[url=\"([^\"]+)\"]([^\[]+)\[/url\]","<a href=\"\\1\" target=\"blank\">\\2</a>",$nachricht); // aus [url="xyz"]xyz[/url], <a>-tag formen
// Smiles
for($s=0;$s<count($smilet);$s++) {
$nachricht=str_replace(htmlspecialchars($smilet[$s]),"<img src=\"".$smileu[$s]."\">",$nachricht);
}
$schema=str_replace("<!--{nachricht}-->",$nachricht,$schema);
echo $schema;
$i++;
}
$bottom = str_replace("<!--{url}-->",$PHP_SELF,$bottom);
$bottom = str_replace("<!--{nachsteseite}-->",$kommseite,$bottom);
$bottom = str_replace("<!--{version}-->",$version,$bottom);
echo $bottom;
}
function zeigen() {
GLOBAL $datumsFormat,$kommentareProSeite,$mysqlTabelle,$gbseite,$PHP_SELF,$designTemplate,$HTTP_GET_VARS;
if(!isset($gbseite)) $gbseite=1;
$zeilen = mysql_result(mysql_query("SELECT COUNT(id) FROM $mysqlTabelle"),0);
$pagesNum=ceil($zeilen/$kommentareProSeite);
if($gbseite=="anfang") {
$gbseite=1;
}
if($gbseite=="ende") {
$gbseite=$pagesNum;
}
while(list($name,$value) = each($HTTP_GET_VARS)) {
if($name!="gbseite")
$getVars.="$name=$value&";
}
for($i=1;$i<=$pagesNum;$i++) {
if($i != $gbseite) {
$kommseite .= " <a href=\"$PHP_SELF?".$getVars."gbseite=$i\">$i</a>";
} else {
$kommseite .= " $i";
}
}
output($kommseite,$gbseite);
}
function admin() {
GLOBAL $datumsFormat,$kommentareProSeite,$mysqlTabelle,$gbseite,$PHP_SELF,$designTemplate,$HTTP_GET_VARS;
if(!isset($gbseite)) $gbseite=1;
$zeilen = mysql_result(mysql_query("SELECT COUNT(id) FROM $mysqlTabelle"),0);
$pagesNum=ceil($zeilen/$kommentareProSeite);
while(list($name,$value) = each($HTTP_GET_VARS)) {
if($name!="gbseite")
$getVars.="$name=$value&";
}
for($i=1;$i<=$pagesNum;$i++) {
if($i != $gbseite) {
$kommseite .= " <a href=\"$PHP_SELF?".$getVars."gbseite=$i\">$i</a>";
} else {
$kommseite .= " $i";
}
}
output($kommseite,$gbseite,1);
}
function eintragform () {
GLOBAL $PHP_SELF,$smileConf,$templateDir;
include($templateDir."/eintragform.tpl");
}
function eintrag() {
GLOBAL $name,$email,$homepage,$nachricht,$mysqlTabelle,$smilieVerz,$icq,$REMOTE_ADDR,$SCRIPT_URI,$spamSperre,$PHP_SELF,$informPost,$informMail;
if($name !="" && $nachricht !="") {
$currTime=date("YmdHis");
$zeit=$currTime-$spamSperre;
$res=mysql_result(mysql_query("SELECT COUNT(datum) FROM $mysqlTabelle WHERE ip='$REMOTE_ADDR' AND datum > $zeit"),0);
if($res<1) {
if($homepage != "" && !ereg("^http://",$homepage)) {
$homepage = "http://".$homepage;
}
if($informPost)
mail($informMail,"Gästebuch-Eintrag","Es wurde soeben folgender Eintrag von ".stripslashes($name)." in Ihrem Gästebuch hinterlassen:\n\r\n\r".stripslashes($nachricht)."\n\r\n\r\n\rBesuchen Sie ".$SCRIPT_URI."?cont=gbook&action=admin um den Eintrag zu löschen oder zu verändern","From: $informMail");
//Sonderzeichen umwandeln
$nachricht=htmlspecialchars($nachricht);
$name=htmlspecialchars($name);
mysql_query("insert into $mysqlTabelle (name,email,icq,homepage,msg,ip) values ('".addslashes($name)."','".addslashes($email)."','".addslashes($icq)."','".addslashes($homepage)."','".addslashes($nachricht)."','$REMOTE_ADDR')");
echo "Ihre Nachricht wurde erfolgreich eingetragen.<br><br><br><a href=\"$PHP_SELF?cont=guestbook&action=zeigen\">Zurück zum Gästebuch</a>";
} else {
echo "Spamen ist nicht erlaubt!!!";
}
} else {
echo "Die Felder Name und Nachricht müssen ausgefüllt werden<br><a href=\"javascript:history.go(-1)\">Zurück</a>";
}
}
function loschen() {
GLOBAL $id,$adminPwd,$adminName,$user,$pwd,$PHP_SELF,$mysqlTabelle;
if($user=="" || $pwd =="") {
?>
<form action="<? echo $PHP_SELF ?>" method=post>
<input type=hidden name="action" value="loschen">
<input type=hidden name="id" value="<? echo $id ?>">
User: <input type=text name="user"><br>
Pass: <input type=password name="pwd"><br><br><input type=submit value="löschen">
</form>
<?
} elseif($user != $adminName || $pwd != $adminPwd) {
echo "Sie haben nicht die Berechtigung diesen Befehl auszuführen";
} else {
mysql_query("DELETE FROM $mysqlTabelle WHERE id LIKE '$id' LIMIT 1") or die("Es ist ein Fehleraufgetreten: ".mysql_error());
echo "Eintrag erfolgreich gelöscht";
}
}
function showip() {
GLOBAL $id,$PHP_SELF;
?>
<form action="<? echo $PHP_SELF ?>" method=post>
<input type=hidden name="action" value="doipshowing">
<input type=hidden name="id" value="<? echo $id ?>">
User: <input type=text name="user"><br>
Pass: <input type=password name="pwd"><br><br><input type=submit value="IP zeigen">
</form>
<?
}
function doipshowing() {
GLOBAL $id,$mysqlTabelle,$user,$pwd,$adminPwd,$adminName;
if($user != $adminName || $pwd != $adminPwd) {
echo "Sie haben nicht die Berechtigung diesen Befehl auszuführen";
} else {
$inhalt=mysql_fetch_array(mysql_query("SELECT ip, date_format(datum,'%Y-%m-%d %T') as datum FROM $mysqlTabelle WHERE id LIKE '$id' LIMIT 1"));
echo "Die IP lautet $inhalt[ip]. Der Eintrag erfolgte am $inhalt[datum]";
}
}
function andern() {
GLOBAL $id,$PHP_SELF,$mysqlTabelle;
$row=mysql_fetch_array(mysql_query("SELECT name,email,homepage,icq,msg FROM $mysqlTabelle WHERE id LIKE '$id' LIMIT 1"));
$nachricht=stripslashes($row[msg]);
?>
<form action="<? echo $PHP_SELF ?>" method="post">
<input type=hidden name="action" value="machanderung">
<input type=hidden name="id" value="<? echo $id ?>">
User: <input type=text name="user"><br>
Pass: <input type=password name="pwd"><br><br><br>
Name: <input type=text name="name" value="<? echo stripslashes($row[name]) ?>"><br>
Homepage: <input type=text name="homepage" value="<? echo stripslashes($row[homepage]) ?>"><br>
E-Mail: <input type=text name="email" value="<? echo stripslashes($row[email]) ?>"><br>
ICQ: <input type=text name="icq" value="<? echo stripslashes($row[icq]) ?>"><br>
Nachricht: <textarea name="nachricht" rows=10 cols=50><? echo $nachricht ?></textarea><br><br>
<input type=submit value="ändern">
<?
}
function machanderung() {
GLOBAL $name,$email,$homepage,$nachricht,$mysqlTabelle,$id,$adminPwd,$adminName,$user,$pwd,$icq;
if($user != $adminName || $pwd != $adminPwd) {
echo "Sie haben nicht die Berechtigung diesen Befehl auszuführen";
} else {
if($homepage != "" && !ereg("^http://",$homepage)) {
$homepage = "http://".$homepage;
}
mysql_query("UPDATE $mysqlTabelle SET name='".addslashes($name)."',email='".addslashes($email)."',homepage='".addslashes($homepage)."',icq='".addslashes($icq)."',msg='".addslashes(htmlspecialchars($nachricht))."' where id=$id") or die("Konnte den Eintrag nicht vornehmen");
echo "Änderungen erfolgreich ausgeführt.";
}
}
function addcomment() {
GLOBAL $PHP_SELF,$id,$nachricht,$user,$pwd,$adminName,$adminPwd,$mysqlTabelle;
if($user != $adminName || $pwd != $adminPwd) {
echo "Sie haben nicht die Berechtigung diesen Befehl auszuführen";
} else {
mysql_query("UPDATE $mysqlTabelle SET kom='".addslashes(htmlspecialchars($nachricht))."' where id=$id") or die("Konnte den Eintrag nicht vornehmen");
echo "Eintrag erfolgreich kommentiert.";
}
}
function kommentieren() {
GLOBAL $PHP_SELF,$id;
?>
<form action="<? echo $PHP_SELF ?>" method="post">
<input type=hidden name="action" value="addcomment">
<input type=hidden name="id" value="<? echo $id ?>">
User: <input type=text name="user"><br>
Pass: <input type=password name="pwd"><br><br><br>
Nachricht: <textarea name="nachricht" rows=10 cols=50><? echo $nachricht ?></textarea><br><br>
<input type=submit value="Eintrag kommentieren">
<?
}
//if(!isset($action)) $action="zeigen";
switch($action) {
case "zeigen":
zeigen();
break;
case "kommentieren":
kommentieren();
break;
case "addcomment":
addcomment();
break;
case "machanderung":
machanderung();
break;
case "andern":
andern();
break;
case "doipshowing":
doipshowing();
break;
case "showip":
showip();
break;
case "loschen":
loschen();
break;
case "eintrag":
eintrag();
break;
case "eintragform":
eintragform();
break;
case "admin":
admin();
break;
default:
zeigen();
break;
}
//$action();
require($footer);
mysql_close($conn);
?>
Nach dem Einfügen sah es so aus:
<?php
session_start();
if(isset($_SESSION['captcha_spam']) AND $_POST["sicherheitscode"] == $_SESSION['captcha_spam']){
unset($_SESSION['captcha_spam']);
# ---------------------------------------------------
# Copyright (c) 2001 php-abc.de Development Team
# All rights reserved
# ---------------------------------------------------
# See license.txt for further copyright information
# and readme for version information
# ---------------------------------------------------
require("config.inc.php");
require($header);
function output($kommseite,$gbseite,$admin=0) {
GLOBAL $PHP_SELF,$smileConf,$kommentareProSeite,$datumsFormat,$mysqlTabelle,$version,$templateDir;
$template=$templateDir."/guestbook.tpl";
$start=(int)($gbseite-1)*$kommentareProSeite;
$smileDatei=file($smileConf);
for($s=0;$s<count($smileDatei);$s++) {
list($smilet[$s],$smileu[$s])=explode(" ",$smileDatei[$s]);
$smilet[$s]=str_replace("\)","\\)",$smilet[$s]);
$smilet[$s]=str_replace("\(","\\(",$smilet[$s]);
}
$fp=fopen($template,"r");
$buffer=fread($fp,filesize($template));
fclose($fp);
$ausgabe=explode("<!--{startloop}-->",$buffer);
$top=$ausgabe[0];
$ausgabe=explode("<!--{endloop}-->",$ausgabe[1]);
$bottom=$ausgabe[1];
list($farbschema1,$farbschema2)=explode("<!--{farbschema1ende}--><!--{farbschema2start}-->",$ausgabe[0]);
$top = str_replace("<!--{url}-->",$PHP_SELF,$top);
$top = str_replace("<!--{version}-->",$version,$top);
$top = str_replace("<!--{nachsteseite}-->",$kommseite,$top);
echo $top;
flush();
$i=0;
$res=mysql_query("SELECT id as id, msg as msg, date_format(datum,'$datumsFormat') as datum, icq, name, email, homepage, kom FROM $mysqlTabelle ORDER BY id DESC LIMIT $start,$kommentareProSeite") or die("Fehler:".mysql_error());
while($row=mysql_fetch_array($res,MYSQL_ASSOC)) {
$nachricht=stripslashes($row[msg]);
$nachricht=nl2br($nachricht);
$eintrid=$row[id];
$icq=(int)stripslashes($row[icq]);
$adminfunk="<a href=\"$PHP_SELF?cont=gbook&action=kommentieren&id=$eintrid\">Kommentieren</a><br><a href=\"$PHP_SELF?cont=gbook&action=loschen&id=$eintrid\">löschen</a><br><a href=\"$PHP_SELF?cont=gbook&action=andern&id=$eintrid\">verändern</a><br>IP: <a href=\"$PHP_SELF?cont=gbook&action=showip&id=$eintrid\">logged</a>";
$schema=(is_int($i/2)) ? $farbschema1 : $farbschema2;
$schema=str_replace("<!--{name}-->",stripslashes($row[name]),$schema);
$schema=str_replace("<!--{datum}-->",stripslashes($row[datum]),$schema);
$schema=($row[email]!="") ? str_replace("<!--{email}-->","<a href=\"mailto:".stripslashes($row[email])."\">E-Mail</a>",$schema) : $schema;
$schema=($row[homepage]!="") ? str_replace("<!--{homepage}-->","<a href=\"".$row[homepage]."\">Homepage</a>",$schema) : $schema;
$schema=($icq!="") ? str_replace("<!--{icq}-->", "ICQ: <a href=\"http://wwp.icq.com/$icq\"><img src=\"http://wwp.icq.com/scripts/online.dll?icq=$icq&img=5\" border=\"0\"></a> | <a href=\"http://wwp.icq.com/scripts/search.dll?to=$icq\">Add me</a>",$schema) : $schema;
$schema=($admin) ? str_replace("<!--{adminfunk}-->",$adminfunk,$schema) : $schema;
$schema=($row[kom]!="") ? eregi_replace("<!--{adminkommentar:([^~]+)~kommentar~([^}]+)}-->","\\1".stripslashes($row[kom])."\\2",$schema) : $schema;
//Gästebuch-code
$nachricht=str_replace("[fett]","<b>",$nachricht); // fett schreiben
$nachricht=str_replace("[/fett]","</b>",$nachricht);
$nachricht=str_replace("[kursiv]","<i>",$nachricht); // kursiv schreiben
$nachricht=str_replace("[/kursiv]","</i>",$nachricht);
$nachricht=eregi_replace("\[img\]([^\[]+)\[/img\]","<img src=\"\\1\" border=\"0\">",$nachricht); // bild einfügen
$nachricht=eregi_replace("\[mail\]([^\[]+)\[/mail\]","<a href=\"mailto:\\1\">\\1</a>",$nachricht); // e-mail-adresse umwandeln
$nachricht=str_replace("[url="","[url=\"",$nachricht); // für link benötigte " setzen
$nachricht=str_replace(""]","\"]",$nachricht);
$nachricht=eregi_replace("\[url=\"([^\"]+)\"]([^\[]+)\[/url\]","<a href=\"\\1\" target=\"blank\">\\2</a>",$nachricht); // aus [url="xyz"]xyz[/url], <a>-tag formen
// Smiles
for($s=0;$s<count($smilet);$s++) {
$nachricht=str_replace(htmlspecialchars($smilet[$s]),"<img src=\"".$smileu[$s]."\">",$nachricht);
}
$schema=str_replace("<!--{nachricht}-->",$nachricht,$schema);
echo $schema;
$i++;
}
$bottom = str_replace("<!--{url}-->",$PHP_SELF,$bottom);
$bottom = str_replace("<!--{nachsteseite}-->",$kommseite,$bottom);
$bottom = str_replace("<!--{version}-->",$version,$bottom);
echo $bottom;
}
function zeigen() {
GLOBAL $datumsFormat,$kommentareProSeite,$mysqlTabelle,$gbseite,$PHP_SELF,$designTemplate,$HTTP_GET_VARS;
if(!isset($gbseite)) $gbseite=1;
$zeilen = mysql_result(mysql_query("SELECT COUNT(id) FROM $mysqlTabelle"),0);
$pagesNum=ceil($zeilen/$kommentareProSeite);
if($gbseite=="anfang") {
$gbseite=1;
}
if($gbseite=="ende") {
$gbseite=$pagesNum;
}
while(list($name,$value) = each($HTTP_GET_VARS)) {
if($name!="gbseite")
$getVars.="$name=$value&";
}
for($i=1;$i<=$pagesNum;$i++) {
if($i != $gbseite) {
$kommseite .= " <a href=\"$PHP_SELF?".$getVars."gbseite=$i\">$i</a>";
} else {
$kommseite .= " $i";
}
}
output($kommseite,$gbseite);
}
function admin() {
GLOBAL $datumsFormat,$kommentareProSeite,$mysqlTabelle,$gbseite,$PHP_SELF,$designTemplate,$HTTP_GET_VARS;
if(!isset($gbseite)) $gbseite=1;
$zeilen = mysql_result(mysql_query("SELECT COUNT(id) FROM $mysqlTabelle"),0);
$pagesNum=ceil($zeilen/$kommentareProSeite);
while(list($name,$value) = each($HTTP_GET_VARS)) {
if($name!="gbseite")
$getVars.="$name=$value&";
}
for($i=1;$i<=$pagesNum;$i++) {
if($i != $gbseite) {
$kommseite .= " <a href=\"$PHP_SELF?".$getVars."gbseite=$i\">$i</a>";
} else {
$kommseite .= " $i";
}
}
output($kommseite,$gbseite,1);
}
function eintragform () {
GLOBAL $PHP_SELF,$smileConf,$templateDir;
include($templateDir."/eintragform.tpl");
}
function eintrag() {
GLOBAL $name,$email,$homepage,$nachricht,$mysqlTabelle,$smilieVerz,$icq,$REMOTE_ADDR,$SCRIPT_URI,$spamSperre,$PHP_SELF,$informPost,$informMail;
if($name !="" && $nachricht !="") {
$currTime=date("YmdHis");
$zeit=$currTime-$spamSperre;
$res=mysql_result(mysql_query("SELECT COUNT(datum) FROM $mysqlTabelle WHERE ip='$REMOTE_ADDR' AND datum > $zeit"),0);
if($res<1) {
if($homepage != "" && !ereg("^http://",$homepage)) {
$homepage = "http://".$homepage;
}
if($informPost)
mail($informMail,"Gästebuch-Eintrag","Es wurde soeben folgender Eintrag von ".stripslashes($name)." in Ihrem Gästebuch hinterlassen:\n\r\n\r".stripslashes($nachricht)."\n\r\n\r\n\rBesuchen Sie ".$SCRIPT_URI."?cont=gbook&action=admin um den Eintrag zu löschen oder zu verändern","From: $informMail");
//Sonderzeichen umwandeln
$nachricht=htmlspecialchars($nachricht);
$name=htmlspecialchars($name);
mysql_query("insert into $mysqlTabelle (name,email,icq,homepage,msg,ip) values ('".addslashes($name)."','".addslashes($email)."','".addslashes($icq)."','".addslashes($homepage)."','".addslashes($nachricht)."','$REMOTE_ADDR')");
echo "Ihre Nachricht wurde erfolgreich eingetragen.<br><br><br><a href=\"$PHP_SELF?cont=guestbook&action=zeigen\">Zurück zum Gästebuch</a>";
} else {
echo "Spamen ist nicht erlaubt!!!";
}
} else {
echo "Die Felder Name und Nachricht müssen ausgefüllt werden<br><a href=\"javascript:history.go(-1)\">Zurück</a>";
}
}
function loschen() {
GLOBAL $id,$adminPwd,$adminName,$user,$pwd,$PHP_SELF,$mysqlTabelle;
if($user=="" || $pwd =="") {
?>
<form action="<? echo $PHP_SELF ?>" method=post>
<input type=hidden name="action" value="loschen">
<input type=hidden name="id" value="<? echo $id ?>">
User: <input type=text name="user"><br>
Pass: <input type=password name="pwd"><br><br><input type=submit value="löschen">
</form>
<?
} elseif($user != $adminName || $pwd != $adminPwd) {
echo "Sie haben nicht die Berechtigung diesen Befehl auszuführen";
} else {
mysql_query("DELETE FROM $mysqlTabelle WHERE id LIKE '$id' LIMIT 1") or die("Es ist ein Fehleraufgetreten: ".mysql_error());
echo "Eintrag erfolgreich gelöscht";
}
}
function showip() {
GLOBAL $id,$PHP_SELF;
?>
<form action="<? echo $PHP_SELF ?>" method=post>
<input type=hidden name="action" value="doipshowing">
<input type=hidden name="id" value="<? echo $id ?>">
User: <input type=text name="user"><br>
Pass: <input type=password name="pwd"><br><br><input type=submit value="IP zeigen">
</form>
<?
}
function doipshowing() {
GLOBAL $id,$mysqlTabelle,$user,$pwd,$adminPwd,$adminName;
if($user != $adminName || $pwd != $adminPwd) {
echo "Sie haben nicht die Berechtigung diesen Befehl auszuführen";
} else {
$inhalt=mysql_fetch_array(mysql_query("SELECT ip, date_format(datum,'%Y-%m-%d %T') as datum FROM $mysqlTabelle WHERE id LIKE '$id' LIMIT 1"));
echo "Die IP lautet $inhalt[ip]. Der Eintrag erfolgte am $inhalt[datum]";
}
}
function andern() {
GLOBAL $id,$PHP_SELF,$mysqlTabelle;
$row=mysql_fetch_array(mysql_query("SELECT name,email,homepage,icq,msg FROM $mysqlTabelle WHERE id LIKE '$id' LIMIT 1"));
$nachricht=stripslashes($row[msg]);
?>
<form action="<? echo $PHP_SELF ?>" method="post">
<input type=hidden name="action" value="machanderung">
<input type=hidden name="id" value="<? echo $id ?>">
User: <input type=text name="user"><br>
Pass: <input type=password name="pwd"><br><br><br>
Name: <input type=text name="name" value="<? echo stripslashes($row[name]) ?>"><br>
Homepage: <input type=text name="homepage" value="<? echo stripslashes($row[homepage]) ?>"><br>
E-Mail: <input type=text name="email" value="<? echo stripslashes($row[email]) ?>"><br>
ICQ: <input type=text name="icq" value="<? echo stripslashes($row[icq]) ?>"><br>
Nachricht: <textarea name="nachricht" rows=10 cols=50><? echo $nachricht ?></textarea><br><br>
<input type=submit value="ändern">
<?
}
function machanderung() {
GLOBAL $name,$email,$homepage,$nachricht,$mysqlTabelle,$id,$adminPwd,$adminName,$user,$pwd,$icq;
if($user != $adminName || $pwd != $adminPwd) {
echo "Sie haben nicht die Berechtigung diesen Befehl auszuführen";
} else {
if($homepage != "" && !ereg("^http://",$homepage)) {
$homepage = "http://".$homepage;
}
mysql_query("UPDATE $mysqlTabelle SET name='".addslashes($name)."',email='".addslashes($email)."',homepage='".addslashes($homepage)."',icq='".addslashes($icq)."',msg='".addslashes(htmlspecialchars($nachricht))."' where id=$id") or die("Konnte den Eintrag nicht vornehmen");
echo "Änderungen erfolgreich ausgeführt.";
}
}
function addcomment() {
GLOBAL $PHP_SELF,$id,$nachricht,$user,$pwd,$adminName,$adminPwd,$mysqlTabelle;
if($user != $adminName || $pwd != $adminPwd) {
echo "Sie haben nicht die Berechtigung diesen Befehl auszuführen";
} else {
mysql_query("UPDATE $mysqlTabelle SET kom='".addslashes(htmlspecialchars($nachricht))."' where id=$id") or die("Konnte den Eintrag nicht vornehmen");
echo "Eintrag erfolgreich kommentiert.";
}
}
function kommentieren() {
GLOBAL $PHP_SELF,$id;
?>
<form action="<? echo $PHP_SELF ?>" method="post">
<input type=hidden name="action" value="addcomment">
<input type=hidden name="id" value="<? echo $id ?>">
User: <input type=text name="user"><br>
Pass: <input type=password name="pwd"><br><br><br>
Nachricht: <textarea name="nachricht" rows=10 cols=50><? echo $nachricht ?></textarea><br><br>
<input type=submit value="Eintrag kommentieren">
<?
}
//if(!isset($action)) $action="zeigen";
switch($action) {
case "zeigen":
zeigen();
break;
case "kommentieren":
kommentieren();
break;
case "addcomment":
addcomment();
break;
case "machanderung":
machanderung();
break;
case "andern":
andern();
break;
case "doipshowing":
doipshowing();
break;
case "showip":
showip();
break;
case "loschen":
loschen();
break;
case "eintrag":
eintrag();
break;
case "eintragform":
eintragform();
break;
case "admin":
admin();
break;
default:
zeigen();
break;
}
//$action();
require($footer);
mysql_close($conn);
?>
Da kommt die Fehlermeldung: Parse error: syntax error, unexpected $end in /is/htdocs/48151/www.calico-music.de/gastebuch.php on line 374
Dann hab ich am Ende noch angehängt:
<?php
session_start();
if(isset($_SESSION['captcha_spam']) AND $_POST["sicherheitscode"] == $_SESSION['captcha_spam']){
unset($_SESSION['captcha_spam']);
# ---------------------------------------------------
# Copyright (c) 2001 php-abc.de Development Team
# All rights reserved
# ---------------------------------------------------
# See license.txt for further copyright information
# and readme for version information
# ---------------------------------------------------
require("config.inc.php");
require($header);
function output($kommseite,$gbseite,$admin=0) {
GLOBAL $PHP_SELF,$smileConf,$kommentareProSeite,$datumsFormat,$mysqlTabelle,$version,$templateDir;
$template=$templateDir."/guestbook.tpl";
$start=(int)($gbseite-1)*$kommentareProSeite;
$smileDatei=file($smileConf);
for($s=0;$s<count($smileDatei);$s++) {
list($smilet[$s],$smileu[$s])=explode(" ",$smileDatei[$s]);
$smilet[$s]=str_replace("\)","\\)",$smilet[$s]);
$smilet[$s]=str_replace("\(","\\(",$smilet[$s]);
}
$fp=fopen($template,"r");
$buffer=fread($fp,filesize($template));
fclose($fp);
$ausgabe=explode("<!--{startloop}-->",$buffer);
$top=$ausgabe[0];
$ausgabe=explode("<!--{endloop}-->",$ausgabe[1]);
$bottom=$ausgabe[1];
list($farbschema1,$farbschema2)=explode("<!--{farbschema1ende}--><!--{farbschema2start}-->",$ausgabe[0]);
$top = str_replace("<!--{url}-->",$PHP_SELF,$top);
$top = str_replace("<!--{version}-->",$version,$top);
$top = str_replace("<!--{nachsteseite}-->",$kommseite,$top);
echo $top;
flush();
$i=0;
$res=mysql_query("SELECT id as id, msg as msg, date_format(datum,'$datumsFormat') as datum, icq, name, email, homepage, kom FROM $mysqlTabelle ORDER BY id DESC LIMIT $start,$kommentareProSeite") or die("Fehler:".mysql_error());
while($row=mysql_fetch_array($res,MYSQL_ASSOC)) {
$nachricht=stripslashes($row[msg]);
$nachricht=nl2br($nachricht);
$eintrid=$row[id];
$icq=(int)stripslashes($row[icq]);
$adminfunk="<a href=\"$PHP_SELF?cont=gbook&action=kommentieren&id=$eintrid\">Kommentieren</a><br><a href=\"$PHP_SELF?cont=gbook&action=loschen&id=$eintrid\">löschen</a><br><a href=\"$PHP_SELF?cont=gbook&action=andern&id=$eintrid\">verändern</a><br>IP: <a href=\"$PHP_SELF?cont=gbook&action=showip&id=$eintrid\">logged</a>";
$schema=(is_int($i/2)) ? $farbschema1 : $farbschema2;
$schema=str_replace("<!--{name}-->",stripslashes($row[name]),$schema);
$schema=str_replace("<!--{datum}-->",stripslashes($row[datum]),$schema);
$schema=($row[email]!="") ? str_replace("<!--{email}-->","<a href=\"mailto:".stripslashes($row[email])."\">E-Mail</a>",$schema) : $schema;
$schema=($row[homepage]!="") ? str_replace("<!--{homepage}-->","<a href=\"".$row[homepage]."\">Homepage</a>",$schema) : $schema;
$schema=($icq!="") ? str_replace("<!--{icq}-->", "ICQ: <a href=\"http://wwp.icq.com/$icq\"><img src=\"http://wwp.icq.com/scripts/online.dll?icq=$icq&img=5\" border=\"0\"></a> | <a href=\"http://wwp.icq.com/scripts/search.dll?to=$icq\">Add me</a>",$schema) : $schema;
$schema=($admin) ? str_replace("<!--{adminfunk}-->",$adminfunk,$schema) : $schema;
$schema=($row[kom]!="") ? eregi_replace("<!--{adminkommentar:([^~]+)~kommentar~([^}]+)}-->","\\1".stripslashes($row[kom])."\\2",$schema) : $schema;
//Gästebuch-code
$nachricht=str_replace("[fett]","<b>",$nachricht); // fett schreiben
$nachricht=str_replace("[/fett]","</b>",$nachricht);
$nachricht=str_replace("[kursiv]","<i>",$nachricht); // kursiv schreiben
$nachricht=str_replace("[/kursiv]","</i>",$nachricht);
$nachricht=eregi_replace("\[img\]([^\[]+)\[/img\]","<img src=\"\\1\" border=\"0\">",$nachricht); // bild einfügen
$nachricht=eregi_replace("\[mail\]([^\[]+)\[/mail\]","<a href=\"mailto:\\1\">\\1</a>",$nachricht); // e-mail-adresse umwandeln
$nachricht=str_replace("[url="","[url=\"",$nachricht); // für link benötigte " setzen
$nachricht=str_replace(""]","\"]",$nachricht);
$nachricht=eregi_replace("\[url=\"([^\"]+)\"]([^\[]+)\[/url\]","<a href=\"\\1\" target=\"blank\">\\2</a>",$nachricht); // aus [url="xyz"]xyz[/url], <a>-tag formen
// Smiles
for($s=0;$s<count($smilet);$s++) {
$nachricht=str_replace(htmlspecialchars($smilet[$s]),"<img src=\"".$smileu[$s]."\">",$nachricht);
}
$schema=str_replace("<!--{nachricht}-->",$nachricht,$schema);
echo $schema;
$i++;
}
$bottom = str_replace("<!--{url}-->",$PHP_SELF,$bottom);
$bottom = str_replace("<!--{nachsteseite}-->",$kommseite,$bottom);
$bottom = str_replace("<!--{version}-->",$version,$bottom);
echo $bottom;
}
function zeigen() {
GLOBAL $datumsFormat,$kommentareProSeite,$mysqlTabelle,$gbseite,$PHP_SELF,$designTemplate,$HTTP_GET_VARS;
if(!isset($gbseite)) $gbseite=1;
$zeilen = mysql_result(mysql_query("SELECT COUNT(id) FROM $mysqlTabelle"),0);
$pagesNum=ceil($zeilen/$kommentareProSeite);
if($gbseite=="anfang") {
$gbseite=1;
}
if($gbseite=="ende") {
$gbseite=$pagesNum;
}
while(list($name,$value) = each($HTTP_GET_VARS)) {
if($name!="gbseite")
$getVars.="$name=$value&";
}
for($i=1;$i<=$pagesNum;$i++) {
if($i != $gbseite) {
$kommseite .= " <a href=\"$PHP_SELF?".$getVars."gbseite=$i\">$i</a>";
} else {
$kommseite .= " $i";
}
}
output($kommseite,$gbseite);
}
function admin() {
GLOBAL $datumsFormat,$kommentareProSeite,$mysqlTabelle,$gbseite,$PHP_SELF,$designTemplate,$HTTP_GET_VARS;
if(!isset($gbseite)) $gbseite=1;
$zeilen = mysql_result(mysql_query("SELECT COUNT(id) FROM $mysqlTabelle"),0);
$pagesNum=ceil($zeilen/$kommentareProSeite);
while(list($name,$value) = each($HTTP_GET_VARS)) {
if($name!="gbseite")
$getVars.="$name=$value&";
}
for($i=1;$i<=$pagesNum;$i++) {
if($i != $gbseite) {
$kommseite .= " <a href=\"$PHP_SELF?".$getVars."gbseite=$i\">$i</a>";
} else {
$kommseite .= " $i";
}
}
output($kommseite,$gbseite,1);
}
function eintragform () {
GLOBAL $PHP_SELF,$smileConf,$templateDir;
include($templateDir."/eintragform.tpl");
}
function eintrag() {
GLOBAL $name,$email,$homepage,$nachricht,$mysqlTabelle,$smilieVerz,$icq,$REMOTE_ADDR,$SCRIPT_URI,$spamSperre,$PHP_SELF,$informPost,$informMail;
if($name !="" && $nachricht !="") {
$currTime=date("YmdHis");
$zeit=$currTime-$spamSperre;
$res=mysql_result(mysql_query("SELECT COUNT(datum) FROM $mysqlTabelle WHERE ip='$REMOTE_ADDR' AND datum > $zeit"),0);
if($res<1) {
if($homepage != "" && !ereg("^http://",$homepage)) {
$homepage = "http://".$homepage;
}
if($informPost)
mail($informMail,"Gästebuch-Eintrag","Es wurde soeben folgender Eintrag von ".stripslashes($name)." in Ihrem Gästebuch hinterlassen:\n\r\n\r".stripslashes($nachricht)."\n\r\n\r\n\rBesuchen Sie ".$SCRIPT_URI."?cont=gbook&action=admin um den Eintrag zu löschen oder zu verändern","From: $informMail");
//Sonderzeichen umwandeln
$nachricht=htmlspecialchars($nachricht);
$name=htmlspecialchars($name);
mysql_query("insert into $mysqlTabelle (name,email,icq,homepage,msg,ip) values ('".addslashes($name)."','".addslashes($email)."','".addslashes($icq)."','".addslashes($homepage)."','".addslashes($nachricht)."','$REMOTE_ADDR')");
echo "Ihre Nachricht wurde erfolgreich eingetragen.<br><br><br><a href=\"$PHP_SELF?cont=guestbook&action=zeigen\">Zurück zum Gästebuch</a>";
} else {
echo "Spamen ist nicht erlaubt!!!";
}
} else {
echo "Die Felder Name und Nachricht müssen ausgefüllt werden<br><a href=\"javascript:history.go(-1)\">Zurück</a>";
}
}
function loschen() {
GLOBAL $id,$adminPwd,$adminName,$user,$pwd,$PHP_SELF,$mysqlTabelle;
if($user=="" || $pwd =="") {
?>
<form action="<? echo $PHP_SELF ?>" method=post>
<input type=hidden name="action" value="loschen">
<input type=hidden name="id" value="<? echo $id ?>">
User: <input type=text name="user"><br>
Pass: <input type=password name="pwd"><br><br><input type=submit value="löschen">
</form>
<?
} elseif($user != $adminName || $pwd != $adminPwd) {
echo "Sie haben nicht die Berechtigung diesen Befehl auszuführen";
} else {
mysql_query("DELETE FROM $mysqlTabelle WHERE id LIKE '$id' LIMIT 1") or die("Es ist ein Fehleraufgetreten: ".mysql_error());
echo "Eintrag erfolgreich gelöscht";
}
}
function showip() {
GLOBAL $id,$PHP_SELF;
?>
<form action="<? echo $PHP_SELF ?>" method=post>
<input type=hidden name="action" value="doipshowing">
<input type=hidden name="id" value="<? echo $id ?>">
User: <input type=text name="user"><br>
Pass: <input type=password name="pwd"><br><br><input type=submit value="IP zeigen">
</form>
<?
}
function doipshowing() {
GLOBAL $id,$mysqlTabelle,$user,$pwd,$adminPwd,$adminName;
if($user != $adminName || $pwd != $adminPwd) {
echo "Sie haben nicht die Berechtigung diesen Befehl auszuführen";
} else {
$inhalt=mysql_fetch_array(mysql_query("SELECT ip, date_format(datum,'%Y-%m-%d %T') as datum FROM $mysqlTabelle WHERE id LIKE '$id' LIMIT 1"));
echo "Die IP lautet $inhalt[ip]. Der Eintrag erfolgte am $inhalt[datum]";
}
}
function andern() {
GLOBAL $id,$PHP_SELF,$mysqlTabelle;
$row=mysql_fetch_array(mysql_query("SELECT name,email,homepage,icq,msg FROM $mysqlTabelle WHERE id LIKE '$id' LIMIT 1"));
$nachricht=stripslashes($row[msg]);
?>
<form action="<? echo $PHP_SELF ?>" method="post">
<input type=hidden name="action" value="machanderung">
<input type=hidden name="id" value="<? echo $id ?>">
User: <input type=text name="user"><br>
Pass: <input type=password name="pwd"><br><br><br>
Name: <input type=text name="name" value="<? echo stripslashes($row[name]) ?>"><br>
Homepage: <input type=text name="homepage" value="<? echo stripslashes($row[homepage]) ?>"><br>
E-Mail: <input type=text name="email" value="<? echo stripslashes($row[email]) ?>"><br>
ICQ: <input type=text name="icq" value="<? echo stripslashes($row[icq]) ?>"><br>
Nachricht: <textarea name="nachricht" rows=10 cols=50><? echo $nachricht ?></textarea><br><br>
<input type=submit value="ändern">
<?
}
function machanderung() {
GLOBAL $name,$email,$homepage,$nachricht,$mysqlTabelle,$id,$adminPwd,$adminName,$user,$pwd,$icq;
if($user != $adminName || $pwd != $adminPwd) {
echo "Sie haben nicht die Berechtigung diesen Befehl auszuführen";
} else {
if($homepage != "" && !ereg("^http://",$homepage)) {
$homepage = "http://".$homepage;
}
mysql_query("UPDATE $mysqlTabelle SET name='".addslashes($name)."',email='".addslashes($email)."',homepage='".addslashes($homepage)."',icq='".addslashes($icq)."',msg='".addslashes(htmlspecialchars($nachricht))."' where id=$id") or die("Konnte den Eintrag nicht vornehmen");
echo "Änderungen erfolgreich ausgeführt.";
}
}
function addcomment() {
GLOBAL $PHP_SELF,$id,$nachricht,$user,$pwd,$adminName,$adminPwd,$mysqlTabelle;
if($user != $adminName || $pwd != $adminPwd) {
echo "Sie haben nicht die Berechtigung diesen Befehl auszuführen";
} else {
mysql_query("UPDATE $mysqlTabelle SET kom='".addslashes(htmlspecialchars($nachricht))."' where id=$id") or die("Konnte den Eintrag nicht vornehmen");
echo "Eintrag erfolgreich kommentiert.";
}
}
function kommentieren() {
GLOBAL $PHP_SELF,$id;
?>
<form action="<? echo $PHP_SELF ?>" method="post">
<input type=hidden name="action" value="addcomment">
<input type=hidden name="id" value="<? echo $id ?>">
User: <input type=text name="user"><br>
Pass: <input type=password name="pwd"><br><br><br>
Nachricht: <textarea name="nachricht" rows=10 cols=50><? echo $nachricht ?></textarea><br><br>
<input type=submit value="Eintrag kommentieren">
<?
}
//if(!isset($action)) $action="zeigen";
switch($action) {
case "zeigen":
zeigen();
break;
case "kommentieren":
kommentieren();
break;
case "addcomment":
addcomment();
break;
case "machanderung":
machanderung();
break;
case "andern":
andern();
break;
case "doipshowing":
doipshowing();
break;
case "showip":
showip();
break;
case "loschen":
loschen();
break;
case "eintrag":
eintrag();
break;
case "eintragform":
eintragform();
break;
case "admin":
admin();
break;
default:
zeigen();
break;
}
//$action();
require($footer);
mysql_close($conn);
}
?>
Nun erhalte ich folgende Meldung:
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /is/htdocs/48151/www.calico-music.de/index.php:7) in /is/htdocs/48151/www.calico-music.de/gastebuch.php on line 2
Ich verzweifel langsam. Bitte helft mir, ich hab absolut keinen Schimmer von php. Die Homepage hatte damals jemand für uns erstellt und ich soll die pflegen.
