Problem mit Gästebuch

hi
ich hab mir jetzt mal ein tutorial angeschaut.

aber nachdem ich es raufgeladen habe,hab ich gesehen,dass dort steht,dass in der 81 zeile ein fehler ist.

was ist der fehler?

Code:
<?php
$id = ""; //hier denn usernamen angeben
$pw = ""; //hier das passwort eintragen
$host ="localhost"; //hier die datenbankadresse angeben, meistens localhost
$database = ""; //hier den db namen
$table = ""; //hier den namen der erstellten tabelle angeben

$conn_id = mysql_connect($host,$id,$pw); //verbindung zur db wird aufgebaut
mysql_select_db($database,$conn_id);

$action = $HTTP_POST_VARS[action];
if($action=="save")
{ //wenn $action=save dann wird erst eine mail an den Admin geschickt

  $content = "Der user".$name."hat gerade einen Eintrag in ihr Gaestebuch vorgenommen!";
  $an = "pia@innocent-life.com"; //hier deine e-mailadresse eingeben
  $betreff = "Gaestebucheintrag"; //hier kann der betreff der e-mail eingegeben werden

  @mail($an,$betreff,$content,"From: ".$email);

  $datum = time();
  $inhalt = $inhalt;
  $name = ($name) ? $name : "unbekannt";
  mysql_query("INSERT INTO $table (name,email,hp,inhalt,datum) VALUES ('$name','$email','$hp','$inhalt','$datum')"); //daten werden in die db geschrieben
}

echo "g
<table>
  <td width=75% height=100% align=center valign=top>";

if($action==neu)
{
  //wenn $action=neu wird ein formular ausgegeben
  echo "<a href='index.php?page=Guestbook'>zum Gaestebuch<p></a>"; // hier kommt die adresse des gbs hin, hier bei einer index.php in die das gb inculdet wird
}
else
{
  echo "<p><a href='".$HTTP_SERVER_VARS[PHP_SELF]."?action=neu&page=Guestbook'>Neuer Eintrag<p></a>"; //hier ist der link zu einem neuen eintrag
}

if($action=="neu")
{
   //die ausgabe des formulars
?>

<table>
<form action="<?php echo '".$HTTP_SERVER_VARS[PHP_SELF]."?action=neu&page=Guestbook'; ?>" method=post>
  <tr>
   <input type="hidden" name="action" value="save">
   <td>Name:</td>
   <td><input type=text name=name></td>
  </tr>
  <tr>
   <td>Email:</td>
   <td><input type=TEXT name=email></td>
  </tr>
  <tr>
   <td>Homepage: http://</td>
   <td><input type=text name=hp></td>
  </tr>
  <tr>
   <td>Eintrag:</td>
   <td><textarea name="inhalt" rows="6" cols="25"></textarea></td>
  </tr>
  <tr>
   <td> </td>
   <td><input type=submit value="eintragen"></td></form>
  </tr>
</table>

<?php
  }
  else
  {
   //wenn action nicht gesetzt ist, wie beim betreten der seite werden die einträge ausgegeben

  $query = "SELECT * FROM $table ORDER BY datum DESC LIMIT 0,50"; //hier kann die anzahl der ausgegebenen einträge festgelegt werden
  //begonnen wird hier bei eins und mit 50 endet es
$result = mysql_query($query);

if(mysql_num_rows($result))
{
  while($row=mysql_fetch_array($result))    
  {
   $name = $row['name'];
   $email = $row['email'];
   $hp = $row['hp'];
   $inhalt = $row['inhalt'];
   $datum = date("d.m.Y/H:i:s",$row['datum']); //das datum wird formatiert

   echo "<table width='90%' valign='top' align='center'><tr><td width='75%' align='left'><b><a href=mailto:".$email.">".$name."</a></b></td><td align='right'>".$datum."</td></tr></table>"; //die ausgabe der daten
   $inhalt = nl2br($inhalt);
   echo "<table width='90%' align='center'><tr><td colspan='2'>".$inhalt;
   echo "</td></tr></table>";
   if($hp=="")
   {
    echo "<tr><td>keine Homepage</td></tr><p>";
   }
   else
   {
    echo "<table width='90%' align='center'><tr><td width='95%'><a href='http://".$hp."' target='new'>".$hp."</a></td><td align=center><a href='#top'>top</a></td></tr></table><p>";
   }
   flush();
  }
}
else
{
  echo "<b>Es sind noch keine Eiträge vorhanden!</b>"; //text der angezeigt wird, falls keine einträge vorhanden
}
}

if($action==neu)
{
  echo "<a href='".$HTTP_SERVER_VARS[PHP_SELF]."?page=Guestbook'><p>zum Gaestebuch</a>";
}
else
{
  echo "<p><a href='".$HTTP_SERVER_VARS[PHP_SELF]."?action=neu&page=Guestbook'>Neuer Eintrag</a>";
}
?>
 
