Loading...   Upload Image

Gästebuch mit AdministrationsfunktionForum » Tutorials » Help » Gästebuch mit Administrationsfunktion

Neues Thema verfassen Neues Thema

  • neomiiUser ist offline
    Beginner


    neomii

    Registriert: 03.02.2013
    Beitraege: 48

    03.02.2013 um 14:36 Uhr

    Hallo zusammen :-)

    Ich habe ein Problem beim Anwenden des Tutorials "Gästebuch mit Administrationsfunktion", zu dem ich auch kurz unter "Ask Alice" eine Frage hinterlassen habe. Natürlich habe ich erst nach dem Absenden gesehen, dass solches nicht dahingehört! Entschuldigung deswegen!

    Die Anpassung des Gästebuchs an das Design etc. hat wunderbar funktioniert. Die Ausführungen in phpMyAdmin sind auch in Ordnung, habe diese nochmals nachgeprüft. Meine Probleme sind nun:

    In der überarbeiteten Version:
    - Name des Eintragserstellers und der Text sind nicht zu sehen
    - Der Administrantionslink erscheint nicht, bzw. es lässt sich keine Verbindung zwischen "admin.php" und "gb.php" herstellen

    In der erstangeführten Version:
    - Name des Eintragserstellers und der Text sind nicht zu sehen (weder im öffentlichen, noch im administrativen Bereich)

    Ich habe bei mir festgestellt, dass eine einzige Datei (alle Funktionen etc. in einer Datei) besser funktionieren. Mit der "Include"-Funktion habe ich eigentlich immer Probleme, obwohl ich eigentlich nichts falsch mache (Zumindest nicht nach Anweisungen im Internet).
    "header.php" und "footer.php" in "gb.php" mit einzubinden ist absolut kein Problem. Ich habe dann schonmal versucht, die "admin.php" in "gb.php" einzubinden, mit :

    <a href="gb.php?action=gbadmin">Admin</a>

    echo "<a href=\"".$pfad."?action=gbadmin\">Admin</a><br />\n";

    und auch mit
    <?php include("admin.php"); ?>


    Nichts davon hat funktioniert. Ebenso schaffe ich es nicht, wenigstens bei dem Link das Passwort-Fenster zu öffnen. Versucht habe ich es mit
    <?php 
    # Wenn auf den Admin-Link gecklickt wird, wird hier das Login-Feld erzeugt
    if ($action == "gbadmin"){?>


    Aber hier werden immer Fehler angezeigt. Auf die "<? php" und "?>" achte ich immer. Theoretisch kann da nichts falsch sein. Auch nicht im Vergleich zur "Erstausgabe des Scripts".

    Nach der Antwort unter "Ask me" habe ich nun nochmal alles neu gedownloaded und neu eingefügt und die DB überprüft.
    Bei mir sieht das Ganze dann so aus:
    niora.pf-control.de/gb.php

    Ich habe auch 2 Test-Beiträge gemacht. Hier kann man sehen, welches Problem ich beschreibe.

    Was kann man da jetzt machen?

    Freue mich über schnelle Antwort :-)

    Liebe Grüße
    Naomi



  • AliceUser ist offline
    Admin


    Alice

    Registriert: 14.12.2006
    Beitraege: 1059

    03.02.2013 um 15:30 Uhr

    Das Gaestebuch funktioniert auf deiner Testseite,
    ich konnte problemlos einen Eintrag taetigen, dieser wird auch vollstaendig angezeigt o.0



    ... { signatur } ...
  • neomiiUser ist offline
    Beginner


    neomii

    Registriert: 03.02.2013
    Beitraege: 48

    03.02.2013 um 15:50 Uhr

    Ich kann deinen Eintrag auch problemlos sehen, aber meine weiterhin nicht. Siehst du denn den Aministrationsbereich? (Den Link + Passwortaufforderung?)

    Welchen Browser benutzt du?



  • AliceUser ist offline
    Admin


    Alice

    Registriert: 14.12.2006
    Beitraege: 1059

    03.02.2013 um 16:05 Uhr

    Uhm, hast du die gb.php - die testseite - so belassen, wie du sie herunter geladen hattest, oder hast du da jetzt schon was umgebaut dran?

    Denn wenn man sich den Quellcode anschaut, wird eine Fehlermeldung ausgegeben.

    Fatal error: Cannot redeclare smileys() (previously declared in /var/customers/webs/niora/gb.php:29) in /var/customers/webs/niora/footer.php on line 39



    ... { signatur } ...
  • neomiiUser ist offline
    Beginner


    neomii

    Registriert: 03.02.2013
    Beitraege: 48

    03.02.2013 um 16:15 Uhr

    Geändert habe ich gerade nur "header.php" und "footer.php", um das ganze ans Design anzupassen. (gb.php ist also noch im Original! - abgesehen von den DB Daten)
    Bekommen habe ich bisher keinen Fatal Error.

    Wie bekomme ich denn jetzt am Besten den Link "Admin" unter das Ganze?



  • AliceUser ist offline
    Admin


    Alice

    Registriert: 14.12.2006
    Beitraege: 1059

    03.02.2013 um 16:25 Uhr

    Den Error hast du ebenfalls, dazu musst du dir allerdings den Quelltext schauen, damit du den siehst!

    Postet doch mal bitte deine Aenderungen,
    denn bei den Original Dateien tritt dieser Fehler nicht auf, so dass du den demnach selbst verursacht haben musst,
    mit deinen Anpassungen.

    Da ich nicht weiss, was genau du wo wie geaendert hast, kann ich dir schlecht helfen ;)



    ... { signatur } ...
  • neomiiUser ist offline
    Beginner


    neomii

    Registriert: 03.02.2013
    Beitraege: 48

    03.02.2013 um 16:35 Uhr

    Also auch im Quellcode sehe ich keinen Error..

    Hier die Scripte: (Passwort für die DB un den Adminbereich rausgenommen)


    gb.php

    <?php
        session_start();
    // ---------------------------- # Konfiguration # -----------------------------------------------------    
        $db_host = "localhost";           # Der Datenbank-Host
        $db_user = "niorasql2";                # Der Datenbank-Benutzer
        $db_password = "";          # Das Passwort für die Datenbank
        $db_name = "niorasql2";              # Der Datenbank-Name
    
    $conn = mysql_connect($db_host,$db_user,$db_password) or die (mysql_error()); 
    mysql_select_db($db_name, $conn) or die (mysql_error()); 
    
    $mailinfo  = "ja";      		// email-benachrichtigung bei Eintrag ? ja oder nein
    $webmaster = "naomi.oelker@gmail.com"; // wenn bei mailinfo ja steht, dann hier eure email Adresse eintragen 
    
    $datensaetze_pro_seite = "10";  // Anzahl der Datensaetze die Pro Seite angezeigt werden sollen
    $p = "3";                       // Anzahl der Links die in der Seitenavigation ausgegeben werden 
    
    $pfad = $_SERVER['PHP_SELF'];    // aktuellen Dateipfad ermitteln, wichtig fuer die Links der Seitennavigation 
    
    $datum = date("d.m.Y"); // Das aktuelle Datum für den Eintrag wird hier erstellt
    $zeit = date("H:i");    // Die aktuelle Zeit für den Eintrag wird hier erstellt
    // ----------------------------------------------------------------------------------------------------    
    
    $action = isset($_GET['action']) ? ($_GET['action']) : "";
    
    include('header.php');
    
    
    function smileys($msg){ // Smileys ersetzen
    
    	$msg = str_replace(":P","<img src=\"smileys/000.gif\" width=\"15\" height=\"14\" border=\"0\">",$msg); 
    	$msg = str_replace(":)","<img src=\"smileys/001.gif\" width=\"15\" height=\"14\" border=\"0\">",$msg); 
    	$msg = str_replace(";)","<img src=\"smileys/002.gif\" width=\"15\" height=\"14\" border=\"0\">",$msg); 
    	$msg = str_replace(":(","<img src=\"smileys/003.gif\" width=\"15\" height=\"14\" border=\"0\">",$msg); 
    	$msg = str_replace("*grr*","<img src=\"smileys/004.gif\" width=\"15\" height=\"14\" border=\"0\">",$msg); 
    	$msg = str_replace("0.o","<img src=\"smileys/005.gif\" width=\"15\" height=\"14\" border=\"0\">",$msg); 
    	$msg = str_replace("*_*","<img src=\"smileys/006.gif\" width=\"15\" height=\"14\" border=\"0\">",$msg); 
    	$msg = str_replace("._.","<img src=\"smileys/007.gif\" width=\"15\" height=\"14\" border=\"0\">",$msg); 
    	$msg = str_replace("-.-","<img src=\"smileys/008.gif\" width=\"15\" height=\"14\" border=\"0\">",$msg); 
    	$msg = str_replace(":D","<img src=\"smileys/009.gif\" width=\"15\" height=\"14\" border=\"0\">",$msg); 
    	
    	return $msg;
    }
    
    echo "<a href=\"".$pfad."?action=eintragen\">Ins Gästebuch eintragen</a><br />\n";
    
    
    # Wenn der Link zum Eintragen ins GB geklickt wird, wird das Formular zum eintragen angezeigt 
    if($action == "eintragen") { 
    
    if (isset($_POST['los'])){ # wenn auf Abschicken geklickt wurde
    
    #--- Eingaben prüfen und ersetzen ---#
    $name = mysql_real_escape_string($_POST['name']);
    $email = mysql_real_escape_string($_POST['email']);
    $hp = mysql_real_escape_string($_POST['hp']);
    $msg = mysql_real_escape_string($_POST['msg']);
    $spam = mysql_real_escape_string($_POST['spam']);
    
    # Wenn Feld Name und Nachricht nicht leer sind, und Spamfrage eichtig beantwortet wurde, dann speichern...
    if ($name != "" && $msg != "" && $spam == "7") { 
    
        # Wenn Feld Homepage nicht leer
        if ($hp != ""){ 
       	 	# Hier wird geprüft ob die homepage mit oder ohne http:// eingegeben wurde.
       	 	if (strtolower(substr($hp, 0, 7)) == "http://"){ 
       	 	    # Wenn ja, Feld so wie ist abspeichern    
       	 	    $hp = "$hp"; 
       	 	}else {
       	 	    # Wenn nicht, soll er das "http://" manuell hinzufügen 
       	 	    $hp = "http://$hp";              
       	 	} 
    	}
    $ip = $_SERVER['REMOTE_ADDR']; # IP-Adresse ermitteln
    
    $msg = trim($msg);
    
    # --- Und hier speichern wir in die Datenbank --- # 
    
    $eintragen = mysql_query ("INSERT INTO gb (id, name, email, hp, msg, ip, date, time) 
                  VALUES ('', '$name', '$email', '$hp', '$msg', '$ip', '$datum', '$zeit')"); 
    
    if($eintragen){
        # Wenn oben bei mailinfo ja gewählt wurde, wird nach dem speichern eine email geschickt!
        if ($mailinfo == "ja"){ 
            
            # Betreffzeile für die EMail
            $betreff = "GB Eintrag"; 
            
            # Name und Nachricht des Eintrages für die Mail
            $body    = "Es gibt einen neuen Eintrag im GB:\nName: $name Nachricht: $msg"; 
            
            # Hier wird die Mail versendet und zusammengesetzt
            mail("$webmaster","$betreff","$body\n");
        }
     	echo "<meta http-equiv=\"refresh\" content=\"0; URL=".$pfad."\">";    // Weiterleitung  
        
    }else{ echo 'Fehler beim Eintragen...';}
    
    }else{ # wenn nicht alle Pflichtfelder ausgefuellt wurden 
        echo '<p class="error">Bitte alle mit * gekennzeichneten Felder ausf&uuml;llen!</p>';
    }
    } // close submit  
    
    ?>
    <p>
    <form action="" method="post" id="form" name="form">
    <fieldset>
    <input type="text" name="name" size="25" /> <label for="name">Name</label>* <br />
    <input type="text" name="email" size="25" /> <label for="email">E-Mail</label> *<br />
    <input type="text" name="hp" size="25" /> <label for="website">Homepage</label><br />
    
    <p>
    <a href="javascript:insert(':P','')"><img border="0" src="smileys/000.gif" width="15" height="14" /></a>
    <a href="javascript:insert(':)','')"><img border="0" src="smileys/001.gif" width="15" height="14" /></a>
    <a href="javascript:insert(';)','')"><img border="0" src="smileys/002.gif" width="15" height="14" /></a>
    <a href="javascript:insert(':(','')"><img border="0" src="smileys/003.gif" width="15" height="14" /></a>
    <a href="javascript:insert('*grr*','')"><img border="0" src="smileys/004.gif" width="15" height="14" /></a>
    <a href="javascript:insert('O.o','')"><img border="0" src="smileys/005.gif" width="15" height="14" /></a>
    <a href="javascript:insert('*_*','')"><img border="0" src="smileys/006.gif" width="15" height="14" /></a>
    <a href="javascript:insert('._.','')"><img border="0" src="smileys/007.gif" width="15" height="14" /></a>
    <a href="javascript:insert('-.-','')"><img border="0" src="smileys/008.gif" width="15" height="14" /></a>
    <a href="javascript:insert(':D','')"><img border="0" src="smileys/009.gif" width="15" height="14" /></a>
    </p>
    
    <textarea cols="65" rows="8" value="msg" name="msg"></textarea>
    
    <p>Spamschutzfrage *<br />
    <b>Die Summe aus 3+4 =</b> <input size="5" name="spam" type="text" class="small" />
    </p>
    
    <input type="submit" value=" Abschicken " name="los" />
    <p><small>mit * gekennzeichnete Felder müssen ausgefüllt werden</small></p>
    
    </fieldset>
    </form>
    <?php
    } // close reintragen
    
    #--- Datenbank auslesen und anzuzeigende Seiten festlegen ---# 
    
    $abfrage = mysql_query("SELECT id FROM gb"); // DB Abfrage -> Anzahl aller Eintraege feststellen 
    
    $total = mysql_num_rows($abfrage); // Anzahl aller Eintraege feststellen
    $seiten = ceil($total/$datensaetze_pro_seite);     // Berechnet die Seitenanzahl insgesamt 
    
    
    if(empty($_GET['seite'])){ // korrigieren der aktuellen Seite
    
        $go = 1;             // Sofern $go nicht uebergeben wurde
    
    }elseif($_GET['seite'] <= 0 || $_GET['seite'] > $seiten){
    
        $go = 1;         // Variable definieren
    
    }else{ // Wenn Obiges nicht zutraf
    
        $go = mysql_real_escape_string($_GET['seite']);     // Variable definieren
    }
    
    $links = array(); // Linkkette bilden
    
    // Seite die vor der aktuellen Seite kommt definieren
    if(($go - $p) < 1){ $davor = $go - 1;  }else { $davor = $p; }            
    
    // Seite die nach der aktuellen Seite kommt definieren
    if(($go + $p) > $seiten){ $danach = $seiten - $go; }else{ $danach = $p; }   
           
    $off = ($go - $davor); // Variable definieren   
                    
    if ($go- $davor > 1){ // Link definieren => Zur Erste Seite springen         
        $first = 1;
           $links[] = "<a href=\"$pfad?seite=$first\" title=\"Zur ersten Seite springen\">&laquo; Erste ...</a>\n";      
    }      
    
    if($go != 1){ // Link definieren => eine Seite zurueck blaettern          
        $prev = $go-1;
        $links[] = "<a href=\"$pfad?seite=$prev\" title=\"Eine Seite zurueck blaettern\">&laquo;</a>\n";     
    }   
           
           
    for($i = $off; $i <= ($go + $danach); $i++){ // einzelne Seitenlinks erzeugen
    
      if ($i != $go){  // Link definieren            
      
            $links[] = "<a href=\"$pfad?seite=$i\">$i</a>\n";
            
      }elseif($i == $seiten) { // aktuelle Seite, ein Link ist nicht erforderlich             
            
            $links[] = "<span class=\"current\">$i</span>\n";  
            
      }elseif($i == $go){ // aktuelle Seite, ein Link ist nicht erforderlich             
      
            $links[] = "<span class=\"current\">$i</span>\n";
            
      } // close if $i      
    }                
    
    if($go != $seiten){ // Link definieren => eine Seite weiter blaettern       
        $next = $go+1;
        $links[] = "<a href=\"$pfad?seite=$next\" title=\"Eine Seite weiter blaettern\">&raquo;</a>\n";
    }      
        
    if($seiten - $go - $p > 0 ){ // Link definieren => Zur letzen Seite springen   
        $last = $seiten; 
        $links[] = "<a href=\"$pfad?seite=$last\" title=\"Zur letzten Seite springen\">... Letzte &raquo;</a>\n";
    }      
    
    $start = ($go-1) * $datensaetze_pro_seite;             // Berechne den Startwert fuer die DB
    
    
    $link_string = implode(" ", $links); // Zusammenfuegen der einzelnen Links zu einem String 
    
    // Anzahl aller Eintraege ausgeben
    echo "<p>Es sind <strong>$total</strong> Eintr&auml;ge im G&auml;stebuch vorhanden</p>"; 
    
    // Daten aus DB holen
    $result = mysql_query("SELECT id, name, hp, msg, date, time, kommentar FROM gb ORDER BY id DESC LIMIT $start,$datensaetze_pro_seite");
    while($row = mysql_fetch_object($result)) {
    
    # Hier wird schadhafter Code und böse Zeichen ausgemustert
    
    $text = htmlspecialchars($row->msg, ENT_QUOTES); // HTML Zeichen umwandeln
    $text = wordwrap($text, 40, ' ', 1); 		 // zu lange Woerter teilen
    $text = stripslashes(nl2br($text));			 // Zeilenumbrueche umwandeln  
         
    #---------- Eintraege ausgeben -------------------------# 
    
    echo "<div class=\"post\">\n";
    echo "<div class=\"titel\">\n";
    
    if(!empty($row->hp)){ // sofern WEbsite angegeben
    	echo "<a target=\"blank\" href=\"".htmlspecialchars($row->hp)."\"> ".htmlspecialchars($row->name)." </a>";
    }else{
    	echo htmlspecialchars($row->name);
    }
    
    echo " schrieb am ".$row->date." um ".$row->time." Uhr\n";
    echo "</div>\n";
    
    echo "<p>".smileys($text)."</p>\n";
    
    	if($row->kommentar != "") { // Admin Kommentar ausgeben
    	    echo"<div class='kommentar'>Kommentar:<br /> \n 
    	    <span>".smileys(htmlspecialchars(stripslashes($row->kommentar)))."</span>\n </div>\n"; 
    	}
    	
    echo "</div>\n <br />\n";
    }
    
    #--------------- ENDE AUSGABE ---------------# 
    
    // -------------------------------------- Seitennavigation ausgeben ----------------------------
     echo "<div id=\"navigation\">\n";
    
     echo "<span class=\"pages\">Seite $go von $seiten</span>\n";
    
     echo $link_string; // Ausgabe der Seitennavigation
        
     echo "</div> \n";
    // -------------------------------------- Seitennavigation ende -------------------------------- 
    
    # Datenbankverbindung schließen.
    mysql_close(); 
    
    include('footer.php'); // Footer einbinden
    ?>


    admin.php

    <?php
        session_start();
    // ---------------------------- # Konfiguration # -----------------------------------------------------    
        $db_host = "localhost";           # Der Datenbank-Host
        $db_user = "niorasql2";                # Der Datenbank-Benutzer
        $db_password = "";          # Das Passwort für die Datenbank
        $db_name = "niorasql2";              # Der Datenbank-Name
    
    $conn = mysql_connect($db_host,$db_user,$db_password) or die (mysql_error()); 
    mysql_select_db($db_name, $conn) or die (mysql_error()); 
    
    $passwort  = "";     # Das Passwort für den Admin
    
    $datensaetze_pro_seite = "10";  // Anzahl der Datensaetze die Pro Seite angezeigt werden sollen
    $p = "3";                       // Anzahl der Links die in der Seitenavigation ausgegeben werden 
    
    $pfad = $_SERVER['PHP_SELF'];    // aktuellen Dateipfad ermitteln, wichtig fuer die Links der Seitennavigation 
    
    $datum = date("d.m.Y"); // Das aktuelle Datum für den Eintrag wird hier erstellt
    $zeit = date("H:i");    // Die aktuelle Zeit für den Eintrag wird hier erstellt
    // ----------------------------------------------------------------------------------------------------    
    
    $action = isset($_GET['action']) ? ($_GET['action']) : "";
    
    function smileys($msg){ // Smileys ersetzen
    
    	$msg = str_replace(":P","<img src=\"smileys/000.gif\" width=\"15\" height=\"14\" border=\"0\">",$msg); 
    	$msg = str_replace(":)","<img src=\"smileys/001.gif\" width=\"15\" height=\"14\" border=\"0\">",$msg); 
    	$msg = str_replace(";)","<img src=\"smileys/002.gif\" width=\"15\" height=\"14\" border=\"0\">",$msg); 
    	$msg = str_replace(":(","<img src=\"smileys/003.gif\" width=\"15\" height=\"14\" border=\"0\">",$msg); 
    	$msg = str_replace("*grr*","<img src=\"smileys/004.gif\" width=\"15\" height=\"14\" border=\"0\">",$msg); 
    	$msg = str_replace("0.o","<img src=\"smileys/005.gif\" width=\"15\" height=\"14\" border=\"0\">",$msg); 
    	$msg = str_replace("*_*","<img src=\"smileys/006.gif\" width=\"15\" height=\"14\" border=\"0\">",$msg); 
    	$msg = str_replace("._.","<img src=\"smileys/007.gif\" width=\"15\" height=\"14\" border=\"0\">",$msg); 
    	$msg = str_replace("-.-","<img src=\"smileys/008.gif\" width=\"15\" height=\"14\" border=\"0\">",$msg); 
    	$msg = str_replace(":D","<img src=\"smileys/009.gif\" width=\"15\" height=\"14\" border=\"0\">",$msg); 
    	
    	return $msg;
    }
    
    // ------------------------------ Admin-Bereich ------------------------------------------ //
    
    # Wenn auf den Logout Link gecklickt wird, wird hier die Session gelöscht
    if ($action == "logout"){
        session_destroy(); 
        header("refresh:0;url=$pfad"); 
    } 
    
    $rang = $_SESSION['rang'];
    $pass = strip_tags($_POST['password']);
    
    # Wenn das Admin-Passwort falsch eingegeben wurde erscheint eine Fehlermeldung
    if (isset($_POST['submit']) && $pass != $passwort){
    echo "Falsches Passwort!";
    }
    
    # Wenn das Passwort richtig war, wird der Admin-Rang auf 1 gesetzt und die Session gestartet
    else if (isset($_POST['submit']) && $pass == $passwort){ 
        $_SESSION['rang'] = "1"; 
        header("refresh:0;url=$pfad"); 
    }
     
    include('header.php');
    
    if($rang !=1){ // login Formular anzeigen, wenn nicht eingeloggt
    ?>   
    <p>
    <form action="" method="post">
    <fieldset>
    <strong>Passwort:</strong>
    <input name="password" type="password" /> <input type="submit" name="submit" value="login" class="small" />
    </fieldset>
    </form>
    <?php
    }else{ // Wenn eingeloggt ...
    
    $id = mysql_real_escape_string($_GET['id']); 
    
        if ($action == "delete" && $rang == 1) { 
    	    $loeschen = mysql_query ("DELETE FROM gb WHERE id='$id'"); 
    	    echo "<p>Eintrag erfolgreich geloescht ...</p>";
    	} 
    	    
        if($action == "kommentieren") { 
           	if(isset($_POST['speichern'])){
           	
    	       	$kommentar = mysql_real_escape_string($_POST['msg']);
    	    
    	        # Und hier wird dann der Kommentar zu dem GB Eintrag in der DB gespeichert.
    	        $sql= "UPDATE gb SET kommentar = '$kommentar' WHERE id = '$id'"; 
    	        mysql_query($sql) or die ("Das Schreiben ist gescheitert!");  
    	        
     			echo "<meta http-equiv=\"refresh\" content=\"0; URL=admin.php\">";    // Weiterleitung  
     		}
    		
    		$abfrage = mysql_query("SELECT msg FROM gb WHERE id='$id'");  
    		$row = mysql_fetch_object($abfrage);
    		      
            echo "<h3>Eintrag Nr. ".$id." kommentieren</h3>";
            echo "<p>".stripslashes(nl2br(smileys($row->msg)))."</p>";
    ?>
    <p>
    <form id="form" name="form" method="post" action="">
    <fieldset>
    <label>Kommentar:</label>
    	<div style="float: right; width: 36px;"><a href="javascript:insert(':P','')"><img border="0" src="smileys/000.gif" width="15" height="14" /></a>
    	<a href="javascript:insert(':)','')"><img border="0" src="smileys/001.gif" width="15" height="14" /></a>
    	<a href="javascript:insert(';)','')"><img border="0" src="smileys/002.gif" width="15" height="14" /></a>
    	<a href="javascript:insert(':(','')"><img border="0" src="smileys/003.gif" width="15" height="14" /></a>
    	<a href="javascript:insert('*grr*','')"><img border="0" src="smileys/004.gif" width="15" height="14" /></a>
    	<a href="javascript:insert('0.o','')"><img border="0" src="smileys/005.gif" width="15" height="14" /></a>
    	<a href="javascript:insert('*_*','')"><img border="0" src="smileys/006.gif" width="15" height="14" /></a>
    	<a href="javascript:insert('._.','')"><img border="0" src="smileys/007.gif" width="15" height="14" /></a>
    	<a href="javascript:insert('-.-','')"><img border="0" src="smileys/008.gif" width="15" height="14" /></a>
    	<a href="javascript:insert(':D','')"><img border="0" src="smileys/009.gif" width="15" height="14" /></a></div>
        
        <textarea cols="55" rows="10" name="msg"></textarea><br />
    
        <input type="submit" value="speichern" title="Kommentar speichern" name="speichern" />
    </fieldset>
    </form>
    
    <?php 
    
    }else{ // Wenn nicht kommentieren
        
    
    #--- Datenbank auslesen und anzuzeigende Seiten festlegen ---# 
    
    $abfrage = mysql_query("SELECT id FROM gb"); // DB Abfrage -> Anzahl aller Eintraege feststellen 
    
    $total = mysql_num_rows($abfrage); // Anzahl aller Eintraege feststellen
    $seiten = ceil($total/$datensaetze_pro_seite);     // Berechnet die Seitenanzahl insgesamt 
    
    if(empty($_GET['seite'])){ // korrigieren der aktuellen Seite
    
        $go = 1;             // Sofern $go nicht uebergeben wurde
    
    }elseif($_GET['seite'] <= 0 || $_GET['seite'] > $seiten){
    
        $go = 1;         // Variable definieren
    
    }else{ // Wenn Obiges nicht zutraf
    
        $go = mysql_real_escape_string($_GET['seite']);     // Variable definieren
    }
    
    $links = array(); // Linkkette bilden
    
    // Seite die vor der aktuellen Seite kommt definieren
    if(($go - $p) < 1){ $davor = $go - 1;  }else { $davor = $p; }            
    
    // Seite die nach der aktuellen Seite kommt definieren
    if(($go + $p) > $seiten){ $danach = $seiten - $go; }else{ $danach = $p; }   
           
    $off = ($go - $davor); // Variable definieren   
                    
    if ($go- $davor > 1){ // Link definieren => Zur Erste Seite springen         
        $first = 1;
           $links[] = "<a href=\"$pfad?seite=$first\" title=\"Zur ersten Seite springen\">&laquo; Erste ...</a>\n";      
    }      
    
    if($go != 1){ // Link definieren => eine Seite zurueck blaettern          
        $prev = $go-1;
        $links[] = "<a href=\"$pfad?seite=$prev\" title=\"Eine Seite zurueck blaettern\">&laquo;</a>\n";     
    }   
           
           
    for($i = $off; $i <= ($go + $danach); $i++){ // einzelne Seitenlinks erzeugen
    
      if ($i != $go){  // Link definieren            
      
            $links[] = "<a href=\"$pfad?seite=$i\">$i</a>\n";
            
      }elseif($i == $seiten) { // aktuelle Seite, ein Link ist nicht erforderlich             
            
            $links[] = "<span class=\"current\">$i</span>\n";  
            
      }elseif($i == $go){ // aktuelle Seite, ein Link ist nicht erforderlich             
      
            $links[] = "<span class=\"current\">$i</span>\n";
            
      } // close if $i      
    }                
    
    if($go != $seiten){ // Link definieren => eine Seite weiter blaettern       
        $next = $go+1;
        $links[] = "<a href=\"$pfad?seite=$next\" title=\"Eine Seite weiter blaettern\">&raquo;</a>\n";
    }      
        
    if($seiten - $go - $p > 0 ){ // Link definieren => Zur letzen Seite springen   
        $last = $seiten; 
        $links[] = "<a href=\"$pfad?seite=$last\" title=\"Zur letzten Seite springen\">... Letzte &raquo;</a>\n";
    }      
    
    $start = ($go-1) * $datensaetze_pro_seite;             // Berechne den Startwert fuer die DB
    
    
    $link_string = implode(" ", $links); // Zusammenfuegen der einzelnen Links zu einem String 
    
    // Anzahl aller Eintraege ausgeben
    echo "<p>Es sind <strong>$total</strong> Eintr&auml;ge im G&auml;stebuch vorhanden</p>"; 
    
    echo "<p align=\"right\"><a href=\"".$pfad."?action=logout\">Logout</a></p>"; // Logout ausgeben
    
    // Daten aus DB holen
    $result = mysql_query("SELECT id, ip, name, hp, msg, date, time, kommentar FROM gb ORDER BY id DESC LIMIT $start,$datensaetze_pro_seite");
    while($row = mysql_fetch_object($result)){
    
    # Hier wird schadhafter Code und böse Zeichen ausgemustert
    
    $text = htmlspecialchars($row->msg, ENT_QUOTES); // HTML Zeichen umwandeln
    $text = wordwrap($text, 40, ' ', 1); 		 	// zu lange Woerter teilen
    $text = stripslashes(nl2br($text));			 				// Zeilenumbrueche umwandeln  
         
    #---------- Eintraege ausgeben -------------------------# 
    
    echo "<div class=\"post\">\n";
    echo "<div class=\"titel\">\n";
    
    if(!empty($row->hp)){ // sofern WEbsite angegeben
    	echo "<a target=\"blank\" href=\"".htmlspecialchars($row->hp)."\"> ".htmlspecialchars($row->name)." </a>";
    }else{
    	echo htmlspecialchars($row->name);
    }
    
    echo " schrieb am ".$row->date." um ".$row->time." Uhr\n";
    echo "</div>\n";
    
    echo "<p>".smileys($text)."</p>\n";
    
    	if($row->kommentar != "") { // Admin Kommentar ausgeben
    	    echo"<div class='kommentar'>Kommentar:<br /> \n 
    	    <span>".smileys(htmlspecialchars(stripslashes($row->kommentar)))."</span>\n </div>\n"; 
    	}
    
    echo "<br />IP: ".$row->ip." | <a href=\"".$pfad."?action=delete&amp;id=".$row->id."\">l&ouml;schen</a> |  
    	 <a href=\"".$pfad."?action=kommentieren&amp;id=".$row->id."\">kommentieren</a>"; 
    	
    echo "</div>\n <br />\n";
    }
    
    #--------------- ENDE AUSGABE ---------------# 
    
    // -------------------------------------- Seitennavigation ausgeben ----------------------------
     echo "<div id=\"navigation\">\n";
    
     echo "<span class=\"pages\">Seite $go von $seiten</span>\n";
    
     echo $link_string; // Ausgabe der Seitennavigation
        
     echo "</div> \n";
    // -------------------------------------- Seitennavigation ende -------------------------------- 
    
    } // close kommentieren
    
    } // close login
     
    
    # Datenbankverbindung schließen.
    mysql_close(); 
    
    include('footer.php'); // Footer einbinden
    
    ?>


    header.php

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Naomi Joy-Farrell</title>
    <meta name="robots" content="index,follow" />
    <meta name="language" content="de" />  
    <script type="text/javascript">
    
    // Smilies
    function insert(was) {
    document.form.msg.value += was + " ";
    document.form.msg.focus();
    } 
    
    </script>
    <style type="text/css">
    body {
        font: 100%/1.2 Verdana;
    	
    	font-size: 12px;
    	background: #929769;
    	margin: 0;
    	padding: 0;
    	color: #1f381a;
    	background-repeat: no-repeat;
    }
    
    .navibuttonbackground{
    display: block;
    font-family: Verdana;
    height: 17px;
    font-size: 12px;
    color: #49513b;
    background-image: url(http://img.webme.com/pic/n/neomii/kat_button05.jpg);
    font-weight: bold;
    text-align: center;
    background-repeat: no-repeat;
    }
    
    .ueberschrift{
    display: block;
    font-family: Verdana;
    height: 17px;
    font-size: 12px;
    color: #e7f1b8;
    background-image: url(http://img.webme.com/pic/n/neomii/ueberschrift_natbutus03.jpg);
    background-repeat: no-repeat;
    text-decoration: bold;
    text-align: center;
    }
    
    ul, ol, dl { 
    	padding: 0;
    	margin: 0;
    }
    h1, h2, h3, h4, h5, h6, p {
    	margin-top: 0;	 
    	padding-right: 15px;
    	padding-left: 15px; 
    }
    a img { 
    	border: none;
    }
    
    .guestbook{
    	width: 560px;
    	margin: 0 auto;
    }
    
    
    .post{
        border: 1px dotted #1f381a;
        background-image: url(http://img.webme.com/pic/n/neomii/bg_beitraege.jpg);
        padding: 5px;
        width: 95%;
    }
    
    .titel{ border-bottom: 1px dotted #1f381a; }
    
    .error{ font-weight: bold; color: #1f381a; }
    
    span{ font-style:italic; color: #1f381a; }
    
    a {
        color: #6d4109;
        text-decoration: none;
    }
    
    a:visited {
        color: #6d4109;
        text-decoration: none;
    }
    
    a:hover, a:active {
        color: #916a37;
        text-decoration: none;
    	border-bottom: 1px dotted #916a37;
    }
    
    .container {
    	width: 800px;
    	height: 850px;
    	background-image: url(http://img.webme.com/pic/n/neomii/natura_njf_003.jpg);
    	margin: 0 auto; 
    	border: 1px dotted #1f381a; 
    }
    
    
    .header {
    	height: 190px;
    }
    
    
    .sidebar1 {
    	float: left;
    	width: 150px;
    	padding-top: 10px;
    	padding-bottom: 10px;
    }
    .content {
    	padding: 10px 0;
    	width: 580px;
    	height: 615px;
    	float: left;
    	text-align: justify;
    	overflow: auto;
    	padding-top: 5px;
    	padding-bottom: 10px;
    	padding-left: 37px;
    	padding-right: 2px;
    	
    }
    .sidebar2 {
    	float: left;
    	width: 162px;
    	padding-top: 45px;
    	padding-bottom: 10px;
    	padding-left: 8px;
    }
    
    
    .content ul, .content ol { 
    	padding: 0 15px 15px 40px; 
    }
    
    
    ul.nav {
    	list-style: none; 
     
    }
    ul.nav li {
    	height: 15px;
    	weight: 162px;
    	background-image: url(http://img.webme.com/pic/n/neomii/bn_natbutus01.jpg);
    	border-bottom: 1px dotted #49513b; 
    }
    ul.nav a, ul.nav a:visited { 
        display: block; 
    	height: 15px;
    	width: 162px;  
    	text-decoration: none;
    	padding: 0px;
    	margin: 2px;
    	border-bottom: 1px dotted #49513b;
    	color: #e7f1b8;
    
    }
    ul.nav a:hover, ul.nav a:active, ul.nav a:focus { 
    	background-image: url(http://img.webme.com/pic/n/neomii/bh_natbutus02.jpg);
    	color: #c4d08e;
    	
    }
    
    
    .footer {
    
    	height: 25px;
    	position: relative;
    	clear: both; 
    }
    
    
    .fltrt {  
    	float: right;
    	margin-left: 8px;
    }
    .fltlft { 
    	float: left;
    	margin-right: 8px;
    }
    .clearfloat { 
    	clear:both;
    	height:0;
    	font-size: 1px;
    	line-height: 0px;
    }
    
    fieldset{
        border: 1px solid #1f381a;
        background-image: url(http://img.webme.com/pic/n/neomii/bg_beitraege.jpg);
        margin: 5px 0px 20px;
        padding: 10px;
        width: 95%;
    }
    
    input, textarea{
        font: normal 0.9em verdana, tahoma, 'sans-serif';
    	border: 1px solid #1f381a;
    	background: #F5F5F5;
    	margin: 0 0 2px;
    	padding: 2px;
    }
    
    input{
    	width: 220px;
    }
    
    	input.small{
    		width: 45px;
    	}
    
    
    #navigation a {
    	border: 1px dotted #1f381a;
    	background: #FFF;
    	margin: 0;
    	padding: 4px 7px;
    	font-weight: bold;
    	text-decoration: none;
    }
    
    #navigation a:visited {
    	font-weight: normal;
    	text-decoration: none;
    }
    
    #navigation a:hover, #navigation a:active {
    	border: 1px dotted #1f381a;
    	text-decoration: none;
    }
    
    .current {
    	border: 1px dotted #1f381a;
    	background-image: url(http://img.webme.com/pic/n/neomii/bg_beitraege.jpg);
    	padding: 4px 7px;
    	color: #1f381a;
    }
    
    .pages{
    	font-style: normal;
    	border: 1px dotted #1f381a;
    	background-images: url(http://img.webme.com/pic/n/neomii/bg_beitraege.jpg);
    	padding: 4px 7px;
    	float: right;
    	margin: -3px 0 0;
    } 
    </style>
    </head>
    <body>
    <p>
    <p>
    <div class="container">
      <div class="header"><center> 
        <!-- end .header --></center></div>
    
      <div class="content">
          <p class="ueberschrift">Gästebuch</p>
    
    <p>


    footer.php

    </div>
      <div class="sidebar2">
      <center>
      <ul class="nav">
      <li><a href="index.html">Home</a></li>
          <li><a href="news.html">Neuigkeiten</a></li>
          <li><a href="info.html">Info</a></li>
          <li><a href="zu_mir.html">Zu mir</a></li>
          <li><a href="banner.html">Banner</a></li>
          <li><a href="kontakt.html">Kontakt</a></li>
          <li><a href="gaestebuch.php">Gästebuch</a></li>
          <li><a href="links.html">Links</a></li><p>
          
        <li><img src="http://img.webme.com/pic/n/neomii/bg_dasbuch02.jpg"></li><p>
        <br>
        
          <li><a href="story.html">Buchtitel</a></li><br>
    
     <li><img src="http://img.webme.com/pic/n/neomii/bg_kreatives02.jpg"></li><p>
        <br>
    
          <li><a href="gedichte.html">Gedichte</a></li>
          <li><a href="diverses.html">Diverses</a></li>
    <p>
     <li><img src="http://img.webme.com/pic/n/neomii/bg_besucher02.jpg"></li><p>
        <br>
          </ul>
          <p>
         <p>
        <!-- end .sidebar2 --></center></div>
      <div class="footer">
      <center>
      <p>
        <!-- end .footer --></center></div>
      <!-- end .container --></div>
    </body>
    </html>


    Vielleicht findest du das Problem :/



  • AliceUser ist offline
    Admin


    Alice

    Registriert: 14.12.2006
    Beitraege: 1059

    03.02.2013 um 16:51 Uhr

    schmunzel, du hast das Ganze ja jetzt geaendert, als ich vorhin meinen Testeintrag verfasst hatte,
    sah das Ganze noch etwas anders aus ...

    Der Fehler ist weg, stimmt ...

    Die Daten, wie Name usw. deiner vorherigen GB-Eintraege, welche nicht angezeigt werden,
    sind auch wirklich in der DB hinterlegt, nicht dass da nur leere Felder sind und da dann was beim Eintragen schon nicht geklappt hatte?

    Wo soll denn der Admin-Link hin?



    ... { signatur } ...
  • neomiiUser ist offline
    Beginner


    neomii

    Registriert: 03.02.2013
    Beitraege: 48

    03.02.2013 um 16:56 Uhr

    Ja, ich wechsle immer öfters die Dateien aus, weil ich manche Dinge einfach zuerst ausprobieren muss und dann kommt es oft vor, dass jemand genau dann draufschaut, wenn die Dateien entweder noch nicht wieder auf dem FTP gelandet sind oder ein Test nicht funktioniert hat :)

    Moment mal ... beim Überprüfen der DB ist mir was aufgefallen: Kann es sein, dass Beiträge nicht richtig angezeigt werden, wenn man eine ungültige E-Mail-Adresse angibt? Da das ja ein Pflichtfeld ist ... *grübel*
    Dann wäre das dasselbe Problem wie bei der Registrierung, dass ich Dummerchen mich vertippt habe *.*

    Edit: Den Admin-Link hätte ich gern, wie in den Screenshots am Ende der Beiträge :)



    Der Beitrag wurde insgesamt 1 mal editiert, zuletzt 03.02.2013 um 16:58 Uhr ...
  • AliceUser ist offline
    Admin


    Alice

    Registriert: 14.12.2006
    Beitraege: 1059

    03.02.2013 um 17:06 Uhr

    Wie sieht denn der Inhalt der einzelnen Felder der von dir getaetigen GB-Eintrage in der DB aus?

    Wenn keine gueltige Email adresse angegeben wurde, dann sollte das eigentlich keine Rolle spielen,
    da steht zwar dran, dass die Emailadresse ein Pflichtfeld waere, ueberprueft wird allerdings nur,
    ob ein Name und die Nachricht angegeben wurde und die Rechenaufgabe korrekt geloest wurde.

    Wenn du willst, dass die EmailAdresse auch wirklich ein Pflichtfeld ist, musst du folgendes in der gb.php noch aendern:

    if ($name != "" && $msg != "" && $spam == "7") {


    ersetzten durch ...

    if ($name != "" && $msg != "" && $email != "" && $spam == "7") {



    ... { signatur } ...

[ 1 ] 2 » ... Letzte » Seite 1 von 2


Affiliates:   Pat DG  •   Chibi Graphics  •   Design Grafixx  •   Colorful Gfx  •   The Seduction  •   Blue-Graphics  •   Gallery Yuri  • Show all ...
designenlassen.de - Der Design-Marktplatz für Webdesign, Logo-Design, Flyerdesign u.v.m.        ALL-INKL.COM - Webhosting Server Hosting Domain Provider