
PHP
MySQL
Loading...
CREATE TABLE IF NOT EXISTS `askme` ( `id` int(11) NOT NULL AUTO_INCREMENT, `frage` text NOT NULL, `antwort` text NOT NULL, `f_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `a_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `status` enum('B','U') NOT NULL DEFAULT 'U', `ip` varchar(255) NOT NULL DEFAULT '', PRIMARY KEY (`id`) );
<?php // config.inc.php //--------------------------- $host = "localhost"; // Adresse des Datenbankservers, fast immer localhost $user = ""; // Dein MySQL Benutzername $pass = ""; // Dein MySQL Passwort $dbase = ""; // Name der Datenbank //--------------------------- $connection = mysql_connect("$host","$user","$pass") OR DIE ("Keine Verbindung zu der Datenbank moeglich."); $db = mysql_select_db($dbase , $connection) OR DIE ("Auswahl der Datenbank nicht moeglich."); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de"> <head> <title>Grafixx - Askme</title> <meta http-equiv="Content-Language" content="de" /> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <meta http-equiv="imagetoolbar" content="no" /> <link rel="stylesheet" type="text/css" href="style.css" /> </head> <body> <div id="ram"> <h1 id="header">Grafixx - Askme</h1> <br /> <?php include('config.inc.php'); // DB-Verbindung einbinden include('function.php'); // Funktion einbinden $pfad = $_SERVER['PHP_SELF']; // generiert aktueller Pfad zur Datei //------------------------------------------------------------------------ echo"<h1>Frag mich ...</h1>"; // ALLE fragen zaehlen $alle = "SELECT id FROM askme"; $result_a= mysql_query($alle, $connection) or die (mysql_error()); $total = mysql_num_rows($result_a); // ALLE unbeantworteten fragen zaehlen $unbe = mysql_query("SELECT id, frage, ip FROM askme WHERE status='U'"); $unbeantwortet = mysql_num_rows($unbe); // ---------------------------------- Fragen auslesen -------------------------------------------- $show = "id, DATE_FORMAT(f_date, '%d.%m.%Y') AS f_datum, DATE_FORMAT(a_date, '%d.%m.%Y') AS a_datum, frage, antwort"; $result = mysql_query("SELECT $show FROM askme WHERE status='B'"); // DB Abfrage aller Eintrage mit status = B $beantwortete = mysql_num_rows($result); // Anzahl der beantworteten Fragen if ($total == '1'){ echo "<p>Es wurde bisher <strong> $total</strong> Frage gestellt"; }else{ echo "<p>Es wurden bisher <strong> $total</strong> Fragen gestellt"; } if($unbeantwortet == '1'){ echo ", <br /><strong> $unbeantwortet </strong> Frage davon ist noch unbeantwortet ...</p>"; }else{ echo ", <br /><strong> $unbeantwortet </strong> Fragen davon sind noch unbeantwortete ...</p>"; } // ------------------- Formular zum Fragen einbinden ----------------------------------------------- include('ask.php'); // ------------------------------------------------------------------------------------------------- echo "<h1>Frage & Antwort ...</h1><br />"; // Headline ausgeben // ---------------------- Seitennavigationsdaten -------------------------------------------------- $links_per_page = "5"; // Anzahl der Links die Pro Seite angezeigt werden sollen $p = "5"; // Anzahl der Links die in der Seitenavigation ausgegeben werden include('navigation.php'); // Seitennavigation einbinden // ---------------------- ENDE Seitennavigationsdaten---------------------------------------------- // Pruefen ob Fragen vorhanden if(!$result || mysql_num_rows($result)<1) { echo "<p>Es sind bisher noch keine Fragen vorhanden ...</p>\n"; } else { // Datenbank-Abfrage ----------------------------------------------- $abfrage = mysql_query("SELECT $show FROM askme WHERE status='B' ORDER BY id DESC LIMIT $start,$links_per_page"); while ($row=mysql_fetch_array($abfrage)) { // Ausgabe der Fragen ... extract($row); echo "<div class=\"line\">\n"; echo "<strong>Frage:</strong><br />"; echo $frage; // Frage ausgeben echo "<br /><br />"; echo "<strong>Antwort:</strong><br />"; echo $antwort; // Antwort ausgeben echo "<div align=\"right\">"; echo "Gestellt am <strong>".$f_datum."</strong> | Beantwortet am <strong> ".$a_datum."</strong></div>\n"; echo "</div>\n <br />\n "; } // close while } // close nix vorhanden echo "<div id=\"navigation\">\n"; echo "<span class=\"pages\">Seite $go von $pages</span>\n"; echo $link_string; // Ausgabe der Seitennavigation echo "</div> \n"; ?> <h3>Grafixx - Askme <a href="http://alice-grafixx.de">Alice-Grafixx.de</a> <?php echo date('Y'); ?> | <a href="login.php">Login</a></h3> </div> </body> </html>
<?php // ask.php // ---------------------------------- Wenn LOS gedrueckt -------------------------------------------- if (isset($_POST['go'])){ // sofern submit gedrueckt $ask = clean_it($_POST['frage']); // Uebergebene Daten bereinigen if (empty($_POST['frage'])) { echo "<div class=\"tut\"><h1>Error ...</h1>\n"; echo "<p>Wenn du keine Frage stellst, kann ich dir auch nicht antworten ...</p></div>\n"; }else{ $visitorip = $_SERVER['REMOTE_ADDR']; // ip auslesen // pruefen ob IP schon eine Frage gestellt hat in den letzen 5 Minuten $check_ip = mysql_query("SELECT id FROM askme WHERE f_date > DATE_SUB(NOW(), INTERVAL 5 MINUTE) AND ip = '$visitorip'"); if(mysql_num_rows($check_ip) == 0){ // Wenn mit der IP noch keine Frage gestellt wurde // Datenbankeintrag $eintragen = mysql_query("INSERT INTO askme (id, ip, frage, f_date) VALUES ('','$visitorip','$ask',now())"); // Wenn Frage erfolgreich in DB eingetragen if ($eintragen){ echo "<div class=\"error\"><h2>Wunderbar ...</h2>\n"; echo "<p>Die Frage wurde erfolgreich eingereicht ... </p></div>\n"; }else{ // Wenn nicht erfolgreich in DB eingetragen echo "Da lief was schief ...\n"; } }else{ // Fehler ausgeben, wenn schon gefragt echo "<div class=\"error\"><h1>Error ...</h1>\n"; echo "<p>Du hast schon ein Frage in den letzten 5 Minuten gestellt ...<br /><br />\n"; echo "Bitte versuch es spaeter nochmal ;)<br /></p>\n </div>\n"; } // close Fehlerausgeben }// close empty }// close isset submit if(!$eintrag){ //-------------------------------------------------------------- Formular um Frage zu stellen ?> <form method="post" action=""> <p>Frag auch du mich etwas ... <br /> <input type="text" name="frage" size="50"/> <input type="submit" value="Los!" name="go" /></p> </form> <?php } // close eintrag ?>
<?php //login.php session_start(); // startet die Session //---------------------- Logindate --------------------------------- // $grafixx_name = "USERNAME"; // Loginname angeben $grafixx_pass = "PASSWORT"; // Loginpasswort angeben //------------------------------------------------------------------ // ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de"> <head> <title>Grafixx - Askme || Adminpanel</title> <meta http-equiv="Content-Language" content="de" /> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <meta http-equiv="imagetoolbar" content="no" /> <link rel="stylesheet" type="text/css" href="style.css" /> </head> <body> <div id="ram"> <h1 id="header">Grafixx - Askme</h1> <br /> <?php if(isset($_POST['admin_login'])) { // sofern submit gedrueckt $login_name = strip_tags($_POST['admin_name']); // Variable definieren $login_pass = strip_tags($_POST['admin_pass']); // Variable definieren if(empty($login_name)) { $message .= 'Bitte geben Sie ihren Usernamen ein ... <br />'; $error = "1"; } if(empty($login_pass)) { $message .= 'Bitte geben Sie ihr Passwort ein ... <br />'; $error = "1"; } if($login_name != $grafixx_name OR $login_pass != $grafixx_pass){ $message .= 'Zugriff verweigert ... <br />'; $error = "1"; } if($error != "1"){ // session handle----------------------------- $_SESSION['login'] = $_SERVER['REMOTE_ADDR']; echo "<meta http-equiv=\"refresh\" content=\"0; URL=admin.php\">"; } if($error == "1"){ echo "<h1>Error ...</h1>\n <p>$message</p>"; } } // close isset [admin_login] ?> <form action="" method="post"> <fieldset style="width: 300px"> <legend>Login</legend> <label for="user">Username: </label> <input type="text" name="admin_name" style="width: 250px" /> <label for="passwort">Passwort: </label> <input type="password" name="admin_pass" style="width: 250px" /> <br /><br /> <input type="submit" value=" Login " name="admin_login" /> </fieldset> </form> <h3>Grafixx - Askme <a href="http://alice-grafixx.de">Alice-Grafixx.de</a> <?php echo date('Y'); ?></h3> </div> </body> </html>
<?php // admin.php include('login_check.php'); // Login-Check einbinden include('config.inc.php'); // DB-Verbindung einbinden include('function.php'); // Funktion einbinden ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de"> <head> <title>Grafixx - Askme</title> <meta http-equiv="Content-Language" content="de" /> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <meta http-equiv="imagetoolbar" content="no" /> <link rel="stylesheet" type="text/css" href="style.css" /> </head> <body> <div id="ram"> <h1 id="header">Grafixx - Askme</h1> <br /> <?php // ----------------------------------------------------------------------------------- // Auflisten alle unbeantworteten Fragen // ----------------------------------------------------------------------------------- $result = mysql_query("SELECT id, frage FROM askme WHERE status ='U'"); // ---------------------- Seitennavigationsdaten -------------------------------------------------- $links_per_page = "5"; // Anzahl der Links die Pro Seite angezeigt werden sollen $p = "5"; // Anzahl der Links die in der Seitenavigation ausgegeben werden include('navigation.php'); // Seitennavigation einbinden // ---------------------- ENDE Seitennavigationsdaten---------------------------------------------- echo "<h1>Unbeantwortete Fragen</h1>"; if($total_records < 1){ // Pruefen ob Fragen beantwortet werden muessen echo "<p>Zur Zeit existieren keine unbeantworteten Fragen ...</p>"; }else{ $abfrage = mysql_query("SELECT id, frage FROM askme WHERE status ='U' ORDER BY id DESC LIMIT $start,$links_per_page"); while ($row=mysql_fetch_array($abfrage)) { // Ausgabe der Fragen ... extract($row); echo "<div class=\"line\">\n"; echo "<strong>Frage:</strong><br />"; echo $frage; // Frage ausgeben echo "</div>\n <br />\n "; echo "<div align=\"right\">\n <a href=\"answer.php?id=$id\">[ beantworten ]</a> <a href=\"delete.php?id=$id\" >[ loeschen ]</a></div>\n"; } // close while // ---------------------- Seitennavigation ausgeben ------------------------------------------ echo "<div id=\"navigation\">\n"; echo "<span class=\"pages\">Seite $go von $pages</span>\n"; echo $link_string; // Ausgabe der Seitennavigation echo "</div> \n"; } // close fragen vorhanden echo "<h3>Grafixx - Askme <a href=\"http://alice-grafixx.de\">Alice-Grafixx.de</a> ".date('Y')." | "; if(isset($_SESSION['login'])){ // Admin Logout echo "<a href=\"logout.php\">logout</a>"; } ?> </h3> </div> </body> </html>
<?php // answer.php include('login_check.php'); // Login-Check einbinden include('config.inc.php'); // DB-Verbindung einbinden include('function.php'); // Funktion einbinden ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de"> <head> <title>Grafixx - Askme</title> <meta http-equiv="Content-Language" content="de" /> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <meta http-equiv="imagetoolbar" content="no" /> <link rel="stylesheet" type="text/css" href="style.css" /> </head> <body> <div id="ram"> <h1 id="header">Grafixx - Askme</h1> <br /> <?php $id = clean_it($_GET['id']); // Variable definieren und saeubern if (!isset($_GET['id'])){ // Pruefen ob ID uebergeben wurde echo "<div class=\"error\"><h2>Error ...</h2>\n"; echo "<p>Es wurde keine ID uebergeben</p>\n</div>\n"; }else{ // Sofern ID uebergeben wurde // Abfrage der Daten $abfrage = mysql_query("SELECT frage,ip FROM askme WHERE id='$id'"); // Ausgabe der Daten $row = mysql_fetch_object($abfrage); echo "<h2>Frage ".$id." beantworten</h2>\n <p><strong>Frage:</strong> ".$row->frage."\n"; echo "<small>von IP ".$row->ip."</small></p>\n"; if (isset($_POST['okay'])){ // Wenn auf absenden geklickt wurde $antwort = clean_it($_POST['antwort']); if (empty($_POST['antwort'])) { echo "<div class=\"error\"><h2>Error ...</h2>\n"; echo "<p>Bitte Danke Antwort eingeben ...</p></div>\n"; }else{ // Datenbankeintrag $antworten = mysql_query("Update askme SET antwort ='$antwort', a_date = now(), status='B' WHERE id ='$id'"); // Wenn Frage erfolgreich beantwortet wurde if ($antworten){ echo "<meta http-equiv=\"refresh\" content=\"0; URL=admin.php\">"; // Weiterleitung => Login }else{ // wenn nicht beantwortet wurde echo "Da lief was schief ...\n"; } }// close empty } // close Post submit ?> <form method="post" action=""> <textarea rows="8" name="antwort" cols="54" class="form"></textarea><br /> <input type="submit" value="Absenden" name="okay" class="button" /> </form> <?php } // close isset ID echo "<h3>Grafixx - Askme <a href=\"http://alice-grafixx.de\">Alice-Grafixx.de</a> ".date('Y')." | "; if(isset($_SESSION['login'])){ // Admin Logout echo "<a href=\"logout.php\">logout</a>"; } ?> </h3> </div> </body> </html>
<?php // delete.php include('login_check.php'); // Login-Check einbinden include('config.inc.php'); // DB-Verbindung einbinden include('function.php'); // Funktion einbinden $id = clean_it($_GET['id']); // Variable definieren und saeubern if (!isset($_GET['id'])){ // Pruefen ob ID uebergeben wurde echo "<div class=\"error\"><h2>Error ...</h2>\n"; echo "<p>Es wurde keine ID uebergeben</p>\n</div>\n"; }else{ // Sofern ID uebergeben wurde $delete = mysql_query("DELETE FROM askme WHERE id='$id'"); // Frage Loeschen if($delete){ // Wenn erfolgreich geloescht echo "<meta http-equiv=\"refresh\" content=\"0; URL=admin.php\">"; // Weiterleitung => admin.php }else{ // Wenn nicht => Fehler ausgeben echo "<div class=\"error\"><h2>Error ...</h2>\n"; echo "<p>Die Frage konnte nicht geloescht werden</p>\n</div>\n"; }// close $delete } // close GET id ?>
<?php // logout.php session_start(); // startet die Session session_unset(); // Sessionvariable loeschen session_destroy(); // Session zerstoeren echo "<meta http-equiv=\"refresh\" content=\"0; URL=login.php\">"; // Weiterleitung => Login ?>
<?php // navigation.php $total_records = mysql_num_rows($result); $pages = ceil($total_records / $links_per_page); // korrigieren der aktuellen Seite if(empty($_GET['go'])) { $go = 1; } elseif($_GET['go'] <= 0 || $_GET['go'] > $pages) { $go = 1; } else { $go = $_GET['go']; } // Linkkette $links = array(); if(($go - $p) < 1){ $prevOffset = $go - 1; }else { $prevOffset = $p; } if(($go + $p) > $pages) { $nextOffset = $pages - $go; }else { $nextOffset = $p; } $off = ($go - $prevOffset); if ($go- $prevOffset > 1){ $first = 1; $links[] = "<a href=\"".$pfad."?go=$first\" title=\"Zur ersten Seite springen\">« Erste ...</a>\n"; } if($go != 1){ $prev = $go-1; $links[] = "<a href=\"".$pfad."?go=$prev\" title=\"Zurueck zur letzen Seite\"> «</a>\n"; } for($i = $off; $i <= ($go + $nextOffset); $i++){ if ($i != $go){ $links[] = "<a href=\"".$pfad."?go=$i\" title=\"Seite $i anzeigen\">$i</a>\n"; }elseif($i == $pages) { // aktuelle Seite, braucht keinen Link $links[] = "<span class=\"current\">[ $i ]</span>\n"; } elseif($i == $go){ // aktuelle Seite, braucht keinen Link $links[] = "<span class=\"current\">[ $i ]</span>\n"; } } if($go != $pages){ $next = $go+1; $links[] = "<a href=\"".$pfad."?go=$next\" title=\"Weiter zur naechsten Seite\"> » </a>\n"; } if ($off+$prevOffset*2 < $pages){ // zur letzen Seite springen $last = $pages; $links[] = "<a href=\"".$pfad."?go=$last\" title=\"Zur letzen Seite springen\">... Letzte »</a>\n"; } $link_string = implode(" ", $links); // Packt alles in einen String $start = ($go-1) * $links_per_page; ?>
<?php // function.php // Funktion um die DB-Eintraege zu pruefen => SQL Injektions function clean_it($dirty){ // Auswirkungen von magic_quotes_gpc zuruecksetzen, wenn ON if (get_magic_quotes_gpc()) { $clean = mysql_real_escape_string(stripslashes(htmlspecialchars($dirty))); }else{ $clean = mysql_real_escape_string(htmlspecialchars($dirty)); } return $clean; } ?>
<?php // login_check.php session_start(); // startet die Session if(!isset($_SESSION['login'])){ // wenn nicht eingelogt echo "<meta http-equiv=\"refresh\" content=\"0; URL=login.php\">"; // Weiterleitung => Login } ?>
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 ...