Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?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
- if(!isset($_SESSION['login'])){ // Sofern NICHT eingeloggt => admin
- $comment = preg_replace("/\[video\](.*)\[\/video\]/Usi", "\1", $comment); // VIDEO BBCode rausfiltern
- }
- // 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/beendet den Ausgabepuffer
- ?>
- </div>
- <div id="footer">
- <p><a href="http://retrotown.ws">RetroTown</a> ยท <a href="http://retrotown.ws" titel="RetroTown">Retrotown.ws</a></p>
- </div>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement