Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: Noch ein Gästebuchproblem

  1. #1
    Azubi(ne)
    Registriert seit
    14.04.2004
    Beiträge
    80
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard Noch ein Gästebuchproblem

    Hallo Leute,
    hab mal ne Frage zu einem Gästebuch, aber ich glaub ich schreib erstmal den Code hin:

    Das gehört in die Datenbank
    Code:
    CREATE TABLE `simplegb` ( 
    `id` INT NOT NULL AUTO_INCREMENT , 
    `von` TEXT NOT NULL , 
    `eintrag` MEDIUMTEXT NOT NULL , 
    `datum` TEXT NOT NULL , 
    `email` TEXT NOT NULL , 
    PRIMARY KEY ( `id` ) 
    );

    Das ist die Datei template.html
    Code:
    Von: {von} - Email: {email} - Am: {datum} 
    <hr> 
    &#123;eintrag&#125;&#123;delete_link&#125; 
    <hr>

    Und das ist die Datei index.php
    Code:
    <?php 
    ////////////////////////// 
    ////// Mysql sachen ////// 
        $database= "xxx";          //Datenbankname 
        $sqlhost= "xxx";         //mySQL Hostname &#40;meistens "LOCALHOST"&#41; 
        $sqluser= "xxx";           //mySQL Username 
        $sqlpass= "xxx";          //mySQL Passwort 
    
        $db_link = @mysql_connect&#40;$sqlhost,$sqluser,$sqlpass&#41;;  // verbindung zum sql server 
        if&#40;!$db_link&#41; &#123;    echo "Es konte keine Verbindung zum gew&auml;hlten Sql Server aufgebaut werden."; exit; &#125;;   // wenn keine verbindung ... 
        if&#40;$db_link&#41;  &#123;  // wenn ja&#58; 
        if&#40;!mysql_select_db&#40;$database&#41;&#41; &#123; echo "Es Konnte keine Verbindung zur Datenbank aufgebaut werden."; exit; &#125;;  // pr&uuml;fen ob verbindung zur datenbank besteht. 
        &#125;; 
    
    ///////////////////////////// 
    //wichtige Variablen setzen// 
    $datum_format = "%H&#58;%M %d.%m.%Y";  // formatierung der Datums ausgabe 
    $template_file = "template.html";  // template datei 
    $adminpw = "admin";  // passwort zum l&ouml;schen von eintr&auml;gen 
    
    $fp = fopen&#40;$template_file,"r"&#41;;  // teamplate zum lesen&#40;r&#41; &ouml;ffnen 
    $template = fread&#40;$fp,filesize&#40;$template_file&#41;&#41;;  // inhalt der template datei in die teamplate variable laden. 
    $template2 = $template; 
    
    /////////////////////////////// 
    ///// Eintrag löschen teil //// 
    if&#40;$_GET&#91;'delete'&#93; == 1 and $_GET&#91;'id'&#93; != ""&#41; &#123;    // wenn delete gesetzt ist und id auch ... 
        $id = $_GET&#91;'id'&#93;; 
        echo "Eintrag mit der id&#58; $id wirklich löschen?
     
        <form action='?id=$id' method=post> 
        <input type=password name=pwd> 
        <input name=del type=submit value='Ja Eintrag entfernen'> 
        </form>";  // pw abfrage vor dem löschen 
        exit;  // script ende 
    &#125;; 
    
    if&#40;$_POST&#91;'del'&#93; != "" and $_GET&#91;'id'&#93; != ""&#41; &#123;  // wenn del übers formular einen wert hat und id auch ... 
        $pwd = $_POST&#91;'pwd'&#93;;  // einggebenes PW besorgen 
        $id = $_GET&#91;'id'&#93;;  // id besorgen 
        if&#40;$pwd == $adminpw&#41; &#123;  // eingegebenes pw mit gesetztem admin pw vergleichen wenn beide gleich&#58; 
            $sql = mysql_query&#40;"DELETE FROM `simplegb` WHERE id = $id"&#41;;  // sql befehl zum löschen 
            if&#40;$sql&#41; &#123; echo "Eintrag wurde gelöscht.
    "; &#125; else &#123; echo "Eintrag konnte nicht gelöscht werden.
    "; &#125;;   
        &#125; else &#123; echo "Falsches Passwort.
    "; exit; &#125;; // wenn pws verschieden ... 
    &#125;; 
         
    
    /////////////////////////////// 
    ////////// EINTRAGEN SCript//// 
    if&#40;isset&#40;$_POST&#91;'absenden'&#93;&#41;&#41; &#123; // wenn formular abgesendet wurde&#58; 
        $von = $_POST&#91;'von'&#93;;  // variable besetzten&#40;wert holen&#41; 
        $email = $_POST&#91;'email'&#93;; // variable besetzen&#40;wert holen&#41; 
        $eintrag = $_POST&#91;'eintrag'&#93;;  // variable besetzen&#40;wert holen&#41; 
        $datum = time&#40;&#41;; // aktuellen timestamp holen fürs einzutragende datum 
         
        if&#40;$von == "" or $eintrag == ""&#41; &#123; echo "Sie müssen mindestens Von und Eintrag ausfüllen um sich einzutragen.
    "; &#125; else &#123; // solte verständlich sein 
            $sql = mysql_query&#40;"INSERT INTO `simplegb` &#40; `id` , `von` , `eintrag` , `datum` , `email` &#41; VALUES &#40;'', '$von', '$eintrag', '$datum', '$email'&#41;;"&#41;; // sql eintragen querry 
            if&#40;$sql&#41; &#123; 
                echo "Sie haben sich erfolgreich eingetragen.
    "; 
            &#125; else &#123; 
                echo "Es ist ein Fehler aufgetreten sie konnten nicht eingetragen werden.
    "; 
            &#125;; 
        &#125;; 
         
    &#125;; 
         
    ////////////////////////////////// 
    ////////// Auslesen der einträge//         
    $sql = mysql_query&#40;"SELECT * FROM `simplegb` ORDER BY id DESC"&#41;;   // Mysql select befehl 
    while&#40;$row = mysql_fetch_assoc&#40;$sql&#41;&#41; &#123; // l&auml;d bei jedem durchgang&#40;immer die n&auml;chste&#41; eine zeile aus der tabelle in einen array in die variable $row 
         
        $id = $row&#91;'id'&#93;;  // wert der spalte id der jeweiligen spalte als variable speichern 
        $von = $row&#91;'von'&#93;; // wert der spalte von der jeweiligen spalte als variable speichern 
        $email = $row&#91;'email'&#93;; // wert der spalte email der jeweiligen spalte als variable speichern 
        $eintrag = $row&#91;'eintrag'&#93;; // wert der spalte eintrag der jeweiligen spalte als variable speichern 
        $datum = $row&#91;'datum'&#93;; // wert der spalte datum der jeweiligen spalte als variable speichern 
         
        $delete_link = "l&ouml;schen"; 
        $eintrag = nl2br&#40;$eintrag&#41;; // /n  &#40; new lines&#41; in 
     umwandeln damit auch zeilenumbrüche ins html übernommen werden 
        $datum = strftime&#40;$datum_format,$datum&#41;;// datum mit in dem oben angegebenen format formatieren 
         
        $template = str_replace&#40;"&#123;von&#125;",$von,$template&#41;;  // ersetze &#123;...&#125; durch $... 
        $template = str_replace&#40;"&#123;email&#125;",$email,$template&#41;; // ersetze &#123;...&#125; durch $... 
        $template = str_replace&#40;"&#123;datum&#125;",$datum,$template&#41;; // ersetze &#123;...&#125; durch $... 
        $template = str_replace&#40;"&#123;eintrag&#125;",$eintrag,$template&#41;; // ersetze &#123;...&#125; durch $... 
        $template = str_replace&#40;"&#123;delete_link&#125;",$delete_link,$template&#41;; // ersetze &#123;...&#125; durch $... 
         
        echo $template; 
        $template = $template2;  // template wieder auf standart setzen 
    &#125;; 
    
    //////////////////////////////// 
    /////// Eintragen Formular ///// 
    echo "<form method=post > 
        <table border=0> 
            <tr> 
                <td>Von&#58;</td> 
                <td><input type=text name=von></td> 
            </tr> 
            <tr> 
                <td>E-Mail&#58;</td> 
                <td><input type=text name=email></td> 
            </tr> 
            <tr> 
                <td>Eintrag&#58;</td> 
                <td></td> 
            </tr> 
            <tr> 
                <td></td> 
                <td><textarea cols=20 name=eintrag rows=10></textarea></td> 
            </tr> 
            <tr> 
                <td></td> 
                <td><input type=submit name=absenden value=Eintragen></td> 
            </tr> 
        </table></form>"; 
    
    ?>
    So jetzt zu meinem Problem. Ich möchte das GB so verändern, das jeder Gästebucheintrag einzelnt angezeigt wird und man so zu sagen mit vorheriger und nächster Eintrag durch die Einträgen jumpen kann. Wäre nett wenn ihr mir helfen könntet.
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Forum Guru
    Registriert seit
    28.12.2004
    Ort
    Ringgenberg(bei Interlaken) / Schweiz
    Beiträge
    4.787
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    das heist, das du nur eine eintrag haben willst pro seite??

    Code:
    SELECT * FROM `simplegb` ORDER BY id DESC LIMIT '.$entrag_id.' , 1;

    das wählt immer eine eintrag aus.


    Code:
    SELECT COUNT&#40;*&#41; AS Anzahl FROM `simplegb`;
    gibt die Anzahl der Einträge aus.

  3. #3
    Azubi(ne)
    Themenstarter

    Registriert seit
    14.04.2004
    Beiträge
    80
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    riesen dank GreenRover!
    Wo muss ich das einfügen ?

  4. #4
    Forum Guru
    Registriert seit
    28.12.2004
    Ort
    Ringgenberg(bei Interlaken) / Schweiz
    Beiträge
    4.787
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    erläuter erst noch einmal was du genau vor hast.

  5. #5
    Azubi(ne)
    Themenstarter

    Registriert seit
    14.04.2004
    Beiträge
    80
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Hab mal n kleines Bild gemacht. Hoffe es hilft dir weiter

    http://mitglied.lycos.de/tweetymr/gb_aussehen.bmp

  6. #6
    Forum Guru
    Registriert seit
    28.12.2004
    Ort
    Ringgenberg(bei Interlaken) / Schweiz
    Beiträge
    4.787
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    du willst was haben und die texte zu ediiteren ??

  7. #7
    Azubi(ne)
    Themenstarter

    Registriert seit
    14.04.2004
    Beiträge
    80
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    nein, es geht eigentlich nur um die Funktionen das es anzeigt welcher eintrag gerade angezeigt wird und wieviele es insgesamt gibt (des 1/3) und dass ich durch einen "vorherigen Eintrag" und "nächsten Eintrag"- Button zwischen den Einträgen wechseln kann

  8. #8
    Forum Guru
    Registriert seit
    28.12.2004
    Ort
    Ringgenberg(bei Interlaken) / Schweiz
    Beiträge
    4.787
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Code:
    $eintrag_id=$_REQUEST&#91;'eintrag_id'&#93;;
    if &#40;$eintrag_id==""&#41; $eintrag_id=0;
    
    $result = mysql_query&#40;"SELECT COUNT&#40;*&#41; FROM `simplegb`;"&#41;;
    $Wert = mysql_fetch_row&#40;$result&#41;;
    $Anzahl=$Wert&#91;0&#93;;
    
    $sql = mysql_query&#40;"SELECT * FROM `simplegb` ORDER BY id DESC LIMIT '.$eintrag_id.' , 1;"&#41;;
    $eintrag = mysql_fetch_array&#40;$result&#41;;
    
    echo  $eintrag&#91;'eintrag'&#93;;
    echo  $eintrag&#91;'email'&#93;;
    
    if &#40;$eintrag_id>0&#41;       &#123; echo 'Zur$uuml;ck'; &#125;
    echo "<a> Seite ".$entrag_id." von ".$Anzahl." </a>"
    if &#40;$eintrag_id<$Anzahl&#41; &#123; echo 'Vor'; &#125;

  9. #9
    Azubi(ne)
    Themenstarter

    Registriert seit
    14.04.2004
    Beiträge
    80
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    gut danke! Aber kannst du mir des vielleicht noch in mein Script integrieren, weil ich weiß nich wo ich des rinsetzen muss

  10. #10
    Forum Guru
    Registriert seit
    28.12.2004
    Ort
    Ringgenberg(bei Interlaken) / Schweiz
    Beiträge
    4.787
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    nö, das ist mir zu viel kudel muddel. Auserdem, gegen wir hier nur Hilfe zur Selbsthilfe.

Ähnliche Themen

  1. Noch was falsch ;(
    Von Sebastian S. im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 17
    Letzter Beitrag: 27.01.2007, 14:40
  2. noch mal iFrames...bsp...
    Von help mee im Forum HTML & CSS Forum
    Antworten: 10
    Letzter Beitrag: 25.01.2007, 08:48
  3. ie 7 und nur noch probleme
    Von chriss45 im Forum HTML & CSS Forum
    Antworten: 1
    Letzter Beitrag: 12.12.2006, 10:49
  4. Noch kniffliger
    Von Michael_SQL im Forum Das Forum für Spiele, Fun & Jokes
    Antworten: 130
    Letzter Beitrag: 12.08.2004, 09:45

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •