
PHP
Newssystem
Kommentare
Funktion
Script
Loading...
PHP
Newssystem
Kommentare
Funktion
Script
<?php // config.inc.php //--------------------------- $host = "localhost"; // Adresse des Datenbankservers, fast immer localhost $dbuser = ""; // Dein MySQL Benutzername $dbpass = ""; // Dein MySQL Passwort $dbase = ""; // Name der Datenbank //--------------------------- $connection = mysql_connect($host,$dbuser,$dbpass) OR DIE ("Keine Verbindung zu der Datenbank moeglich."); $db = mysql_select_db($dbase , $connection) OR DIE ("Auswahl der Datenbank nicht moeglich."); error_reporting(E_ALL ^ E_NOTICE); //----------------------------------------------------------------------------------------------- // 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; } // Funktion zum Fehler ausgeben function get_error($var){ $fehler = "<div class=\"error\"><h2>Error ...</h2>\n<p>".$var."</p>\n</div>\n"; return $fehler; } // Funktion um no error ausgeben function get_okay($var){ $fehler = "<div class=\"no_error\"><h2>Prima ...</h2>\n<p>".$var."</p>\n</div>\n"; return $fehler; } //----------------------------------------------------------------------------------------------- // Blaetterfunktion => Seitennavigation //----------------------------------------------------------------------------------------------- function get_navi($go, $total, $pfad, $ausgabe = false, $ende = 10, $p = 3){ //----------------------------------------------------------------------------------------------- // $pfad => Dateipfad // $total => Anzahl der in DB // $ende => Anzahl der Datensaetze die Pro Seite angezeigt werden sollen // $p => Anzahl der Links die in der Seitenavigation ausgegeben werden // $ausgabe = false => Seitennavigation NICHT ausgeben oberhalb der DB Abfrage //----------------------------------------------------------------------------------------------- $seiten = ceil($total / $ende); // Berechnet die Seitenanzahl insgesamt if(!isset($go)){ // korrigieren der aktuellen Seite $go = 1; // Sofern $go nicht uebergeben wurde }elseif($go <= 0 || $go > $seiten){ $go = 1; // Variable definieren }else{ // Wenn Obiges nicht zutraf $go = clean_it($go); // 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."".$first."\" title=\"Zur ersten Seite springen\">« Erste ...</a>\n"; } if($go != 1){ // Link definieren => eine Seite zurueck blaettern $prev = $go-1; $links[] = "<a href=\"".$pfad."".$prev."\" title=\"Eine Seite zurueck blaettern\">«</a>\n"; } for($i = $off; $i <= ($go + $danach); $i++){ // einzelne Seitenlinks erzeugen if ($i != $go){ // Link definieren $links[] = "<a href=\"".$pfad."".$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 }// close for if($go != $seiten){ // Link definieren => eine Seite weiter blaettern $next = $go+1; $links[] = "<a href=\"".$pfad."".$next."\" title=\"Eine Seite weiter blaettern\">»</a>\n"; } if($seiten - $go - $p > 0 ){ // Link definieren => Zur letzen Seite springen $last = $seiten; $links[] = "<a href=\"".$pfad."".$last."\" title=\"Zur letzten Seite springen\">... Letzte »</a>\n"; } $start = ($go-1) * $ende; // Berechne den Startwert fuer die DB $link_string = implode(" ", $links); // Zusammenfuegen der einzelnen Links zu einem String // -------------------------------------- Seitennavigation ausgeben ---------------------------- if($ausgabe == true){ echo "<div id=\"navigation\">\n"; echo "<span class=\"pages\">Seite $go von $seiten</span>\n"; echo $link_string; // Ausgabe der Seitennavigation echo "</div> \n"; } //close ausgabe // -------------------------------------- Seitennavigation ende -------------------------------- return array($start, $ende); } // close function //----------------------------------------------------------------------------------------------- // BB Code funktion //----------------------------------------------------------------------------------------------- function bbcode($bb){ $php_header = '<div class="php">'; $php_footer = '</div>'; // PHP Code zwischenspeichern $c = md5(time()); preg_match_all("/\[ php \](.*?)\[\/ php \]/si", $bb, $results); for($i=0;$i<count($results[1]);$i++) { $bb = str_replace($results[1][$i], $c.$i.$c, $bb); } // Formatierung $search[] = '[b]'; $search[] = '[/b]'; $search[] = '[i]'; $search[] = '[/i]'; $search[] = '[u]'; $search[] = '[/u]'; $search[] = '[quote]'; $search[] = '[/quote]'; $search[] = '[left]'; $search[] = '[/left]'; $search[] = '[right]'; $search[] = '[/right]'; $search[] = '[center]'; $search[] = '[/center]'; $search[] = '[ code ]'; $search[] = '[/ code ]'; $replace[] = '<b>'; $replace[] = '</b>'; $replace[] = '<i>'; $replace[] = '</i>'; $replace[] = '<u>'; $replace[] = '</u>'; $replace[] = '<blockquote>'; $replace[] = '</blockqoute>'; $replace[] = '<div style="text-align: left">'; $replace[] = '</div>'; $replace[] = '<div style="text-align: right">'; $replace[] = '</div>'; $replace[] = '<div style="text-align: center">'; $replace[] = '</div>'; $replace[] = '<pre class="code">'; $replace[] = '</pre>'; $bb = str_replace($search, $replace, $bb); $search = array(); $replace = array(); $bb = preg_replace("/\[color=(.*)\](.*)\[\/color\]/Usi", "<span color=\"\1\">\2</span>", $bb); $bb = preg_replace("/\[email=(.*)\](.*)\[\/email\]/Usi", "<a href=\"mailto:\1\">\2</a>", $bb); $bb = preg_replace("/\[url=(.*)\](.*)\[\/url\]/Usi", "<a href=\"\1\">\2</a>", $bb); $bb = preg_replace("/\[img\](.*)\[\/img\]/Usi", "<img src=\"\1\" alt=\"\" \>", $bb); $bb = nl2br($bb); // PHP Code highlighten for($i=0;$i<count($results[1]);$i++) { ob_start(); highlight_string(trim(html_entity_decode($results[1][$i]))); $ht = ob_get_contents(); ob_end_clean(); $all = $php_header.$ht.$php_footer; $bb = preg_replace("/\[ php \]".$c.$i.$c."\[\/ php \]/siU", $all, $bb); } function get_bbcode($wo){ // BBCode Funktion $bb = '<div class="bbcode">'; $bb.= '<img onclick="add(\'[b] [/b]\');" style="cursor:pointer" src="images/bold.png" alt="fett" title="fett" />'; $bb.= '<img onclick="add(\'[i] [/i]\');" style="cursor:pointer" src="images/italic.png" alt="krusiv" title="krusiv" />'; $bb.= '<img onclick="add(\'[u] [/u]\');" style="cursor:pointer" src="images/underline.png" alt="unterstrichen" title="unterstrichen" />'; $bb.= '<img onclick="add(\'[left] [/left]\');" style="cursor:pointer" src="images/left.png" alt="links ausrichten" title="links ausrichten" />'; $bb.= '<img onclick="add(\'[center] [/center]\');" style="cursor:pointer" src="images/center.png" alt="zentriert" title="zentriert" />'; $bb.= '<img onclick="add(\'[right] [/right]\');" style="cursor:pointer" src="images/right.png" alt="rechts ausrichten" title="rechts ausrichten" />'; $bb.= '<img onclick="add(\'[url=] [/url]\');" style="cursor:pointer" src="images/link.png" alt="Link einfuegen" title="Link einfuegen"/>'; $bb.= '<img onclick="add(\'[email=] [/email]\');" style="cursor:pointer" src="images/email.png" alt="Email Adresse einfuegen" title="Email Adresse einfuegen" />'; $bb.= '<img onclick="add(\'[img] [/img]\');" style="cursor:pointer" src="images/img.png" alt="Bild einfuegen" title="Bild einfuegen" />'; if($wo != "comi"){ $bb.= '<img onclick="add(\'[video] [/video]\');" style="cursor:pointer" src="images/video.png" alt="Video Einfuegen" title="Video Einfuegen" />'; } $bb.= '<img onclick="add(\'[quote] [/quote]\');" style="cursor:pointer" src="images/zitat.png" alt="Zitat einfuegen" alt="Zitat einfuegen" />'; $bb.= '<img onclick="add(\'[code]0[/code]\');" style="cursor:pointer" src="images/code.png" alt="Code einfuegen" title="Code einfuegen" />'; $bb.= "<img onclick='add(\"[p h p] [/p h p] \");' style='cursor:pointer' src='images/php.png' alt='PHP Code einfuegen title="PHP Code einfuegen" />'; $bb.= '</div>'; echo $bb; } ?>
<?php // header.php session_start(); // Session starten include('config.inc.php'); // DB-Verbindung einbinden //ob_start(); // startet den Ausgabepuffer $pfad = $_SERVER['SCRIPT_NAME']; // aktuellen Dateipfad ermitteln if(!isset($_SESSION['login']) AND (basename($pfad) != 'admin.php')){ // Sofern NICHT eingeloggt header("Location: admin.php"); // Weiterleitung } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>GrafixxNews</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <meta http-equiv="imagetoolbar" content="no" /> <meta http-equiv="Content-Language" content="de" /> <link rel="stylesheet" href="style.css" type="text/css" /> </head> <body> <div id="ram"> <div id="header"> <ul id="navi"> <li><a href="admin.php">Home</a></li> <li><a href="admin.php">News</a></li> <li><a href="cats.php">Kategorien</a></li> <li><a href="show_comments.php">Kommentare</a></li> </ul> <h1>GrafixxNews</h1> </div> <div id="content">
<?php echo "</div>"; include("sidebar.php"); ob_end_flush(); // leert den Ausgabepuffer ?> <div id="footer"> <p><a href="http://unnecessary.de">GrafixxNews</a> - <a href="http://alice-grafixx.de" titel="Photoshop Community"> Alice-Grafixx.de</a></p> </div> </body> </html>
<?php // sidebar.php echo "<div id=\"sidebar\">\n"; isset($_GET['action']) ? $action = clean_it($_GET['action']) : $action = ''; // Variable definieren if(isset($_POST['submit_login'])){ $log_user = clean_it($_POST['log_user']); // Variable definieren $log_pass = clean_it($_POST['log_pass']); // Variable definieren => MD5 Verschluesselung $login = mysql_query("SELECT id FROM user WHERE name='$log_user' AND passwort='$log_pass'"); if(mysql_num_rows($login) > 0){ // korrekt eingeloggt $row = mysql_fetch_object($login); // DATEN aus DB $_SESSION['login'] = $row->id; // Session zuweisen $_SESSION['user'] = $log_user; // Session zuweisen header("Location: admin.php"); // Weiterleitung }else{ echo get_error(' Logindaten fehlerhaft ...'); } } //-------------------------------------------------------- // Wenn Eingeloggt //-------------------------------------------------------- if(isset($_SESSION['login'])){ echo "<h2>Welcome ".$_SESSION['user']."<small>"; echo "<a href=\"?action=logout\">Logout</a></small></h2>"; echo "<p><a href=\"post_news.php\" class=\"the_button\">Neuen Artikel verfassen</a></p>"; echo "<br />"; //-------------------------------------------------------- // Letzte Kommentare //-------------------------------------------------------- echo "<h2>Neusten Kommentare</h2>\n"; $new_comi = mysql_query("SELECT id, name, comment, DATE_FORMAT(date, '%d.%m.%Y') AS datum FROM comments ORDER BY id DESC LIMIT 3"); if(mysql_num_rows($new_comi)<1){ echo "<p>Derzeit existieren keine Kommentare...</p>"; } echo "<ul class=\"list\">"; // News ausgeben ausgeben while($row_c = mysql_fetch_object($new_comi)){ echo "<li><strong>".$row_c->id.".</strong>"; echo substr($row_c->comment, 0, 80)." [..] <br />\n"; echo "<div class=\"right\">\n"; echo "<a href=\"edit_comments.php?id=".$row_c->id."\">Bearbeiten</a> \n"; echo "<a href=\"edit_comments.php?action=loeschen&id=".$row_c->id."\">[x]</a>\n"; echo "</div>\n "; echo "<small>".$row_c->name." » <span class=\"green\">".$row_c->datum."</span></small>\n"; echo "</li>\n"; } // close while echo "</ul>"; //-------------------------------------------------------- // Logout //-------------------------------------------------------- if($action == 'logout'){ session_unset(); // Sessionvariable loeschen session_destroy(); // Session zerstoeren header("Location: admin.php"); // Weiterleitung } }else{ ?> <form action="" method="post"> <fieldset> <legend><span class="blue">Grafixx</span> Login</legend> <label>Name</label> <input type="text" name="log_user" /><br /> <label>Passwort</label> <input type="password" name="log_pass" /> <br /><br /> <input type="submit" value="Login" name="submit_login" class="button"/> </fieldset> </form> <?php } /* Close login */ ?> </div> </div>
<?php // admin.php include('header.php'); // header einbunden if(isset($_SESSION['login'])){ // Sofern eingeloggt echo "<h2>NewsArtikel</h2>\n"; // DB Abfragen $abfrage = mysql_query("SELECT id FROM news"); $total = mysql_num_rows($abfrage); // Anzahl aller Zeilen in DB ermitteln // ---------------------- Seitennavigationsdaten -------------------------------------------------- $per_page = "10"; // Anzahl der Links die Pro Seite angezeigt werden sollen $p = "3"; // Anzahl der Links die in der Seitenavigation ausgegeben werden isset($_GET['go']) ? $go = clean_it($_GET['go']) : $go = ''; // Variable definieren // Blaetterfunktion aufrufen list ($start, $ende) = get_navi($go, $total, $pfad.'?go=', false, $per_page, $p); // ---------------------- ENDE Seitennavigationsdaten---------------------------------------------- $abfrage = mysql_query("SELECT id, title, news, DATE_FORMAT(date, '%d.%m.%Y') AS datum FROM news ORDER BY id DESC LIMIT $start,$ende"); if($total < 1){ // Pruefen ob Eintraege vorhanden echo "<p>Bisher existieren keine Newsartikel ...</p>"; }else{ echo "<ul class=\"list\">"; // News ausgeben ausgeben while($row = mysql_fetch_object($abfrage)){ // Anzahl der Kommentare ermitteln $comments = mysql_query("SELECT id FROM comments WHERE news_id='$row->id'"); $com_num = mysql_num_rows($comments); // Anzahl der Kommentare echo "<li>"; echo "<div class=\"right\">\n"; echo "<a href=\"post_news.php?action=edit&id=".$row->id."\">Bearbeiten</a> \n"; echo "<a href=\"post_news.php?action=loeschen&id=".$row->id."\">[x]</a>\n"; echo "</div>\n "; echo "<strong><span class=\"green\">".$row->id.".</span> ".$row->title."</strong>\n"; echo "<p>".substr($row->news, 0, 80)." [...]</p>\n"; echo "<small>".$row->datum." » <a href=\"show_comments.php?id=".$row->id."\">".$com_num." Kommentar(e)</a>\n"; echo "</small>\n </li>\n"; } // close while echo "</ul>\n<br /><br />"; // ---------------------- Seitennavigation ausgeben ------------------------------------------ // Blaetterfunktion aufrufen = > Ausgeben get_navi($go, $total, $pfad.'?go=', true, $per_page, $p); } // close Eintrage vorhanden //------------------------------------------------------------------------------ }else{ // Sofern nicht eingeloggt ... echo "<h2>Zugriff verweigert ...</h2>"; echo "<p>Du musst eingeloggt sein, um diese Seite aufrufen zu koennen ...</p>"; } // close eingeloggt include('footer.php'); // Footer einbinden ?>
<?php // post_news.php include('header.php'); // header einbunden //------------------------------------------------------------------------------ if(isset($_GET['id'])){ // Sofern ID uebergeben wurde $id = clean_it($_GET['id']); // Variable definieren // DB Abfrage der Daten $abfrage = mysql_query("SELECT title, news, cat FROM news WHERE id='$id'"); $row = mysql_fetch_object($abfrage); } //------------------------------------------------------------------------------ // Newseintrag loeschen //------------------------------------------------------------------------------ isset($_GET['action']) ? $action = clean_it($_GET['action']) : $action = ''; // Variable definieren if($action == 'loeschen'){ // Artikel loeschen $delete = mysql_query("DELETE FROM news WHERE id='$id'"); // Kommentare zu diesem Artikel loeschen $delete_com = mysql_query("DELETE FROM comments WHERE news_id='$id'"); if($delete AND $delete_com){ // Wenn Loeschung nicht erfolgt header("Location: admin.php"); // Weiterleitung }else{ // Wenn Eintrag nicht geloescht wurde => Fehlermeldung echo get_error('Der Eintrag konnte leider nicht geloescht werden! ".mysql_error()."'); } } //------------------------------------------------------------------------------ // Formular auswerten //------------------------------------------------------------------------------ if(isset($_POST['submit'])){ // Sofern Eintragen gedrueckt $title = clean_it($_POST['title']); // Variable definieren $news = clean_it($_POST['news']); // Variable definieren $autor = clean_it($_SESSION['user']); // Variable definieren if(empty($title) || empty($news) || empty($autor)){ // pruefen ob alles ausgefuellt wurde echo get_error('Bitte Danke alle benoetigten Felder ausfuellen!'); }else{ // wenn alles ausgefuellt wurde // Kategorien if(empty($_POST['new_cat'])){$cat = clean_it($_POST['cat']);}else{$cat = clean_it($_POST['new_cat']);} if(($_GET['action']) == 'edit'){ // Wenn action == edit $eintragen = mysql_query("UPDATE news SET autor='$autor', title='$title', news='$news', cat = '$cat' WHERE id='$id' "); }else{ // wenn action = new $eintragen = mysql_query("INSERT INTO news (autor, title, news, cat, date) VALUES ('$autor','$title','$news','$cat', now())"); }// close action if($eintragen){ // Sofern Eintrag geklappt hat header("Location: admin.php"); // Weiterleitung }else{ // Wenn Eintrag nicht geklappt hat => Fehlermeldung echo get_error('Der Eintrag war leider nicht erfolgreich! ".mysql_error()."'); } }// close empty }// close isset //------------------------------------------------------------------------------ if($action == 'edit'){ // Headline fuers Formular ermitteln $headline = "Artikel ".$id." bearbeiten"; }else{ $headline = "Artikel verfassen"; }// close Headline ermitteln //------------------------------------------------------------------------------ // Formular ausgeben //------------------------------------------------------------------------------ ?> <script type="text/javascript"> /* Funtionn BBCode */ var n = 1; function add(code) { document.getElementById('bbcode').news.value += " " + code ; } </script> <form action="" method="post" id="bbcode"> <fieldset> <legend><?php echo $headline; ?></legend> <label>Titel</label> <input type="text" name="title" value="<?php echo $row->title; ?>" /> <br /><br /> <label>Kategorie</label> <?php // wenn vorhandene - Kategorien auslesen $query = mysql_query("SELECT DISTINCT cat FROM news WHERE cat != ''"); if(mysql_num_rows($query) != '0'){ echo "<select name=\"cat\" size=\"1\">\n"; echo "<option value=\"\">Kategorie waehlen</option>"; echo "<option value=\"\">---------------------</option>"; while($rows = mysql_fetch_object($query)){ echo "<option value=\"".$rows->cat."\">".$rows->cat."</option>"; } echo "</select><br />\n"; } ?> <input name="new_cat" type="text" value="<?php echo $row->cat;?>"/> <small> Neue Kategorie erstellen</small> <br /><br /> <?php get_bbcode('admin'); /* BBCode ausgeben */ ?> <textarea rows="10" cols="85" name="news"><?php echo $row->news;?></textarea> <br /><br /> <input type="submit" value="Eintragen" name="submit" class="button"/> </fieldset> </form> <?php include('footer.php'); ?>
<?php // show_comments.php include('header.php'); // header einbinden if(isset($_GET['id'])){ // Wenn ID uebergeben wurde, alle Kommentare zu dieser news_ID ausgeben $id = clean_it($_GET['id']); // Variable definieren echo "<h2>Kommentare zu Artikel ".$id."</h2>\n"; // News auslesen $result = mysql_query("SELECT id, name, url, comment, DATE_FORMAT(date, '%d.%m.%Y') AS datum FROM comments WHERE news_id ='$id'"); $pfad = "show_comments.php?id=".$id."&go="; // URL => Seitennavigation }else{ echo "<h2>Kommentare</h2>\n"; // News auslesen $result = mysql_query("SELECT id, name, url, comment, DATE_FORMAT(date, '%d.%m.%Y') AS datum FROM comments"); $pfad = "show_comments.php?go="; } $total = mysql_num_rows($result); // Anzahl aller Zeilen in DB ermitteln // ---------------------- Seitennavigationsdaten -------------------------------------------------- $per_page = "5"; // Anzahl der News die Pro Seite ausgegeben werden sollen $p = "5"; // Anzahl der Links die in der Seitenavigation ausgegeben werden isset($_GET['go']) ? $go = clean_it($_GET['go']) : $go = ''; // Variable definieren // Blaetterfunktion aufrufen = > Ausgeben list ($start, $ende) = get_navi($go, $total, $pfad, false, $per_page, $p); // ---------------------- ENDE Seitennavigationsdaten---------------------------------------------- if(isset($_GET['id'])){ $abfrage = mysql_query("SELECT id, name, url, comment, email, ip, DATE_FORMAT(date, '%d.%m.%Y') AS datum FROM comments WHERE news_id ='$id' ORDER BY date DESC LIMIT $start, $ende"); }else{ $abfrage = mysql_query("SELECT id, name, url, comment, email, ip, DATE_FORMAT(date, '%d.%m.%Y') AS datum FROM comments ORDER BY date DESC LIMIT $start, $ende"); } if($total < 1){ // Pruefen ob Eintraege vorhanden echo "<p>Zur Zeit existieren keine Kommentare ...</p>"; }else{ echo "<ul class=\"list\">"; // Kommentare ausgeben ausgeben while($row = mysql_fetch_object($abfrage)){ if(empty($row->url)){ // Pruefen ob Website angegeben $autor = $row->name; // Variable definieren }else{ // Wenn Website angegeben $autor = "<a href=\"".$row->url."\">".$row->name."</a>"; } echo "<li>"; echo "<div class=\"right\">\n"; echo "<a href=\"edit_comments.php?id=".$row->id."\">Bearbeiten</a> \n"; echo "<a href=\"edit_comments.php?action=loeschen&id=".$row->id."\">[x]</a>\n"; echo "</div>\n "; echo "<p>".substr($row->comment, 0, 80)." [...]</p>\n"; echo "<small>von ".$autor." - ".$row->email." am ".$row->datum." | ".$row->ip."\n"; echo "</small>\n </li>\n"; } // close while echo "</ul>\n<br />"; // -------------------------------------- Seitennavigation ausgeben ---------------------------- // Blaetterfunktion aufrufen = > Ausgeben get_navi($go, $total, $pfad, true, $per_page, $p); // -------------------------------------- Seitennavigation ende -------------------------------- } // close Eintrage vorhanden include('footer.php'); // footer einbinden ?>
<?php // edit_comments.php include('header.php'); // header einbunden //------------------------------------------------------------------------------ $id = clean_it($_GET['id']); // Variable definieren //------------------------------------------------------------------------------ // Kommentar loeschen //------------------------------------------------------------------------------ if(($_GET['action']) == 'loeschen'){ $delet = mysql_query("DELETE FROM comments WHERE id='$id' "); if($delet){ // Wenn Loeschung nicht erfolgt header("Location: show_comments.php"); // Weiterleitung }else{ // Wenn Eintrag nicht geloescht wurde => Fehlermeldung echo "<div class=\"error\"><h2>Error ...</h2>\n"; echo "<p>Der Eintrag konnte leider nicht geloescht werden! ".mysql_error()."</p>\n</div>\n"; } } //------------------------------------------------------------------------------ // Kommentar bearbeiten //------------------------------------------------------------------------------ if(isset($_POST['submit'])){ // Sofern Eintragen gedrueckt $name = clean_it($_POST['name']); // Variable definieren $email = clean_it($_POST['email']); // Variable definieren $url = clean_it($_POST['url']); // Variable definieren $comment = clean_it($_POST['comment']); // Variable definieren if(empty($name) || empty($email) || empty($comment)){ // pruefen ob alles ausgefuellt wurde echo "<div class=\"error\"><h2>Error ...</h2>\n"; echo "<p>Bitte Danke alle benoetigten Felder ausfuellen!</p>\n</div>\n"; }else{ // wenn alles ausgefuellt wurde $eintragen = mysql_query("UPDATE comments SET name='$name', email='$email', url='$url', comment='$comment' WHERE id='$id' "); if($eintragen){ // Sofern Eintrag geklappt hat header("Location: show_comments.php"); // Weiterleitung }else{ // Wenn Eintrag nicht geklappt hat => Fehlermeldung echo "<div class=\"error\"><h2>Error ...</h2>\n"; echo "<p>Da lief was schief ... ".mysql_error()."</p>\n</div>\n"; } }// close empty }// close isset // Kommentar aus DB holen $abfrage = mysql_query("SELECT name, email, url, comment FROM comments WHERE id='$id'"); $row = mysql_fetch_object($abfrage); //------------------------------------------------------------------------------ // Formular ausgeben //------------------------------------------------------------------------------ ?> <script type="text/javascript"> /* Funtionn BBCode */ var n = 1; function add(code) { document.getElementById('bbcode').comment.value += " " + code ; } </script> <form action="" method="post" id="bbcode"> <fieldset> <legend>Kommentar bearbeiten</legend> <label>Name</label> <input type="text" name="name" value="<?= $row->name; ?>" /><br /> <label>Email</label> <input type="text" name="email" value="<?= $row->email; ?>" /><br /> <label>URL</label> <input type="text" name="url" value="<?= $row->url; ?>" /><br /> <?php get_bbcode('admin'); /* BBCode ausgeben */ ?> <textarea rows="5" cols="80" name="comment"><?= $row->comment; ?></textarea> <br /><br /> <input type="submit" value="Speichern" name="submit" class="button" /> </fieldset> </form> <?php include('footer.php'); ?>
<?php // cats.php include('header.php'); // header einbinden //------------------------------------------------------------------------------ // Kategorie Bearbeiten //------------------------------------------------------------------------------ if($_GET['action'] == 'edit'){ if(isset($_POST['submit']) && !empty($_POST['cat'])){ // Sofern speichern gedrueckt // DB Updaten $update = mysql_query("UPDATE news SET cat = '".clean_it($_POST['cat'])."' WHERE cat = '".clean_it($_GET['cat'])."' "); if($update){ header("Location: cats.php"); // Weiterleitung } } // close submit ?> <form action="" method="post" id="bbcode"> <fieldset> <legend>Kategorie bearbeiten</legend> <input type="text" name="cat" value="<?php echo clean_it($_GET['cat']); ?>" /> <input type="submit" value="Speichern" name="submit" class="button"/> </fieldset> </form> <?php //------------------------------------------------------------------------------ // Kategorie loeschen //------------------------------------------------------------------------------ }else if($_GET['action'] == 'delete'){ // DB Updaten $update = mysql_query("UPDATE news SET cat = '' WHERE cat = '".clean_it($_GET['cat'])."' "); if($update){ header("Location: cats.php"); // Weiterleitung } //------------------------------------------------------------------------------ // Kategorien auflisten //------------------------------------------------------------------------------ }else{ echo "<h2>Kategorien</h2>\n"; // DB Abfrage $abfrage = mysql_query("SELECT DISTINCT cat FROM news WHERE cat != ''"); $total = mysql_num_rows($abfrage); // Anzahl aller Zeilen in DB ermitteln if($total < 1){ // Pruefen ob Eintraege vorhanden echo "<p>Zur Zeit existieren keine Kategorien ...</p>"; }else{ echo "<ul class=\"list\">"; // Kategorien ausgeben ausgeben while($row = mysql_fetch_object($abfrage)){ echo "<li>"; echo "<div class=\"right\">\n"; echo "<a href=\"cats.php?action=edit&cat=".urlencode($row->cat)."\">Bearbeiten</a> \n"; echo "<a href=\"cats.php?action=delete&cat=".urlencode($row->cat)."\">[x]</a>\n"; echo "</div>\n "; echo "<p>".$row->cat."</p></li>\n"; } // close while echo "</ul>\n<br />"; } // close Eintrage vorhanden }// close $action include('footer.php'); // footer einbinden ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>GrafixxNews</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <meta http-equiv="imagetoolbar" content="no" /> <meta http-equiv="Content-Language" content="de" /> <link rel="stylesheet" href="style.css" type="text/css" /> </head> <body> <div id="ram"> <div id="header"> <h1>GrafixxNews</h1> </div> <div id="content"> <?php // news.php include('config.inc.php'); // DB-Verbindung einbinden // Sofern Kategorie angegeben if(isset($_GET['cat'])){ $where = "WHERE cat = '".clean_it($_GET['cat'])."'"; echo "<h2 class=\"blue\">Abgelegtes unter '".clean_it($_GET['cat'])."'</h2>"; $pfad = "news.php?cat=".urlencode(clean_it($_GET['cat']))."go="; }else{ $pfad = "news.php?go="; } // News auslesen $abfrage = mysql_query("SELECT id FROM news ".$where.""); $total = mysql_num_rows($abfrage); // Anzahl aller Zeilen in DB ermitteln // ---------------------- Seitennavigationsdaten -------------------------------------------------- $per_page = "5"; // Anzahl der News die Pro Seite ausgegeben werden sollen $p = "5"; // Anzahl der Links die in der Seitenavigation ausgegeben werden isset($_GET['go']) ? $go = clean_it($_GET['go']) : $go = ''; // Variable definieren // Blaetterfunktion aufrufen list ($start, $ende) = get_navi($go, $total, $pfad, false, $per_page, $p); // ---------------------- ENDE Seitennavigationsdaten---------------------------------------------- $abfrage = mysql_query("SELECT id, autor, title, cat, news, DATE_FORMAT(date, '%d.%m.%Y') AS datum FROM news ".$where." ORDER BY date DESC LIMIT $start,$ende"); // News ausgeben ausgeben while($row = mysql_fetch_object($abfrage)){ // Anzahl der Kommentare ermitteln $comments = mysql_query("SELECT id FROM comments WHERE news_id='$row->id'"); $com_num = mysql_num_rows($comments); // Anzahl der Kommentare echo "<div class=\"news\">\n"; echo "<h2>".$row->title."\n <small>verfasst von ".$row->autor." am ".$row->datum." | \n"; if(!empty($row->cat)){ // sofern Kategorie angegeben echo "abgelegt unter: <a href=\"news.php?cat=".urlencode($row->cat)."\">".$row->cat."</a> | \n"; } echo "<a href=\"comments.php?id=".$row->id."\">Kommentare ".$com_num."</a></small>\n </h2>"; if(isset($_GET['cat'])){ // Kategorieseite nur einen Auszug ausgeben $max_show = "250"; // max 450 Zeichen anzeigen if (strlen($row->news) > $max_show){ // sofern $news mehr als 450 Zeichen enthaelt echo "<p>".bbcode(substr($row->news, 0, strpos($row->news, ".", 120 )+1 ))."\n"; // Ab 150 Zeichen nach nem punkt suchen und alles das was davor enthalten ist ausgeben echo "<a href=\"comments.php?id=".$row->id."\" class=\"right\">read more...</a>\n"; echo "<br style=\"clear: right;\" /></p>"; // link ausgeben }else{ // komplett ausgeben echo "<p>".bbcode($row->news)."</p>"; } }else{ echo "<p>".bbcode($row->news)."</p>"; } echo "</div>\n"; } // close while // -------------------------------------- Seitennavigation ausgeben ---------------------------- get_navi($go, $total, $pfad, true, $per_page, $p); // -------------------------------------- Seitennavigation ende -------------------------------- ?> </div> </div> <div id="footer"> <p class="right">Valid <a href="http://validator.w3.org/check/referer" title="This page validates as XHTML 1.0 Transitional"> <abbr title="eXtensible HyperText Markup Language">XHTML</abbr></a> | Valid <a href="http://jigsaw.w3.org/css-validator/check/referer" title="CSS ist valide!"><abbr title="Cascading Style Sheets"> CSS</abbr></a> </p> <p><a href="http://unnecessary.de">GrafixxNews</a> - <a href="http://alice-grafixx.de"> Alice-Grafixx.de</a></p> </div> </body> </html>
<?php // comments.php include('config.inc.php'); // DB-Verbindung einbinden ob_start(); // startet den Ausgabepuffer ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>GrafixxNews</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <meta http-equiv="imagetoolbar" content="no" /> <meta http-equiv="Content-Language" content="de" /> <link rel="stylesheet" href="style.css" type="text/css" /> </head> <body> <div id="ram"> <div id="header"> <h1>GrafixxNews</h1> </div> <div id="content"> <?php if(!isset($_GET['id'])){ // Sofern keine ID uebergeben wurde => Fehlermeldung echo "<div class=\"error\"><h2>Error ...</h2>\n"; echo "<p>Es wurde keine ID uebermittelt ...</p>\n</div>\n"; }else{ // Wenn ID uebergeben wurde $id = clean_it($_GET['id']); // Variable definieren $pfad = "comments.php?id=".$id."&go="; // aktuellen Dateipfad ermitteln // Artikel abrufen $artikel = mysql_query("SELECT id, autor, title, news, DATE_FORMAT(date, '%d.%m.%Y') AS datum FROM news WHERE id='$id'"); // Artikel ausgeben ausgeben while($row = mysql_fetch_object($artikel)){ echo "<div class=\"news\">\n"; echo "<h2>".$row->title."</h2>\n"; echo "<p>".bbcode($row->news)."</p>"; echo "</div>\n"; } // close while echo "<h2>Kommentare</h2>"; // Kommentare abfragen $result = mysql_query("SELECT id FROM comments WHERE news_id='$id'"); $total = mysql_num_rows($result); // Anzahl aller Zeilen in DB ermitteln // ---------------------- Seitennavigationsdaten -------------------------------------------------- $per_page = "5"; // Anzahl der News die Pro Seite ausgegeben werden sollen $p = "5"; // Anzahl der Links die in der Seitenavigation ausgegeben werden isset($_GET['go']) ? $go = clean_it($_GET['go']) : $go = ''; // Variable definieren list ($start, $ende) = get_navi($go, $total, $pfad, false, $per_page, $p); // ---------------------- ENDE Seitennavigationsdaten---------------------------------------------- $abfrage = mysql_query("SELECT id, name, email, url, comment, DATE_FORMAT(date, '%d.%m.%Y') AS datum FROM comments WHERE news_id='$id' ORDER BY date DESC LIMIT $start,$ende"); if($total < 1){ // Pruefen ob Eintraege vorhanden echo "<p>Bisher sind noch keine Kommentare vorhanden ...</p>"; }else{ echo "<ul class=\"list\">"; // Kommentare ausgeben ausgeben while($row = mysql_fetch_object($abfrage)){ if(empty($row->url)){ // Pruefen ob Website angegeben $autor = $row->name; // Variable definieren }else{ // Wenn Website angegeben $autor = "<a href=\"".$row->url."\">".$row->name."</a>"; } $default = "http://www.deine-seite.de/default.jpg"; // Standard GRAVATAR Icon - BITTE ANGEBEN $grav_url = "http://www.gravatar.com/avatar/".md5(strtolower(trim($row->email)))."?d=".urlencode($default)."&s=40"; echo "<li>\n"; echo "<img src='".$grav_url."' alt='' class='go_left'/>"; echo "<p>".bbcode($row->comment)."</p>\n"; echo "<small>schreib ".$autor." am ".$row->datum."\n"; echo "</small>\n </li>\n"; } // close while echo "</ul>\n<br />"; // -------------------------------------- Seitennavigation ausgeben ---------------------------- // Blaetterfunktion aufrufen = > Ausgeben get_navi($go, $total, $pfad, true, $per_page, $p); // -------------------------------------- Seitennavigation ende -------------------------------- } // close Eintrage vorhanden //------------------------------------------------------------------------------ // Kommentar verfassen //------------------------------------------------------------------------------ if(isset($_POST['submit'])){ // Sofern Submit gedrueckt $name = clean_it($_POST['name']); // Variable definieren $email = clean_it($_POST['email']); // Variable definieren $url = clean_it($_POST['url']); // Variable definieren $comment = clean_it($_POST['comment']); // Variable definieren $math = clean_it($_POST['math']); // Variable definieren $ip = clean_it($_SERVER['REMOTE_ADDR']);// Variable definieren if(empty($name) || empty($email) || empty($comment) || empty($math)){ // pruefen ob alles Benoetigte ausgefuellt wurde echo get_error('Bitte Danke alle benoetigten Felder ausfuellen!'); }else{ // wenn alles Benoetigte ausgefuellt wurde if($math != 7){ // Antispam-Rechnung pruefen echo get_error('Die hast die Rechenaufgabe nicht korrekt geloest!'); }else{ // Wenn richtig gerechnet wurde if (!(eregi("^.+@.+\..+$", $email))){ // Email Adresse auf korrektheit pruefen echo get_error('Du hast keine korrekte E-Mail Adresse angegeben!'); }else{ // Sofern ne korrekte Email Adresse angegeben wurde // Abfragen ob schon ein Kommentar in den letzen 2 Min zu diesem Artikel verfasst wurde... $check_ip = mysql_query("SELECT id FROM comments WHERE ip='$ip' AND news_id='$id' AND date > now() - INTERVAL 2 MINUTE "); if(mysql_num_rows($check_ip) > 1){ // sofern schon ein Kommentar in den letzen 2 Minuten => Warnung echo get_error('Du hast schon einen Kommentar in den letzen 2 Minuten hinterlassen!<br /> Probier es doch spaeter noch mal ;)'); }else{ // sofern noch kein Kommentar in den letzen 2 Min verfasst $eintragen = mysql_query("INSERT INTO comments (name, email, url, comment, news_id, date, ip) VALUES ('$name','$email', '$url', '$comment', '$id', now(), '$ip')"); if($eintragen){ // Sofern Eintrag geklappt hat header("Location: ".$pfad."?id=".$id.""); // Weiterleitung }else{ // Wenn Eintrag nicht geklappt hat => Fehlermeldung echo get_error(' Der Eintrag war leider nicht erfolgreich! ".mysql_error()."'); } } // close check_ip } // close check email } // close Antispam }// close empty }// close isset //------------------------------------------------------------------------------ // Formular ausgeben //------------------------------------------------------------------------------ ?> <br /><br /> <script type="text/javascript"> /* Funtionn BBCode */ var n = 1; function add(code) { document.getElementById('bbcode').comment.value += " " + code ; } </script> <form action="" method="post" id="bbcode"> <fieldset> <legend>Kommentar hinterlassen</legend> <label>Name</label> <input type="text" name="name" value="<?= $name; ?>" /><br /> <label>Email</label> <input type="text" name="email" value="<?= $email; ?>" /><br /> <label>URL</label> <input type="text" name="url" value="<?= $url; ?>" /><br /> <?php get_bbcode('comi'); /* BBCode ausgeben */ ?> <textarea rows="5" cols="50" name="comment"><?= $comment; ?></textarea> <br /><br /> <label>AntiSpam</label> Die Summe aus 5 + 2 = <input type="text" name="math" style="width: 50px"/><br /><br /> <input type="submit" value="Eintragen" name="submit" class="button"/> </fieldset> </form> </div> <?php }// close ID uebergeben ob_end_flush(); // leert den Ausgabepuffer ?> </div> <div id="footer"> <p><a href="http://unnecessary.de">GrafixxNews</a> - <a href="http://alice-grafixx.de" titel="Photoshop Community"> Alice-Grafixx.de</a></p> </div> </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 ...