PHP HILFE Nötig

Kumaro

Mitglied
Hi Leute ich bin etwas am verzweifeln. Ich bin noch ein Einsteiger in sachen PHP und habe jetzt versucht mit hilfe eines Buches ein Gästebuch zu erstellen. Ich habe jetzt folgendes Programmiert doch wenn ich die seite aufrufe dann hab ich eine leere Seite. Ich kann leider den Fehler nicht finden habt ihr evtl. eine Idee woran es liegen könnte?...Ich wär euch sehr dankbar.

PHP:
<? 
$host ="localhost";// In Datenbank einloggen
$user ="Benutzername";
$pass ="passwort";
$database ="datenbankname";
$dz = mysql_connect($host, $user, $pass);
mysql_select_db($database, $dz);


function PostVar($variablen_name) {
	$ergebnis = $_POST[$variablen_name];
	
if (get_magic_quotes_gpc()) $ergebnis = stripslashes($ergebnis);
return trim($ergebnis);
}

function format ($text) {
	$ergebnis = htmlentities($text);
	$ergebnis = str_replace("\r\n\r\n","<br><br>",$ergebnis);
	return $ergebnis;
}

$eintrag = PostVar("eintrag");  // Variablen aus Formular einleen
$autor = PostVar("autor");
$status = $_POST['status'];
$datum = date("j. n. Y.");
$zeit = date("H:i");

$grenzwert = 1000;
$anzeigen = true;
$fehler = "";

if (empty($eintrag)) $fehler .= "<li>Der Eintrag ist leer</li>";
if (empty($autor)) $fehler .= "<li>Sie haben keinen Namen eingetragen</li>";
if (strlen($eintrag) > $grenzwert) $eintrag = substr($eintrag,0,$grenzwert);
if (!strops($eintrag," ") || strops($eintrag, " " > 60 )) $eintrag = wordwrap($eintrag,60, " ",1);
?>

<html>
<head>
<title>Unbenanntes Dokument</title>
</head>

<body>
<p><font size="4">Mein geastebuch</font></p>
<p>&nbsp;</p>
<p>
<? 
if(!empty($fehler))  {

	$anzeigen = false;
	echo "<p><b>Leider konnte dein Beitrag nicht gespeichert werden:</b></p>";
	echo "<ul>$fehler</ul>";
	}
	elseif ($status == "Vorschau") {// Gästebuch Vorschau anzeigen
	$anzeige = false;
	$datum = date("\a\m j. n. Y \u\m H:i");
	?>
  So sieht dein Eintrag aus: </p>
<hr width="150" noshade >
<p> <?=htmlentities($eintrag)?></p>
<p>
<small>
	<b><?=htmlentities($autor),", $datum" ?></b>
    </small>
    </p>
<hr width="150" noshade > 

<? } elseif ($status == "Eintragen") {  //Gästebuch in Datenbank eintragen
$query ="INSERT INTO guestbook SET
			datum = NOW(),
			eintrag ='".addslashes($eintrag)."',
			autor = '".addslashes($autor)."' ";

$sql = mysql_query($query)
	or die(mysql_error());
}

if ($anzeigen == true) {
$query = "SELECT DATE_FORMAT(datum,'am %e. %c. %Y um %k:%i') AS datum, eintrag, autor FROM guestbook ORDER BY datum DESC";
$sql = mysql_query($query)
	or die(mysql_error());
while ($ds = mysql_fetch_object($sql)) {
	$eintrag = $ds->eintrag;
	$autor = $ds->autor;
	$datum = $ds->datum;
	?>
<p>
<?=format($eintrag)?>
</p>
<p>
<small>
<b><?=htmlentities($autor),", $datum" ?> </b>
</small>
</p>
<hr witdh="150" noshade>
<? } 
unset($eintrag,$autor);
} ?>


<form id="form1" name="form1" method="post" action="guestbook.php">
  <table width="496" border="0">
    <tr>
      <td width="490" height="21">&nbsp;</td>
    </tr>
    <tr>
      <td height="21"><label></label>
        <p><label></label>
          Dein Name</p>
      </td>
    </tr>
    <tr>
      <td height="24"><input name="autor" type="text" id="autor" size="50" value="<?=htmlentities($autor)?>"/></td>
    </tr>
    <tr>
      <td>Dein Eintrag</td>
    </tr>
    <tr>
      <td><textarea name="eintrag" id="eintrag" cols="80" rows="20"><?=htmlentities($eintrag)?></textarea></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td><input type="submit" name="status" id="vorschau" value="Vorschau" />
&nbsp;&nbsp;&nbsp;&nbsp;
<input type="submit" name="status" id="eintrag" value="Eintragen" />
<label></label></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>&nbsp;</td>
    </tr>
  </table>
</form>

</body>
</html>


Ich hoffe ihr könnt mir helfen.
Danke im vorraus.
 
Zuletzt bearbeitet von einem Moderator:
Typischer Fall von Betriebsblindheit. Ein kleiner Blick in die error.log hätte aber auch schon geholfen.
Mach in Zeile 36 aus dem "strops" ein "strpos" und schon geht es.
 
Hi danke das hab ich voll übersehen....JETZT GEHTS :) du bist mein persönlicher HELD ;)
aber mal noch eine dumme frage wie kann ich denn in die error log schauen? bzw wo liegt die?
 
Zuletzt bearbeitet:
Kein Problem, sowas ist mir auch schon mal passiert.

Die log Dateien sind ganz unterschiedlich abgelegt und nicht immer erreichbar. Wenn die Domain bei einem großen Provider liegt, sind die log oft in einem Verzeichnis parallel zum Stammverzeichnis (htdocs o.ä.). Hast du einen eigenen Server, kannst du die logs oft über den Admin Bereich einsehen. Wenn du das lokal testest, hängt es vom Programm ab. Bei mir (MAMP auf OS X) ist es ein Verzeichnis log, von xampp und sowas hab ih keine Ahnung. Hier ist M$ freie Zone. :)
 
Zurück