PHP Gästebuch geht nicht
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
antwort
anzeigen
aufbauen
benutzen
code
datei
datenbank
datum
entsprechend anpassen
formular
frage
header
inhalt
ordern
post
quellcode
richtig beantworten
tag
teil
verbindung
-
habe ein php gästebuch erstellt aber es funktioniert nicht
hier der link
http://maxdes.lima-city.de/dfff.html
es wird nur ein error feher angezeigt
hat jemand eine lösung? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Du hast dich bestimmt in einem if oder einer Schleife verschrieben. bzw. ein { zu viel oder zu wenig gemacht. Passiert mir auch manchmal.
-
kannst du mal drüber schauen ich finde keinen fehler
-
maxdes schrieb:
kannst du mal drüber schauen ich finde keinen fehler
Ich brauch ja den PHP tag/code">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. } ?> <?php 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'); ?> <?php // [...] } 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'); } // [...] ?> <?php // [...] 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 { // [...] ?> <?php 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. // [...] ?>
-
In der Zeile 37 fängt ja ein PHP Tag an und gleich danach kommt ein } . Der gehört da nicht hin. Probiers mal so:
<?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. } ?> <?php 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'); ?> <?php // [...] 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'); } // [...] ?> <?php // [...] 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 { // [...] ?> <?php 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. // [...] ?>
hab nur das } entfernt ich weis nicht ob es jetzt funkt. -
ne immer noch nicht
-
Und so:
<?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. } ?> <?php 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 { $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'); } // [...] ?> <?php // [...] 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 { // [...] ?> <?php 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. // [...] ?>
Hab wieder nur kurz drüber geguckt. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage