Problem mit Erstellung des Gästebuchs (Anfänger)

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

  • Problem mit Erstellung des Gästebuchs (Anfänger)

    Hallo
    Ich bin neu hier und habe ein Problem mit meinem Gästebuch.

    Ich habe nach einer lösung im forum "gesucht" aber nichts gefunden deswegen mach ich nen post.

    mysql:

    CREATE TABLE gaestebuch (
    ID INT AUTO_INCREMENT PRIMARY KEY,
    Name VARCHAR(20),
    Email VARCHAR(70),
    Homepage VARCHAR(70),
    Inhalt TEXT,
    Datum DATETIME
    );


    dann die datei gb.php mit dem script zum anzeigen des gästebuchs:

    PHP-Code:
    <?php

        
    echo "<h2>Gästebuch</h2>\n";

        echo 
    "<p>\n";

        echo 
    "    <a href=\"index.php?section=gb_add\">Ins Gästebuch reinschreiben</a>\n";

        echo 
    "</p>\n";

        
    $sql "SELECT

                    Name,

                    Datum,

                    Email,

                    Homepage,

                    Inhalt

                FROM

                    gaestebuch

                ORDER BY

                    Datum DESC"
    ;

        
    $result mysql_query($sql) OR die(mysql_error());

        echo 
    "<p>Einträge im Gästebuch: ".mysql_num_rows($result)."</p>\n";

        echo 
    "<hr>\n";


        while(
    $row mysql_fetch_assoc($result)) {

            echo 
    "<div class=\"gb-eintrag\">\n";

            echo 
    "    <div class=\"Kopfdaten\">\n";

            if(
    trim($row['Email']) == "") {

                echo 
    $row['Name'];

            } else {

                echo 
    "<a href=\"mailto:".$row['Email']."\">".$row['Name']."</a>\n";

            }

            if(
    trim($row['Homepage']) != "") {

                if(
    strtolower(substr($row['Homepage'], 07)) == "http://") {

                    
    // Wenn der Teilstring gleich "http://" ist, so

                    // soll er den Link ohne "http://" erzeugen, denn

                    // der Steht ja schon drin

                    
    echo " (<a href=\"".$row['Homepage']."\">Homepage</a>)";

                } else {

                    
    // Wenn nicht, so soll er das "http://" manuell hinzufügen

                    
    echo " (<a href=\"http://".$row['Homepage']."\">Homepage</a>)";

                }

            }


            echo 
    " schrieb um ".$row['Datum']."\n";

            echo 
    "    </div>\n";

            echo 
    "    <div class=\"Inhalt\">\n";

            echo 
    "        ".nl2br($row['Inhalt'])."\n";

            echo 
    "    </div>\n";

            echo 
    "</div>\n";

        }

    ?>
    dann die datei gb_add.php der eigentliche formular

    <h2>Eintrag ins Gästebuch hinzufügen</h2>
    <form action="index.php?section=gb_insert" method="post" class="formular">
    <ol>
    <li>
    <label for="name">Name</label>
    <input type="text" name="Name" id="name" />
    </li>
    <li>
    <label for="email">Email</label>
    <input type="text" name="Email" id="email" />
    </li>
    <li>
    <label for="homepage">Homepage</label>
    <input type="text" name="Homepage" id="homepage" />
    </li>
    <li>
    <label for="beitrag">Beitrag</label>
    <textarea name="Text" id="beitrag"></textarea>
    </li>
    <li>
    <input type="submit" name="submit" value="Speichern" />
    <input type="reset" name="submit" value="Zurücksetzen" />
    </li>
    </ol>
    </form>


    und dann noch die datei gb_insert.php mit dem script zum hinzufügen des eintrags:

    PHP-Code:
    <?php

        
    if(!isset($_POST['Name'], $_POST['Email'],

                  
    $_POST['Homepage'], $_POST['Text'])) {

            die(
    "Bitte Benutzen sie das Formular aus dem Gästebuch\n");

        }


        if(
    trim($_POST['Name']) == "") {

            die(
    "Bitte geben sie einen Namen ein");

        }

        if(
    trim($_POST['Text']) == "") {

            die(
    "Bitte geben sie einen Text ein");

        }


        
    $sql "INSERT INTO gaestebuch

                    (Name, Email, Homepage, Inhalt, Datum)

                VALUES

                    ('"
    .addslashes(htmlspecialchars($_POST['Name']))."',

                    '"
    .addslashes(htmlspecialchars($_POST['Email']))."',

                    '"
    .addslashes(htmlspecialchars($_POST['Homepage']))."',

                    '"
    .addslashes(htmlspecialchars($_POST['Text']))."',

                    NOW())"
    ;


        
    mysql_query($sql) OR die(mysql_error());


        echo 
    "<p>Vielen Dank für ihren Eintrag.</p>\n";

        echo 
    "<p><a href=\"index.php?section=gb\">Zurück ins Gästebuch</a></p>\n";

    ?>
    So ich hab diese Dateien auf einen PHP fähigen Server geladen und es funktioniert nicht es kommt immer ne 404 fehlermeldung wenn ich das formular ausfülle...wäre nett wenn mir jemand helfen könnte...

    mit freundlichen grüssen...

  • #2
    dann wird gb_insert.php wohl falsch bzw. erst gar nicht eingebunden.

    Kommentar


    • #3
      Re: Problem mit Erstellung des Gästebuchs (Anfänger)

      und es funktioniert nicht es kommt immer ne 404 fehlermeldung wenn ich das formular ausfülle...
      beim ausfüllen kann für gewöhnlich keine 404 kommen, meinst du nach dem absenden? dann existiert die datei, die du per formular aufrufst, nicht.
      Die Zeit hat ihre Kinder längst gefressen

      Kommentar


      • #4
        Re: Re: Problem mit Erstellung des Gästebuchs (Anfänger)

        Original geschrieben von derHund
        beim ausfüllen kann für gewöhnlich keine 404 kommen, meinst du nach dem absenden? dann existiert die datei, die du per formular aufrufst, nicht.
        ja sorry, ich meine beim abschicken.

        Ich habe sehr wenig ahnung von php, hab dieses gb mit hilfe eines tutorials gemacht, also was muss ich genau ändern damit das ganze funktionieren sollte?

        Kommentar


        • #5
          also was muss ich genau ändern damit das ganze funktionieren sollte?
          das musst du erstmal herausfinden.

          wie wird gb_insert.php eingebunden?

          Kommentar


          • #6
            ja gute frage, meine dateien sehen genau so aus wie ich sie gepostet habe *confused*

            Kommentar


            • #7
              möchtest du es evtl. lieber mit der "projekthilfe" versuchen?

              Kommentar


              • #8
                Wenn du meinst, dass mir dort weitergeholfen wird...natürlich. Aber ist das hier so zeitaufwendig? Ich dachte ich hab nur irgendwas kleines vergessen oder sowas... =/

                Kommentar


                • #9
                  deine dateri zum eintragen heißt gb_insert.php, du sendest an index.php?section=gb_insert, oder nicht? wenn du nicht noch irgendwas zwischen ist, ... hast du ne index.php?
                  Die Zeit hat ihre Kinder längst gefressen

                  Kommentar


                  • #10
                    nein hab ich nicht...
                    http://hotwather.ho.funpic.de/gb_add.php

                    Kommentar


                    • #11
                      dann ändere das "action"-attribut der form, sodass die daten an die datei verschickt werden, die sie erwartet.

                      Kommentar


                      • #12
                        Ich bin verwirrt nichts klappt was ich mache. Das ist mein erstes mal das ich mit php arbeite. Kann mir das nicht jemand schnell in den code reinschreiben, dann kapiere ich das ganze...

                        Kommentar


                        • #13
                          mhmh, kann jemand das zeug in Projekthilfe verschieben?

                          Kommentar


                          • #14
                            Meine Güte, ändern das
                            PHP-Code:
                            <form action="index.php?section=gb_insert" method="post" class="formular"
                            in das um
                            PHP-Code:
                            <form action="gb_insert.php" method="post" class="formular"

                            und das
                            PHP-Code:
                            echo "<p><a href=\"index.php?section=gb\">Zurück ins Gästebuch</a></p>\n"
                            in das
                            PHP-Code:
                            echo "<p><a href=\"gb.php\">Zurück ins Gästebuch</a></p>\n"

                            und das
                            PHP-Code:
                            echo "    <a href=\"index.php?section=gb_add\">Ins Gästebuch reinschreiben</a>\n"
                            in das
                            PHP-Code:
                            echo "    <a href=\"gb_add.php\">Ins Gästebuch reinschreiben</a>\n"
                            und fertig ist die Banane...
                            aber lass es nicht durch einen Validator laufen, oder passe gb_add entsprechend an! (da fehlt alles <html><body> usw...)

                            Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                            bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                            Wie man Fragen richtig stellt

                            Kommentar

                            Lädt...
                            X