Gästebuch + Mysql

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    Ich habe doch die else Blöcke schon längst gelöscht.

    Kommentar


    • #17
      Dann poste bitte den aktuellen Code.

      Peter
      Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
      Meine Seite

      Kommentar


      • #18
        PHP-Code:
        <?php
        error_reporting
        (E_ALL);
        ini_set('display_errors'1);

        include 
        'magic_quotes_remove_slashes.php'

        $db = @new mysqli('localhost''user''pass''db');
        if (
        mysqli_connect_errno()) {
            die(
        'Konnte keine Verbindung zur Datenbank aufbauen: '.mysqli_connect_error().'('.mysqli_connect_errno().')');
        }

        readfile('header.html'); 

        if (
        'POST' == $_SERVER['REQUEST_METHOD'])  {
            
        // Anzeigen von Gästebuchbeiträgen und dem Formular.
        }

        readfile('footer.html');

         {
            
        $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";
                }
            
                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.');
            }
            {
            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) { 
                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>'
        ?>

        Kommentar


        • #19
          Kannst dir dann dieses Konstrukt erklären:
          PHP-Code:
          if ('POST' == $_SERVER['REQUEST_METHOD'])  {
              
          // Anzeigen von Gästebuchbeiträgen und dem Formular.
          }

          readfile('footer.html');

           { 
          Immer daran denken. Für jede geöffnete Klammer benötigts du eine schließende. Und die auch bitteschön an den richtigen Stellen. Ein Tipp von mir. Arbeite lieber erst mal mit den BSD-Style und formatiere deinen Code so:
          PHP-Code:
          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";
            }    
            echo 
          '<p class="info">Es sind keine Gästebucheinträge vorhanden</p>';

          readfile('formular.html'); 
          Vielleicht fallen dir die Fehler dann schneller auf.


          Peter
          Zuletzt geändert von Kropff; 24.05.2010, 15:18. Grund: Rechtschreibfehler
          Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
          Meine Seite

          Kommentar


          • #20
            OK vielen dank dann werde ich ab sofort so arbeiten.

            Kommentar

            Lädt...
            X