Ankündigung

Einklappen
Keine Ankündigung bisher.

(Gästebuch)Skript funktioniert nicht --> vermutl. include

Einklappen

Neue Werbung 2019

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

  • (Gästebuch)Skript funktioniert nicht --> vermutl. include

    Hallo,

    ich beschäftige mich in letzter Zeit mit PHP, da ich mir die Sprache besser aneignen möchte.
    Zum Test habe ich unten gegebenes Skript gebastelt, welches einem Gästenuch ähneln sollte.
    Dazu habe ich selbstverständlich die verwendete MySQL-Datenbank sowie die Tabelle "guestbook" angelegt.

    Führe ich mein Skript im Browser aus, erhalte ich folgende Fehlermeldung:
    Parse error: parse error, unexpected T_INCLUDE, expecting ':' in C:\apache\htdocs\guestbook\guestbook.php on line 24

    Hiert die guestbook.php:


    <?php
    if (isset($insert)): //Eintrag hinzufügen
    ?>

    <form action="<?=$PHP_SELF?>" method="post">
    Name: <input type="Text" name="name" value="" size="20" maxlength="20" />

    Eintrag: <textarea name="eintrag" cols="80" rows="3"></textarea>

    <input type="Submit" name="save" value="Speichern">
    </form>

    <?php
    else //Gästebuch anzeigen


    //DATENBANK VERBINDUNG AUFBAUEN

    include ('function.inc.php'); //ZEILE 24

    db_connect();

    //EINTRAG ZUR DATENBANK
    if ($save == "Speichern") {
    $sql = "INSERT INTO guestbook SET
    name = $name,
    eintrag = $eintrag;

    if (@mysql_query($sql)){
    echo ("

    Dein Beitrag wurde im Gästebuch gespeichert!</p>");
    } else {
    echo ("

    Fehler beim Eintragen ins Gästebuch.
    Bitte melden Sie folgende Fehlermeldung unserem Webmaster: " . mysql_error() . "</p>");
    }
    }


    //TEXT ALLER EINTRÄGE ABFRAGEN
    echo ("

    Alle Gästebucheinträge:</p>");


    $result = @mysql_query ("SELECT eintrag FROM guestbook");
    if (!result) {
    echo("

    Fehler beim Ausführen der Abfrage: " . mysql_error() . "</p>");
    exit();
    }

    //JEDEN EINTRAG IN EINEM ABSATZ DARSTELLEN
    while ($row = mysql_fetch_array($result)) {
    echo("

    " . $row["eintrag"] . "</p>");
    }

    //LINK
    echo("

    " . "Eintrag hinzufügen</p>");

    endif;
    ?>



    Die function.inc.php sieht folgendermaßen aus:

    <?
    function db_connect() {
    include('config.inc.php');
    $dbcnx=mysql_connect($dbserver, $dbuser, $dbpass);

    if (!$dbcnx) {
    echo ("

    Verbindung zum Datenbankserver nicht möglich!</p>");
    exit();
    }

    mysql_select_db($dbname, $dbcnx);

    if (! @mysql_select_db($dbname)){
    echo ("

    Auswahl der Datenbank auf dem Server nicht möglich.</p>");
    exit();
    }
    }
    ?>




    In der config.inc.php stehen lediglich die Benutzerdaten:

    <?
    $dbserver = "localhost";
    $dbname = "guestbook";
    $dbuser = "root";
    $dbpass = "*****";
    ?>



    Die drei Dateien (config.inc.php; function.inc.php sowie guestbook.php) liegen in einem Verzeichnis.

    Ich verstehe die Fehlermeldung, die im Browser ausgegeben nicht und suche nun schon seit mehreren Tagen den Fehler, allerdings bisher ohne Erfolg.
    Zeile 24 in der guestbook.php ist die oben orange markierte ( include ('function.inc.php');):

    Ich würde mich freuen, wenn ihr mir bei meinem Problem helfen könntet.

    Gruß
    Erri

  • #2
    wenn das wirklich die gesamte datei ist, dann ist der feler wohl hier begraben

    Code:
    //EINTRAG ZUR DATENBANK 
    if ($save == "Speichern") { 
    $sql = "INSERT INTO guestbook SET 
    name = $name, 
    eintrag = $eintrag;
    am ende der wertzuweisung von $sql fehlen die anführungszeichen.

    zusätzlich kommt hinzu, dass du in dem folgenden abschnitt ein else öffnest allerdings nur für einen befehl, und ich denke mal , da sollte dann doch eine geschwunge eröffnungsklammer kommen, bzw ein doppelpunkt auch wenn mir die schreibweise fremd ist

    Code:
    <?php 
    else //Gästebuch anzeigen 
    
    
    //DATENBANK VERBINDUNG AUFBAUEN
    mfg Floh

    Programmers don't die, they GOSUB without RETURN

    Kommentar

    Lädt...
    X