Bitte helfen, ich bin echt zu blöd.

Hier werden Probleme rund um das Zahlen Captcha behandelt

Moderator: frameguard

Bitte helfen, ich bin echt zu blöd.

Beitragvon gitarrero22 » 26.04.2007, 21:49

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=&quot;","[url=\"",$nachricht); // für link benötigte " setzen
$nachricht=str_replace("&quot;]","\"]",$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=&quot;","[url=\"",$nachricht); // für link benötigte " setzen
$nachricht=str_replace("&quot;]","\"]",$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=&quot;","[url=\"",$nachricht); // für link benötigte " setzen
$nachricht=str_replace("&quot;]","\"]",$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.
gitarrero22
 
Beiträge: 2
Registriert: 26.04.2007, 21:38

Beitragvon gitarrero22 » 28.04.2007, 16:25

Bitte helft mir, ich bekomms nicht hin, selbst, wenn keine Fehlermeldung mehr ausgegeben wird, so kann man trotzdem was ins Gästebuch eintragen, ohne das Captcha-Feld überhaupt auszufüllen.
gitarrero22
 
Beiträge: 2
Registriert: 26.04.2007, 21:38

Beitragvon frameguard » 02.05.2007, 13:53

Ganz am Anfang des Scripts muß stehen:
<? php session_start();

Und zwar gleich in der allerersten Zeile, davor darf kein HTML-Header stehen, nicht einmal eine Leerzeile.
frameguard
 
Beiträge: 120
Registriert: 05.03.2007, 19:19
Wohnort: Wien


Zurück zu Zahlen Captcha

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste

cron