
Tutorial
PHP
Administartion
Gaestebuch
Script
Loading...
Tutorial
PHP
Administartion
Gaestebuch
Script
<?php session_start(); // ---------------------------- # Konfiguration # ----------------------------------------------------- $db_host = "localhost"; # Der Datenbank-Host $db_user = " "; # Der Datenbank-Benutzer $db_password = " "; # Das Passwort fr die Datenbank $db_name = " "; # 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 = "123"; # Das Passwort fr den Admin $mailinfo = "ja"; # email bei Eintrag ? ja oder nein $webmaster = "email@adresse.de"; # wenn bei mailinfo ja steht, dann hier eure email Adresse eintragen $datum = date("d.m.Y"); # Das aktuelle Datum fr den Eintrag wird hier erstellt $zeit = date("H:i"); # Die aktuelle Zeit fr den Eintrag wird hier erstellt // ---------------------------------------------------------------------------------------------------- $action = isset($_GET['action']) ? ($_GET['action']) : ""; // ------------------------------ Admin-Bereich ------------------------------------------ // # Wenn auf den Logout Link gecklickt wird, wird hier die Session gelscht if ($action == "logout"){ session_destroy(); header("refresh:0;url=gb.php"); } $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=gb.php"); } # --------- Lsch-Funktion ----------- # if ($action == "delete" && $rang == 1) { $id = $_GET['id']; $loeschen = "DELETE FROM gb WHERE id=$id"; mysql_query ($loeschen) or die ("Konnte nicht geloescht werden!!!"); header ("Location: gb.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>Gstebuch</title> <meta name="robots" content="index,follow" /> <meta name="language" content="de" /> <style type="text/css"> body { font: normal 0.8em verdana, tahoma, 'sans-serif'; color: #000; background-color: #EFEFEF; } .post{ border: 1px solid #808080; background-color: #FFF; padding: 5px; width: 75%; } .titel{ border-bottom: 1px solid #EFEFEF; } .error{ font-weight: bold; color: #A61212; } span{ font-style:italic; color: #395B7D; } a { color: #49565E; font-weight: bold; text-decoration: none; } a:visited { color: #63909C; text-decoration: none; } a:hover, a:active { color: #7EB1C0; text-decoration: none; } </style> </head> <body> <?php # Wenn auf den Admin-Link gecklickt wird, wird hier das Login-Feld erzeugt if ($action == "gbadmin"){?> <strong>Passwort:</strong> <form action="" method="post"> <input name="password" type="password" /> <input type="submit" name="submit" value="login" /> </form> <?php } # Hier wird abgefragt, ob rang=1 ist. Wenn ja, wird hier die Kommentierfunktion fr den Eintrag aufgerufen if($rang==1) { $id = strip_tags($_GET['id']); if($action == "kommentieren") { echo "<h3>Eintrag Nr. $id kommentieren</h3>"; echo "<form name='kommentar' method='post' action='gb.php?action=speichern&id=$id'> <textarea cols='55' rows='10' name='kommentar'></textarea><br /> <input type='submit' value='speichern' title='Kommentar speichern' name='komment' /> </form>"; } if($action == "speichern") { $kommentar = mysql_real_escape_string($_POST['kommentar']); # 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!"); } } ?> <div align="left"> <a href="gb.php?action=reintragen">Ins Gstebuch eintragen</a> <?php if($rang==1) { echo '<a href="gb.php?action=logout">Logout</a>'; } ?> </div> <br /> <? # Wenn der Link zum Eintragen ins GB geklickt wird, wird das Formular zum eintragen angezeigt if($action == "reintragen") { if (isset($_POST['los'])){ # wenn auf Abschicken geklickt wurde #--- Eingaben prfen 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 == "blau") { # Wenn Feld Homepage leer, dann schreiben: www.keine-angegeben.de if ($hp == "") { $hp = "http://www.keine-angegeben.de"; } # Hier wird geprft 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 hinzufgen $hp = "http://$hp"; } $ip = $_SERVER['REMOTE_ADDR']; # IP-Adresse ermitteln $msg = trim($msg); $msg = preg_replace('/(\s{4})\s+/', '', $msg); $msg = preg_replace('~(.)(){4,}~', '', $msg); $name = preg_replace('/(\s{4})\s+/', '', $name); $name = preg_replace('~(.)(){4,}~', '', $name); # --- Und hier speichern wir in die Datenbank --- # $schreiben = "INSERT INTO gb (id, name, email, hp, msg, ip, date, time) VALUES ('', '$name', '$email', '$hp', '$msg', '$ip', '$datum', '$zeit')"; $results= mysql_query ($schreiben) or die ("Das Schreiben ist gescheitert!"); if ($results){ # Wenn oben bei mailinfo ja gewhlt wurde, wird nach dem speichern eine email geschickt! if ($mailinfo == "ja"){ # Betreffzeile fr die EMail $betreff = "GB Eintrag"; # Name und Nachricht des Eintrages fr 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"); } $go= 1; echo 'Vielen Dank fuer Ihren Eintrag ...'; }else{ echo 'Fehler beim Eintragen...';} }else{ # wenn nicht alle Pflichtfelder ausgefuellt wurden echo '<p class="error">Bitte alle mit * gekennzeichneten Felder ausfüllen!</p>'; } } // close submit if ($go!= 1){ ?> <form action="" method="post" id="eingabe"> <input type="text" name="name" size="20" /> <label for="name">Name</label>* <br /> <input type="text" name="email" size="20" /> <label for="email">E-Mail</label> *<br /> <input type="text" name="hp" size="20" /> <label for="website">Homepage</label><br /> <textarea cols="55" rows="10" value="msg" name="msg"></textarea> <p>Spamschutzfrage *<br /> <b>Welche Farbe haben Schlümpfe?</b> Antwort: <input size="4" name="spam" type="text" /> </p> <input type="submit" value="Abschicken" title="Eintrag machen" name="los" /> <input type="reset" title="Felder leeren" value="Zuruecksetzen" name="stop" /></td> <br /> <p> mit * gekennzeichnete Felder müssen ausgefüllt werden</p> <br /> <br /></form> <?php } } // close reintragen #--- Datenbank auslesen und anzuzeigende Seiten festlegen ---# $proseite = 3; // Wieviele Eintrge pro Seite anzeigen? if(!isset($_REQUEST["seite"])) { $seite = 0; } else { $seite = $_REQUEST["seite"]; } $count = 0; $abfrage = "SELECT id FROM gb"; $ergebnis = mysql_query($abfrage); while($row = mysql_fetch_object($ergebnis)) { if($count%$proseite == 0) { $aktuelleseite = $count/$proseite+1; if($count == $seite) { echo $aktuelleseite." "; } else { echo "<a href='gb.php?seite=$count'>".$aktuelleseite."</a> "; } } $count++; } echo '<br /><br />'; $result = mysql_query("SELECT * FROM gb ORDER by id DESC LIMIT $seite,$proseite"); while ($zeile = mysql_fetch_array($result)) { #----------Ausgabe des GB darstellen-------------------------# # Hier wird schadhafter Code und bse Zeichen ausgemustert $zeile[1] = htmlspecialchars($zeile[1], ENT_QUOTES); $zeile[5] = htmlspecialchars($zeile[5], ENT_QUOTES); $zeile[3] = htmlspecialchars($zeile[3], ENT_QUOTES); $zeile[5] = wordwrap($zeile[5], 40, ' ', 1); $zeile[5] = nl2br($zeile[5]); ?> <div class="post"> <div class="titel"> <?php echo $zeile[0] ?> - <a target="blank" href="<?php echo $zeile[4] ?>"><?php echo $zeile[1] ?></a> schrieb am <?php echo $zeile[6] ?> um <?php echo $zeile[7] ?> Uhr <?php if($rang==1) { // Nur anzeigen fuer Admin echo "IP: $zeile[2] | <a href='gb.php?action=delete&id=$zeile[0]'>löschen</a> | <a href='gb.php?action=kommentieren&id=$zeile[0]'>kommentieren</a>" ; } ?> </div> <p><?php echo $zeile[5] ?></p> <?php if($zeile[8] != "") { echo"<div class='kommentar'>Kommentar:<br /> \n <span>$zeile[8]</span>\n </div>\n"; }?> </div> <br /> <?php } #--------------- ENDE AUSGABE ---------------# #------- Beitrge zhlen die in der Datenbank gespeichert wurden -------# $count_msgs = 0; $l = "SELECT id FROM gb ORDER BY id DESC"; $dbr = mysql_query ($l); while ($t = mysql_fetch_array ($dbr)) { $count_msgs++; } echo "<br />Es sind <strong>$count_msgs</strong> Beiträge im Gästebuch vorhanden"; # Datenbankverbindung schlieen. mysql_close(); ?> <br /><br /> <a href="gb.php?action=gbadmin">Admin</a> </body> </html>
Du musst angemeldet sein, um einen Kommentar zu hinterlassen...
Du bist noch kein Mitglied von Alice-Grafixx.de?
Dann kannst du dich hier kostenlos registrieren ...