phpBook

E

elgo

hallo ich habe ein kleines Problem und zwar bkomm ich einfach keine verbindung zur db her.

ich hab das tut von . gemacht.

PHP:
<form action="<?php echo $PHP_SELF ?>" method="post" name="eintragung"> <!-- Anfang des Formulars -->
Name:<input type="text" name="name" size="25">
Email:<input type="text" name="email" size="25">
Homepage:<input type="text" name="homepage" size="25">
Message:<textarea name="message" cols="20" rows="25"></textarea>

<input type="submit" name="neueintrag" value="Eintragen">
<input type="reset" value="L&ouml;schen">
</form>

<?php 
// Zunächst brauchen wir eine Datenbankverbindung:
$verbindung = mysql_pconnect( "dein.mysql.server", "deinSQLbenutzername", "deinSQLpasswort");

if (!$verbindung) // War die verbindung NICHT erfolgreich? -> Wenn ja: Fehler auswerfen und beenden
{
    echo "<br><center><b>- Keine Verbindung zur Datenbank -</b></center>";
    exit;
}

mysql_select_db("deinedatenbank"); //Datenbank auswählen in die geschrieben werden soll 

if($neuintrag) //ueberprueft ob der submit button gedrückt wurde
{ //Wenn ja dann daten in den guestbook table eintragen

    $id = time(); //time() gibt die zeit seit dem beginn des Unix Zeitalters in sekunden zurück
                  //wir benutzen id als Datums und Identifikations-Angabe, doch mehr dazu später

    $name = addslashes($name);             //Zeichen die im Programm Probleme verursachen könnten in PHP Spezialzeichen umwandeln
    $email = addslashes($email);         // -"-
    $homepage = addslashes($homepage);    // -"-
    $message = addslashes($message);    // -"-
    
    $sqlkommando = "INSERT INTO guestbook (id, name, email, homepage, message) VALUES ('$id', '$name', '$email', '$homepage', '$message')";
    // Auf gut deutsch: Füge in guestbook bei "id, name, email, homepage, message" die werte der variablen "$id, $name, $email, $homepage, $message" ein

    mysql_query($sqlkommando) or die("Error: " . mysql_error()); // Kommando 'sqlkommando' ausfuehren
                                                                 // bei misserfolg beenden und fehlermeldung ausgeben
    
    echo "Eintragung erfolgreich hinzugefügt"; // Bestätigung ausgeben
}

?>

<?php
    $sqlkommando = "SELECT * FROM guestbook ORDER BY id DESC";
    // Auf gut deutsch: Nimm aus allen feldern in table 'guestbook' die Daten und sortiere sie absteigend nach 'id'
    // Hier haben wir die Wahl zwischen ASC und DESC als Sortierungsreihenfolge
    // ASC = von 1-9 und A-Z
    // DESC = von Z-A und 9-1
    // da 'id' eine zeitangabe beinhaltet werden die felder hier absteigend nach datum sortiert, der neuste eintrag steht also
    // folglich ganz oben

    $sqlanfrage = mysql_query($sqlkommando) or die("Error: " . mysql_error()); // $sqlanfrage auf das Kommando:" 'sqlkommando' ausfuehren" setzen
                                                                                // bei misserfolg beenden und fehlermeldung ausgeben

    while($daten = mysql_fetch_object($sqlanfrage)) // Solange wie daten ausgelesen werden können sollen
    {                                                // sie in das Objekt '$daten' geladen und die folgende 
                                                    // schleife ausgegeben werden
        $datum = getdate($daten->id); // Datum aus 'id' konvertieren und in das 'datum' array packen
        
        echo "Eintrag von ". stripslashes($daten->name) ."\n<br>"; // PHP sonderzeichen entfernen und name ausgeben
        echo "Email: <a href=\"mailto:".stripslashes($daten->email)."\">".stripslashes($daten->email)."</a>\n<br>";
        echo "Homepage: ".stripslashes($daten->homepage)."\n<br>";
        echo "Geschrieben: $ndate[weekday] - $ndate[mday]/$ndate[mon]/$ndate[year] $ndate[hours]:$ndate[minutes]"; // Datum ausgeben (Englisch siehe Moartel Tutorial)
        echo "<br>";
        echo "Kommentar: <br>";
        echo nl2br(stripslashes($daten->message)); //nl2br = Zeilenumbrüche in HTML-Umbrüche (<br>) umwandeln
        echo "\n<br><br>\n";
    }
