• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Vorschau des Gästebuchs auf der Startseite

Seppeli

Neues Mitglied
Abend Zusammen,
und zwar, ich würde gerne auf meiner HP auf der Startseite eine Art Vorschau von meinem Gästebuch einbauen. Also das in der Sidebar die letzten zwei oder drei Einträge angezeigt werden.
Ist das möglich? Falls ja, wie? Hoffe, ihr könnt mir helfen.
Allen einen schönen Abend,
grüße Seppeli
 
Hallo Seppeli,

ob und wie das möglich ist, hängt ganz davon ab, wie dein Gästebuch umgesetzt ist. Handelt es sich um eine Eigenentwicklung, ein fertiges Script, ein System, ein extern eingebundenes Programm, etc.? Wir benötigen mehr Informationen, um dir helfen zu können.
 
Wie sind die Einträge gespeichert? In Dateien, SQL? Theoretisch müsstest du den Ausgabe-Code nur an anderer Stelle in der Website einfügen und die Zahl der Einträge auf drei beschränken. Wie das geht, hängt von deiner Eigenentwicklung ab (-> mehr Infos).

Edit: P.S. Speichere deine Dateien als UTF-8 ohne BOM. So vermeidest du das  zu Beginn der Seite.
 
Ich hab eine neue Tabelle in meiner SQL-Datenbank erstellt und da wird das abgespeichert. Ich füge mal die die Codes vom Gästebuch an, sind ja nur drei.

HTML:
<html"><head>	<title>gaestebuch</title>	<link rel="stylesheet" type="text/css" href="../css/designgaestebuch.css"/></head>
<body>	<h1> Mein G&auml;stebuch</h1>    <fieldset>    	<legend> Neuer Eintrag</legend>        <form action="senden.php" method="post">        Dein Name:<br /><input type="text" name="name" /><br /><br />        Dein Mail:<br /><input type="text" name="mail" /><br /><br />        Dein Text:<br /><textarea id="area" name="nachricht"> </textarea>        <br /><br />        <input type="submit" value="Eintragen">       </form>       <p><a href="index.php">Zur&uuml;ck></a></p>    </fieldset></body></html>

Code:
<html><head>
	<title>Gaestebuch</title>
    <link rel="stylesheet" type="text/css" href="/css/designgaestebuch.css" />
</head>
<body>
	<h1> Mein G&auml;stebuch</h1>
	<fieldset>
    	<legend> Neuer Eintrag</legend>
        <a href="/gaestebuch/schreiben.html"> Neuen Eintrag schreiben</a>
        </fieldset>
		<fieldset>
        	<legend>G&auml;stebuch</legend>
            <?php
			$verbindung = mysql_connect("localhost", "name", "passwort")
				or die ("Fehler im System");
				
				mysql_select_db("name")
				or die ("Verbindung mit Datenbank nicht möglich");
				
				$pagesuche = 0;
				$url = $_SERVER["REQUEST_URI"]	;
				$pagesuche = strpos($url, "?page=");
				
			
			if($pagesuche == "") {
				$page = 1;
			} else {
				$page = $_GET["page"];
			}
			
			$wo = ($page * 5) - 5;
			$wo++;
			
			$zahl = 1;
			$pos = 1;
				
				$abfrage = "SELECT id FROM gaestebuch ORDER BY id DESC";
				$ergebnis = mysql_query($abfrage);
				while($row = mysql_fetch_object($ergebnis))
				{
						if($zahl == $wo) {
							$pos = $row->id;
						}
						$zahl++;
				}
				
			$abfrage = "SELECT id FROM gaestebuch WHERE id <= '$pos' ORDER BY id DESC LIMIT 5";
				$ergebnis = mysql_query($abfrage);
				while($row = mysql_fetch_object($ergebnis))
				{
						if($zahl == $wo) {
						$pos = $row->id;
					}
					$zahl++;
				}
			
			
			$abfrage = "SELECT * FROM gaestebuch WHERE id <= '$pos' ORDER BY id DESC LIMIT 5";
			$ergebnis = mysql_query($abfrage)
			or die("Error: $abfrage <br>".mysql_error());
			while($row = mysql_fetch_object($ergebnis))
				{
				?>
					<h3><?php echo $row->name; ?>&nbsp;<small style="color:grey;">schrieb:</small></h3>
					<p>
					<?php echo $row->nachricht; ?>
					</p>
					<h5 style="color:grey;"><?php echo $row->datum; ?></h5>
					<hr />				
				<?php
				}
		?>
	</fieldset>
	<fieldset>
		<legend>Navigation</legend>
		<?php
			if($page > 1) {
			?>
			<a href="index.php?page=<?php echo ($page - 1); ?>">Zur&uuml;ck</a>
			<?php
			}
			
			$anzahlseite = ceil($zahl / 5);
			$weiterfrage = $anzahlseite - $page;
			
			if($weiterfrage > 0) {
			?>
			<a href="index.php?page=<?php echo ($page + 1); ?>">Weiter</a>
			<?php
            }
				
				mysql_close($verbindung);
			?>
        </fieldset>
</body>
</html>

Code:
<html><head>
<title>Gaestebuch - Senden</title>
<link rel="stylesheet" type="text/css" href="/css/designgaestebuch.css"/>
</head>


<body>
	<h1> Mein G&auml;stebuch - Senden</h1>
    <?php
		$name = $_POST["name"];
		$mail = $_POST["mail"];
		$nachricht = $_POST["nachricht"];
		
		if($name == "" or $mail == "" or $nachricht == "") {
			echo "Bitte Felder ausf&uuml;llen";	
			} else { 
				$verbindung = mysql_connect("localhost", "name", "passwort")
				or die ("Fehler im System");
				
				mysql_select_db("name")
				or die ("Verbindung mit Datenbank nicht möglich");
				
				$id = 0;
				$abfrage = "SELECT id FROM gaestebuch ORDER BY id DESC LIMIT 1";
				$ergebnis = mysql_query($abfrage);
					
				while($row = mysql_fetch_object($ergebnis))
				{
					$id = $row->id;
					
				}
				
				$id ++;
				
				$timestamp = time();
				$datum = date("d.m.Y", $timestamp);
				
				$nachricht = str_replace("ä", "&auml;", $nachricht);
				$nachricht = str_replace("Ä", "&Auml;", $nachricht);
				$nachricht = str_replace("ö", "&ouml;", $nachricht);
				$nachricht = str_replace("Ö", "&Ouml;", $nachricht);
				$nachricht = str_replace("ü", "&uuml;", $nachricht);
				$nachricht = str_replace("Ü", "&Uuml;", $nachricht);
				$nachricht = str_replace("ß", "&szlig;", $nachricht);
				$nachricht = str_replace("<", "&nsp;", $nachricht);
				$nachricht = str_replace(">", "&nbsp;", $nachricht);
				$nachricht = str_replace("\r\n", "<br />;", $nachricht);
				
				$name = str_replace("ä", "&auml;", $name);
				$name = str_replace("Ä", "&Auml;", $name);
				$name = str_replace("ö", "&ouml;", $name);
				$name = str_replace("Ö", "&Ouml;", $name);
				$name = str_replace("ü", "&uuml;", $name);
				$name = str_replace("Ü", "&Uuml;", $name);
				$name = str_replace("ß", "&szlig;", $name);
				$name = str_replace("<", "&nsp;", $name);
				$name = str_replace(">", "&nbsp;", $name);
				
				$eintrag = "INSERT INTO gaestebuch
				(id, name, mail, nachricht, datum)
				
				VALUES
				('$id', '$name', '$mail', '$nachricht', '$datum')";
				
				$eintragen = mysql_query($eintrag);
				
				if($eintragen = true) {
					?>
                    <p> Vielen Dank. Ihr Eintrag wurde gespeichert</p>
                    <p><a href="index.php">Zur&uuml;ck</a></p>
                    <?php
					
				} else {
					echo "Fehler im System. Eintrag konnte nicht gespeichert werden. Bitte versuchen Sie es sp&auml;ter erneut.";
				}
				
				
				mysql_close($verbindung);
			
			
			}
		
	
	?>
</body>
</html>
 
Du müsstest
PHP:
            <?php
			$verbindung = mysql_connect("localhost", "name", "passwort")
				or die ("Fehler im System");
				
				mysql_select_db("name")
				or die ("Verbindung mit Datenbank nicht möglich");
				
				$pagesuche = 0;
				$url = $_SERVER["REQUEST_URI"]	;
				$pagesuche = strpos($url, "?page=");
				
			
			if($pagesuche == "") {
				$page = 1;
			} else {
				$page = $_GET["page"];
			}
			
			$wo = ($page * 5) - 5;
			$wo++;
			
			$zahl = 1;
			$pos = 1;
				
				$abfrage = "SELECT id FROM gaestebuch ORDER BY id DESC LIMIT 0, 3";
				$ergebnis = mysql_query($abfrage);
				while($row = mysql_fetch_object($ergebnis))
				{
						if($zahl == $wo) {
							$pos = $row->id;
						}
						$zahl++;
				}
				
			$abfrage = "SELECT id FROM gaestebuch WHERE id <= '$pos' ORDER BY id DESC LIMIT 0, 3";
				$ergebnis = mysql_query($abfrage);
				while($row = mysql_fetch_object($ergebnis))
				{
						if($zahl == $wo) {
						$pos = $row->id;
					}
					$zahl++;
				}
			
			
			$abfrage = "SELECT * FROM gaestebuch WHERE id <= '$pos' ORDER BY id DESC LIMIT 0, 3";
			$ergebnis = mysql_query($abfrage)
			or die("Error: $abfrage <br>".mysql_error());
			while($row = mysql_fetch_object($ergebnis))
				{
				?>
					<h3><?php echo $row->name; ?>&nbsp;<small style="color:grey;">schrieb:</small></h3>
					<p>
					<?php echo $row->nachricht; ?>
					</p>
					<h5 style="color:grey;"><?php echo $row->datum; ?></h5>
					<hr />				
				<?php
				}
		?>

einfach an anderer Stelle in der Website einfügen können. Beachte das LIMIT, das ich am Ende des SELECT-Queries angehängt habe. Es lädt nur drei Einträge.
 
Zuletzt bearbeitet:
Schon mal vielen vielen Dank. Das hat mich ein riesen Stück weitergebracht. Allerdings kommt noch ein Fehler, bzw. wird nicht richtig dargestellt. Wenn ich den Code in meine Seite einfüge, passiert folgendes Unbenannt.JPG in meinem HTML-Programm wird aber der Stelle auch alles nicht mehr mit entsprechenden Farben gekennzeichnet, sondern nur noch Schwarzschrift. Wenn du mir jetzt noch sagen kannst woran das liegt, hast du meinen Abend gerettet.
 
Ist die Datei, in die du den Code eingefügt hast, eine PHP-Datei?

Btw.: Mir fällt erst jetzt auf, dass du drei Mal ein ähnliches SELECT auf die Tabelle 'gaestebuch' ausführst. Das ist Schwachsinn. Da gibt es mit Sicherheit eine schönere Lösung.
 
Nein, das sollte in eine HTML Seite eingebunden werden. Geht es dann nicht? Also weil meine Seite hauptsächlich mit .html seiten aufgebaut ist, da mir in PHP noch das nötige Wissen fehlt. Das Gästebuch hab ich auch nur mit Hilfe geschrieben.

Ist es denn schlimm mit dem dreifachen SELECT, oder ist das nur ein Schönheitsaspekt?
 
Alles klar, vielen Dank nochmal. Ich werde jetzt mal ein bisschen rumprobieren müssen, bis alles klappt. Danke für die Hilfe und einen schönen Abend noch.

Es klappt. Danke für die Rettung des Abends.
 
Zuletzt bearbeitet:
Zurück
Oben