*Zwei-Sterne-User*
Hallo, ich wollte gerade mit diesem Tutorial ein Gästebuch in meine Homepage einbauen:
Mir wurde gesagt, ich könnte alle Codes in ein Dokument packen.
formular.php
formular.html
Trotzdem funktioniert das Gästebuch nicht:
Weiss jemand warum?Bin ratlos?
Mir wurde gesagt, ich könnte alle Codes in ein Dokument packen.
formular.php
Code:
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
if ('POST' == $_SERVER['REQUEST_METHOD']) {
// Code zum hinzufügen in der DB
} else {
// Anzeigen von Gästebuchbeiträgen und dem Formular.
}error_reporting(E_ALL);
ini_set('display_errors', 1);
$db = @new mysqli('localhost', 'username', 'password', 'database');
if (mysqli_connect_errno()) {
die('Konnte keine Verbindung zur Datenbank aufbauen: '.mysqli_connect_error().'('.mysqli_connect_errno().')');
}
readfile('header.html'); // enthält auch das <body>-tag
if ('POST' == $_SERVER['REQUEST_METHOD']) {
// Code zum hinzufügen in der DB
} else {
// Anzeigen von Gästebuchbeiträgen und dem Formular.
}
readfile('footer.html');
// [...]
} else {
$sql = 'SELECT
Datum,
Autor,
Inhalt
FROM
Guestbook
ORDER BY
Datum DESC';
$result = $db->query($sql);
if (!$result) {
die('Der Query konnte nicht ausgeführt werden: '.$db->error);
}
if ($result->num_rows) {
while ($row = $result->fetch_assoc()) {
echo '<div class="beitrag">'."\n";
echo ' <span class="autor">'.htmlspecialchars($row['Autor'])."</span>\n";
echo ' <span class="datum">'.$row['Datum']."</span>\n";
echo " <p>\n";
echo nl2br(htmlspecialchars(preg_replace('~\S{30}~', '\0 ', $row['Inhalt'])));
echo " </p>\n";
echo "</div>\n";
}
} else {
echo '<p class="info">Es sind keine Gästebucheinträge vorhanden</p>';
}
readfile('formular.html');
}
if ('POST'] == $_SERVER['REQUEST_METHOD']) {
if (!isset($_POST['Autor'], $_POST['Inhalt'], $_POST['Antwort'], $_POST['formaction'])) {
die ('Benutzen sie nur Formulare von der Homepage.');
}
} else {
if ('POST'] == $_SERVER['REQUEST_METHOD']) {
if (!isset($_POST['Autor'], $_POST['Inhalt'], $_POST['Antwort'], $_POST['formaction'])) {
die ('Benutzen sie nur Formulare von der Homepage.');
}
if (('' == $autor = trim($_POST['Autor'])) or
('' == $inhalt = trim($_POST['Inhalt'])) or
('' == $antwort = trim($_POST['Antwort']))) {
die ('Bitte füllen sie das Formular vollständig aus.');
}
} else {
if ('POST'] == $_SERVER['REQUEST_METHOD']) {
if (!isset($_POST['Autor'], $_POST['Inhalt'], $_POST['Antwort'], $_POST['formaction'])) {
die ('Benutzen sie nur Formulare von der Homepage.');
}
if (('' == $autor = trim($_POST['Autor'])) or
('' == $inhalt = trim($_POST['Inhalt'])) or
('' == $antwort = trim($_POST['Antwort']))) {
die ('Bitte füllen sie das Formular vollständig aus.');
}
if ('' != $antwort) { // entsprechend Anpassen, sowie den {FRAGE}-Teil im Formular
die ('Sie müssen die Frage richtig beantworten.');
}
} else {
$sql = 'INSERT INTO
Guestbook(Autor,Datum,Inhalt)
VALUES
("'.mysql_real_escape_string($autor).'",
NOW(),
"'.mysql_real_escape_string($inhalt).'");';
if ('POST'] == $_SERVER['REQUEST_METHOD']) {
if (!isset($_POST['Autor'], $_POST['Inhalt'], $_POST['Antwort'], $_POST['formaction'])) {
die ('Benutzen sie nur Formulare von der Homepage.');
}
if (('' == $autor = trim($_POST['Autor'])) or
('' == $inhalt = trim($_POST['Inhalt'])) or
('' == $antwort = trim($_POST['Antwort']))) {
die ('Bitte füllen sie das Formular vollständig aus.');
}
if ('' != $antwort) { // entsprechend Anpassen, sowie den {FRAGE}-Teil im Formular
die ('Sie müssen die Frage richtig beantworten.');
}
$sql = 'INSERT INTO
Guestbook(Autor, Datum, Inhalt)
VALUES
(?, NOW(), ?)';
$stmt = $db->prepare($sql);
if (!$stmt) {
die ('Es konnte kein SQL-Query vorbereitet werden: '.$db->error);
}
} else {
if ('POST'] == $_SERVER['REQUEST_METHOD']) {
if (!isset($_POST['Autor'], $_POST['Inhalt'], $_POST['Antwort'], $_POST['formaction'])) {
die ('Benutzen sie nur Formulare von der Homepage.');
}
if (('' == $autor = trim($_POST['Autor'])) or
('' == $inhalt = trim($_POST['Inhalt'])) or
('' == $antwort = trim($_POST['Antwort']))) {
die ('Bitte füllen sie das Formular vollständig aus.');
}
if ('' != $antwort) { // entsprechend Anpassen, sowie den {FRAGE}-Teil im Formular
die ('Sie müssen die Frage richtig beantworten.');
}
$sql = 'INSERT INTO
Guestbook(Autor, Datum, Inhalt)
VALUES
(?, NOW(), ?)';
$stmt = $db->prepare($sql);
if (!$stmt) {
die ('Es konnte kein SQL-Query vorbereitet werden: '.$db->error);
}
$stmt->bind_param('ss', $autor, $inhalt);
if (!$stmt->execute()) {
die ('Query konnte nicht ausgeführt werden: '.$stmt->error);
}
echo '<p class="info">Gästebucheintrag hinzugefügt. <a href="guestbook.php">Zurück zum Gästebuch</a>.</p>';
} else {
error_reporting(E_ALL);
ini_set('display_errors', 1);
include 'magic_quotes_remove_slashes.php'; // oder wie man seine Datei genannt hat
// oder den Quellcode direkt einfügen.
?>
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
<title>Formular</title>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
<meta name="description" content="" />
<meta name="author" content="" />
<meta name="keywords" content="" />
<meta name="generator" content="Webocton - Scriptly" />
</head>
<body>
<form action="formular.php" method="post">
<fieldset>
<legend>Ins Gästebuch Eintragen</legend>
<label>Name: <input type="text" name="Autor" /></label>
<label>Text: <textarea name="Inhalt" rows="6" cols="40"></textarea></label>
<label>{FRAGE}: <input type="text" name="Antwort"/></label>
<input type="submit" name="formaction" value="Eintragen" />
</fieldset>
</form>
</body>
</html>
Weiss jemand warum?Bin ratlos?