Antworten auf deine Fragen:
Neues Thema erstellen

Gästebuch Problem!

Avire

*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

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.
?>
formular.html

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>
Trotzdem funktioniert das Gästebuch nicht:

Weiss jemand warum?Bin ratlos?
 

Top_Gun

Aktives Mitglied

AW: Gästebuch Problem!

Deine formular.php ist falsch zusammengebaut und enthält unzählige Fehler...

EDIT: Nachdem ich gerade einen Blick in das Tut geworfen habe, weiß ich wo dein Fehler ist:
Du hast alle dortigen Quelltexte genommen und sie untereinander gefügt. Das ist mehr als falsch...
Das Tut erfordert, dass du selbstständig mitdenkst und zeigt Ausschnitte aus dem gesamt Quelltext. Du musst die Teile also zusammenbauen...
 
Zuletzt bearbeitet:

stb_87

Web-Sheriff - ohne Bild

AW: Gästebuch Problem!

Indem du das Tutorial gründlich liest und durcharbeitest.

Was bringt dir das Tutorial, wenn dir dann doch wieder andere das zusammenkleistern?
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.611
Beiträge
1.538.342
Mitglieder
67.524
Neuestes Mitglied
BSKGA
Oben