GästebuchScript Functioniert nicht, wo ist der Fehler?

Boostergermany

Erfahrenes Mitglied
Habe hier ien GB Script geschrieben, doch es gehet nicht, wenn ich auf Submit drücke, dann geht da nix!!
Wo liegt der Fehler?

Beispiel ist auch hier zu finden:
http://besucherland.tassen-forum.de/gb.php
PHP:
<? 


//File txt 
$base = "gb.txt"; 
//base $general 
$general = file($base); 
//form des Scripts 
//ihr könnt es Beliebig anpassen 
?> 
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> 
<center> 
<table border="0" cellpadding="3" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" id="AutoNumber1"> 
<tr> 
<td> 
<form method="POST" action="gb.php?act=add"><p align="right"> 
Nickname:</p> 
</td> 
<td><input type="text" name="name" size="30" maxlength="30"></td> 
</tr> 
<tr> 
<td> 
<p align="right"><span lang="en-us">E-mail:</span></td> 
<td><input type="text" name="mail" size="30" maxlength="30"></td> 
</tr> 
<tr> 
<td> 
<p align="right">HomePage:</td> 
<td><input name="url" type="text" value="http://" size="30" maxlength="40"></td> 
</tr> 
<tr> 
<td> 
<p align="right">Stadt:</td> 
<td><input type="text" name="city" size="30" maxlength="30"></td> 
</tr> 
<tr> 
<td valign="top"> 
<p align="right">Text:</td> 
<td><p align="left"> 
<textarea rows="5" name="text" cols="30"></textarea></p> 
</td> 
</tr> 
<tr> 
<td colspan="2"> 
<p align="center"> 
<input type="submit" value="Senden" name="B1" style="float: right"></form></td> 
</tr> 
</table> 
</center> 
<? 
//add 
if ($act == "add"){ 
//Daten 
$name=$_POST["name"]; 
$mail=$_POST["mail"]; 
$url=$_POST["url"]; 
$city=$_POST["city"]; 
$text=$_POST["text"]; 
$date = date("d.m.y"); 
//Funktion 
function replace($string){ 

$string = str_replace("::", "::", $string); 
$string = ereg_replace(" +"," ",$string); 
$string = trim($string); 
$string = stripslashes($string); 
$string = str_replace("\n", "
", $string); 
$string = str_replace("\r", "", $string); 
return $string; 
} 
//Daten 
$name = replace($name); 
$mail = replace($mail); 
$url = replace($url); 
$city = replace($city); 
$text = replace($text); 
//max buchstaben 
$arr=explode(" ",$text); 
foreach($arr as $word) 
if(($size=strLen($word))>25){ 
echo "<center>Ein Wort hat mehr als 25 buchstaben.</center>"; 
//was ist wenn einer mehr als 25 Buchstaben hat 
$error = 1; 
} 
//hat der Besucher alles angegeben ? 
if ($name == ""){ 
echo "<center>Schreibt bitte ihr nick rein</center>"; 
$error = 1; 
} 
if ($text == ""){ 
echo "<center>der TEXT fehlt</center>"; 
$error = 1; 
} 
//wenn alles in Ordnung ist 
if (!isset($error)){ 
// 
$msg = "$name::$mail::$url::$date::$city::$text::"; 
$lines = file($base); 
// 
// 
$fp = fopen($base, "w"); 
//die ersten Daten 
fwrite($fp, "$msg\n"); 
// 
for ($i = 0; $i < count($lines); $i++) 
{ 
@fwrite($fp, $lines[$i]); 
} 
fclose($fp); 
echo "<center>Danke für Euren Eintrag</center>"; 
} 
} 
// 
$data=file($base); 
$c=count($data); 
if (!isset($page)) { $page=0; } 
//Navigation (oben) 
$col=$c/15; 
echo "<center>"; 
if ($c<15){ echo ""; } 
else { 
echo "Homepage: "; 
for($i=0;$i<$col;$i++) 
{ 
if(($i)!=$page)echo "<a href=gb.php?page=$i>".($i+1)."</a> "; 
else 
echo ($i+1)." "; 
} 
} 
echo "

"; 
for ($i=$page*15;$i<$page*15+15;$i++) 
{ 
if($i>$c-1)break; 
list($name,$mail,$url,$date,$city,$text)=split("::","$data[$i]"); 
//email 
if ($mail !== ""){ $mail = "<a href=mailto:".$mail.">e-mail</a>"; } else { $mail = "e-mail"; } 
//Hp 
if ($url !== ""){ $url = "[ url=".$url."]www[ /url]"; } else { $url = "www"; } 
//Staadt 
if ($city !== ""){ $city = "aus ".$city.""; } else { $city = "wurde nicht geschrieben"; } 
?> 
<center> 
<table border="0" cellpadding="0" cellspacing="0" width="450"> 
<tr> 
<td>[ <? echo $name; ?> ] - <? echo $date; ?>

<font size="2"><? echo $url; ?> | <? echo $mail; ?> | <? echo $city; ?></font><hr noshade color="#000000" size="1"> 
<div> 
<? echo $text; ?></td> 
</tr> 
</table> 
</center>

<? 
} 
//Navigation (unten) 
$col=$c/15; 
echo "<center>"; 
if ($c<15){ echo ""; } 
else { 
echo "homePage: "; 
for($i=0;$i<$col;$i++) 
{ 
if(($i)!=$page)echo "<a href=gb.php?page=$i>".($i+1)."</a> "; 
else 
echo ($i+1)." "; 
} 
} 
?>
 
Moin,

sollte bei dir register_globals OFF sein, liegt der Fehler hier:
Code:
if ($act == "add")

ändere das in
Code:
if (isset($_GET['act']) && $_GET['act'] == "add")

Ansonsten hilft error_reporting(E_ALL) sehr gut bei der Fehlerdiagnose.
 
Zurück