Probier mal Folgendes:
PHP:
<?php

	$id = ''; //hier denn usernamen angeben
	$pw = ''; //hier das passwort eintragen
	$host = 'localhost'; //hier die datenbankadresse angeben, meistens localhost
	$database = ''; //hier den db namen
	$table = ''; //hier den namen der erstellten tabelle angeben

	$conn_id = mysql_connect($host, $id, $pw);
	mysql_select_db($database, $conn_id);

	if( isset($_POST['action']) && $_POST['action'] == 'save') { //wenn $action=save dann wird erst eine mail an den Admin geschickt

		$query = "
			INSERT INTO
			        `".$table."`
			  SET
			        `name`   = '".mysql_real_escape_string($_POST['name'])."',
			        `email`  = '".mysql_real_escape_string($_POST['email'])."',
			        `hp`     = '".mysql_real_escape_string($_POST['hp'])."',
			        `inhalt` = '".mysql_reql_escape_string($_POST['inhalt'])."',
			        `datum`  = '".time()."'
			";
		if( mysql_query($query) ) {
			@mail(
				'pia@innocent-life.com',
				'Gaestebucheintrag',
				'Der user '.$_POST['name'].' hat gerade einen Eintrag in ihr Gaestebuch vorgenommen!',
				'From: '.rawurlencode($_POST['email'])
			);
		}

	}


	if( isset($_POST['action']) && $_POST['action'] == 'neu' ) {
	//wenn $action=neu wird ein formular ausgegeben
		echo '<a href="index.php?page=Guestbook">zum Gaestebuch<p></a>'; // hier kommt die adresse des gbs hin, hier bei einer index.php in die das gb inculdet wird

		//die ausgabe des formulars
?>
<form action="<?php echo $_SERVER['PHP_SELF'].'?action=neu&amp;page=Guestbook'; ?>" method="post">
	<input type="hidden" name="action" value="save">
	<table>
		<tr><td>Name:</td><td><input type="text" name="name"></td></tr>
		<tr><td>Email:</td><td><input type="text" name="email"></td></tr>
		<tr><td>Homepage:</td><td><input type="text" name="hp" value="http://"></td></tr>
		<tr><td>Eintrag:</td><td><textarea name="inhalt" rows="6" cols="25"></textarea></td></tr>
		<tr><td></td><td><input type="submit" value="eintragen"></td></tr>
	</table>
</form>
<?php
	} else {
		echo '<p><a href="'.$_SERVER['PHP_SELF'].'?action=neu&amp;page=Guestbook">Neuer Eintrag</a></p>'; //hier ist der link zu einem neuen eintrag

		//wenn action nicht gesetzt ist, wie beim betreten der seite werden die einträge ausgegeben

	$query = "
		SELECT
		        `name`,
		        `email`,
		        `hp`,
		        `inhalt`,
		        `datum`
		  FROM
		        `".$table."`
		  ORDER BY
		        `datum` DESC
		  LIMIT
		        0, 50
		"; // LIMIT: hier kann die anzahl der ausgegebenen einträge festgelegt werden
		//begonnen wird hier bei eins und mit 50 endet es
		$result = mysql_query($query);

		if( mysql_num_rows($result) ) {
			while( $row = mysql_fetch_array($result, MYSQL_ASSOC) ) {
				echo '<div><cite class="author"><a href="mailto:'.rawurlencode($row['email']).'">'.htmlentities($row['name']).'</a></cite><span class="date">'.date('d.m.Y/H:i:s', $row['datum']).'</span></div>'; //die ausgabe der daten
				echo '<div><p>'.nl2br(htmlentities($inhalt)).'</p></div>';
			if( is_empts($row['hp']) ) {
				echo '<div>keine Homepage</div>';
			} else {
				echo '<address><a href="'.rawurlencode($row['hp']).'" target="_blank">'.htmlentities($row['hp']).'</a></address><p><a href="#top">top</a></p>';
			}
			flush();
		}

	} else {
		echo '<p><strong>Es sind noch keine Eiträge vorhanden!</strong></p>'; //text der angezeigt wird, falls keine einträge vorhanden
	}
}

	if( isset($_POST['action']) && $_POST['action'] == 'neu' ) {
		echo '<a href="'.$_SERVER['PHP_SELF'].'?page=Guestbook">zum Gaestebuch</a>';
	} else {
		echo '<a href="'.$_SERVER['PHP_SELF'].'?action=neu&amp;page=Guestbook">Neuer Eintrag</a>';
	}

?>
 
Zuletzt bearbeitet:
jetzt steht das da:


Parse error: parse error, unexpected ')', expecting ']' in /usr/export/www/vhosts/funnetwork/hosting/innocentlife/gbook.php on line 92
 
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /usr/export/www/vhosts/funnetwork/hosting/innocentlife/gbook.php on line 75

kannst mir vl eine zip-datei erstellen ( mit allem drum und dran ):rolleyes:

nur wennst willst.

dann schau ichs mir mal an.................
 
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /usr/export/www/vhosts/funnetwork/hosting/innocentlife/gbook.php on line 75
In so einem Fall hängt man an den MySQL-Query ein or die(mysql_error()) an, und schon hat man das Problem.
 
Zurück