?>

so .. er gibt vollgeden fehler an
Parse error: parse error in /raid/domains/com/n/njukit/htdocs/wwww/news.php on line 15

ich habe alle daten richtig eingetragen .. hab mir aber schon gedacht das ihm der tabellen name fehlt .. da ich bei kontent bin muss ich den server, die datenbank und normaler weise noch die tabelle an .. habe aber nirgends die tabellenabfrage gefunden.

hoffe ihr könnt mir helfen

mfg elgo
 
PHP:
if (!$verbindung) // War die verbindung NICHT erfolgreich? -> Wenn ja: Fehler auswerfen und beenden
{
    echo "<br><center><b>- Keine Verbindung zur Datenbank -</b></center>";
    exit;
}
durch
PHP:
if (!$verbindung) { // War die verbindung NICHT erfolgreich? -> Wenn ja: Fehler auswerfen und beenden
    echo "<br><center><b>- Keine Verbindung zur Datenbank -</b></center>";
    exit;
}
ersetzen :)
 
PHP:
<form action="<?php echo $PHP_SELF ?>" method="post" name="eintragung">
Name:<input type="text" name="name" size="25">
Email:<input type="text" name="email" size="25">
Homepage:<input type="text" name="homepage" size="25">
Message:<textarea name="message" cols="20" rows="25"></textarea>
<input type="submit" name="neueintrag" value="Eintragen">
<input type="reset" value="L&ouml;schen">
</form>

<?php 
$verbindung = mysql_pconnect( "mysql1.kontent.de", "com26746", "MG1985nk194el", "com26746");

if (!$verbindung) {
    echo "<br><center><b>Keine Verbindung zur Datenbank</b></center>";
    exit;
}

mysql_select_db("com26746");

if($neuintrag) 


    $id = time(); 
                  

    $name = addslashes($name);             
    $email = addslashes($email);         
    $homepage = addslashes($homepage);    
    $message = addslashes($message);    
    
    $sqlkommando = "INSERT INTO guestbook (id, name, email, homepage, message) VALUES ('$id', '$name', '$email', '$homepage', '$message')";
    mysql_query($sqlkommando) or die("Error: " . mysql_error()); 
                                                                 
    
    echo "Eintragung erfolgreich hinzugefügt"; 
}
?>
<?php
    $sqlkommando = "SELECT * FROM guestbook ORDER BY id DESC"

    $sqlanfrage = mysql_query($sqlkommando) or die("Error: " . mysql_error());

    while($daten = mysql_fetch_object($sqlanfrage))  
                                                  
        $datum = getdate($daten->id); 
        
        echo "Eintrag von ". stripslashes($daten->name) ."\n<br>"; 
        echo "Email: <a href=\"mailto:".stripslashes($daten->email)."\">".stripslashes($daten->email)."</a>\n<br>";
        echo "Homepage: ".stripslashes($daten->homepage)."\n<br>";
        echo "Geschrieben: $ndate[weekday] - $ndate[mday]/$ndate[mon]/$ndate[year] $ndate[hours]:$ndate[minutes]";
        echo "<br>";
        echo "Kommentar: <br>";
        echo nl2br(stripslashes($daten->message)); //nl2br = Zeilenumbrüche in HTML-Umbrüche (<br> ) umwandeln
        echo "\n<br><br>\n";
    }
?>

so hab alle kommentare gelöscht aber es funzt immer noch nicht

Parse error: parse error in /raid/domains/com/n/njukit/htdocs/wwww/news.php on line 36

Mit welchem Programm kann man solche fehler schneller erkennen.
 
PHP:
if($neuintrag)
da fehlt ne {
also
PHP:
if($neuintrag) {

S

PS: solche fehler findet man schnell, wenn man einen texteditor hat der dir die zeilen anzeigt und syntax highlighting hat
 
jo danke .. und wo gibts so einen editor .. oder geht das auch mit dem notpad oder worpad
 
Zurück