Advertisement
Guest User

comments.php

a guest
Dec 1st, 2016
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 7.67 KB | None | 0 0
  1. <?php // comments.php
  2.  
  3. include('config.inc.php');  // DB-Verbindung einbinden
  4.  
  5.  ob_start();    // startet den Ausgabepuffer
  6. ?>
  7. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  8. <html xmlns="http://www.w3.org/1999/xhtml">
  9.  
  10. <head>
  11.     <title>GrafixxNews</title>
  12.  
  13.     <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  14.     <meta http-equiv="imagetoolbar" content="no" />
  15.     <meta http-equiv="Content-Language" content="de" />
  16.  
  17.     <link rel="stylesheet" href="style.css" type="text/css" />
  18. </head>
  19. <body>
  20.  
  21.     <div id="ram">
  22.    
  23.         <div id="header">
  24.             <h1>GrafixxNews</h1>
  25.         </div>
  26.    
  27.        
  28.         <div id="content">
  29. <?php
  30.  
  31. if(!isset($_GET['id'])){ // Sofern keine ID uebergeben wurde => Fehlermeldung
  32.    
  33.     echo "<div class=\"error\"><h2>Error ...</h2>\n";
  34.     echo "<p>Es wurde keine ID uebermittelt ...</p>\n</div>\n";
  35.  
  36. }else{ // Wenn ID uebergeben wurde
  37.  
  38. $id = clean_it($_GET['id']); // Variable definieren
  39. $pfad = "comments.php?id=".$id."&amp;go=";  // aktuellen Dateipfad ermitteln
  40.  
  41.     // Artikel abrufen
  42.     $artikel = mysql_query("SELECT id, autor, title, news, DATE_FORMAT(date, '%d.%m.%Y') AS datum FROM news WHERE id='$id'");
  43.  
  44.     // Artikel ausgeben ausgeben
  45.     while($row = mysql_fetch_object($artikel)){
  46.        
  47.         echo "<div class=\"news\">\n";
  48.         echo "<h2>".$row->title."</h2>\n";
  49.         echo "<p>".bbcode($row->news)."</p>";
  50.         echo "</div>\n";
  51.    
  52.     } // close while
  53.    
  54.     echo "<h2>Kommentare</h2>";
  55.  
  56.     // Kommentare abfragen
  57.     $result = mysql_query("SELECT id FROM comments WHERE news_id='$id'");
  58.     $total = mysql_num_rows($result);                   // Anzahl aller Zeilen in DB ermitteln
  59. // ---------------------- Seitennavigationsdaten --------------------------------------------------
  60.    
  61. $per_page = "5";      // Anzahl der News die Pro Seite ausgegeben werden sollen
  62. $p = "5";                  // Anzahl der Links die in der Seitenavigation ausgegeben werden
  63.  
  64. isset($_GET['go']) ? $go = clean_it($_GET['go']) : $go = ''; // Variable definieren
  65.  
  66. list ($start, $ende) = get_navi($go, $total, $pfad, false, $per_page, $p);
  67.  
  68. // ---------------------- ENDE Seitennavigationsdaten----------------------------------------------
  69.  
  70.     $abfrage = mysql_query("SELECT id, name, email, url, comment, DATE_FORMAT(date, '%d.%m.%Y') AS datum
  71.                             FROM comments WHERE news_id='$id' ORDER BY date DESC LIMIT $start,$ende");
  72.    
  73.     if($total < 1){ // Pruefen ob Eintraege vorhanden
  74.         echo "<p>Bisher sind noch keine Kommentare vorhanden ...</p>";
  75.     }else{
  76.    
  77.      echo "<ul class=\"list\">";
  78.        
  79.         // Kommentare ausgeben ausgeben
  80.         while($row = mysql_fetch_object($abfrage)){
  81.    
  82.             if(empty($row->url)){ // Pruefen ob Website angegeben
  83.                
  84.                 $autor = $row->name; // Variable definieren
  85.                
  86.                 }else{ // Wenn Website angegeben
  87.                
  88.                 $autor = "<a href=\"".$row->url."\">".$row->name."</a>";
  89.             }
  90.            
  91.             $default = "http://www.deine-seite.de/default.jpg"; // Standard GRAVATAR Icon - BITTE ANGEBEN
  92.  
  93.             $grav_url = "http://www.gravatar.com/avatar/".md5(strtolower(trim($row->email)))."?d=".urlencode($default)."&s=40";
  94.  
  95.             echo "<li>\n";
  96.             echo "<img src='".$grav_url."' alt='' class='go_left'/>";
  97.  
  98.        
  99.             echo "<p>".bbcode($row->comment)."</p>\n";
  100.             echo "<small>schreib ".$autor." am ".$row->datum."\n";
  101.             echo "</small>\n </li>\n";
  102.        
  103.         } // close while
  104.    
  105.      echo "</ul>\n<br />";
  106.  
  107. // -------------------------------------- Seitennavigation ausgeben ----------------------------
  108. // Blaetterfunktion aufrufen = > Ausgeben
  109. get_navi($go, $total, $pfad, true, $per_page, $p);
  110. // -------------------------------------- Seitennavigation ende --------------------------------
  111.  
  112.     } // close Eintrage vorhanden
  113.  
  114. //------------------------------------------------------------------------------
  115. // Kommentar verfassen
  116. //------------------------------------------------------------------------------
  117.  
  118. if(isset($_POST['submit'])){ // Sofern Submit gedrueckt
  119.  
  120.     $name = clean_it($_POST['name']);       // Variable definieren
  121.     $email = clean_it($_POST['email']);     // Variable definieren
  122.     $url = clean_it($_POST['url']);         // Variable definieren
  123.     $comment = clean_it($_POST['comment']); // Variable definieren
  124.     $math = clean_it($_POST['math']);       // Variable definieren
  125.     $ip = clean_it($_SERVER['REMOTE_ADDR']);// Variable definieren
  126.  
  127.  
  128.     if(empty($name) || empty($email) || empty($comment) || empty($math)){ // pruefen ob alles Benoetigte ausgefuellt wurde
  129.  
  130.         echo get_error('Bitte Danke alle benoetigten Felder ausfuellen!');
  131.        
  132.     }else{ // wenn alles Benoetigte ausgefuellt wurde
  133.    
  134.         if($math != 7){ // Antispam-Rechnung pruefen
  135.            
  136.             echo get_error('Die hast die Rechenaufgabe nicht korrekt geloest!');
  137.                    
  138.         }else{ // Wenn richtig gerechnet wurde
  139.        
  140.             if (!(eregi("^.+@.+\..+$", $email))){ // Email Adresse auf korrektheit pruefen
  141.            
  142.                 echo get_error('Du hast keine korrekte E-Mail Adresse angegeben!');
  143.                        
  144.             }else{ // Sofern ne korrekte Email Adresse angegeben wurde
  145.            
  146.                 if(!isset($_SESSION['login'])){ // Sofern NICHT eingeloggt => admin
  147.                    
  148.                     $comment = preg_replace("/\[video\](.*)\[\/video\]/Usi", "\1", $comment); // VIDEO BBCode rausfiltern
  149.  
  150.                 }
  151.                
  152.                 // Abfragen ob schon ein Kommentar in den letzen 2 Min zu diesem Artikel verfasst wurde...
  153.                 $check_ip = mysql_query("SELECT id FROM comments WHERE ip='$ip' AND news_id='$id' AND date > now() - INTERVAL 2 MINUTE ");
  154.    
  155.                 if(mysql_num_rows($check_ip) > 1){ // sofern schon ein Kommentar in den letzen 2 Minuten => Warnung
  156.                
  157.                     echo get_error('Du hast schon einen Kommentar in den letzen 2 Minuten hinterlassen!<br />
  158.                                     Probier es doch spaeter noch mal ;)');         
  159.                
  160.                 }else{ // sofern noch kein Kommentar in den letzen 2 Min verfasst
  161.            
  162.                     $eintragen = mysql_query("INSERT INTO comments (name, email, url, comment, news_id, date, ip)
  163.                                               VALUES ('$name','$email', '$url', '$comment', '$id', now(), '$ip')");
  164.                
  165.                     if($eintragen){ // Sofern Eintrag geklappt hat
  166.                
  167.                             header("Location: ".$pfad."?id=".$id.""); // Weiterleitung
  168.                
  169.                     }else{ // Wenn Eintrag nicht geklappt hat => Fehlermeldung
  170.                
  171.                         echo get_error(' Der Eintrag war leider nicht erfolgreich! ".mysql_error()."');
  172.                     }
  173.        
  174.                 } // close check_ip
  175.             } // close check email
  176.         } // close Antispam
  177.     }// close empty
  178.        
  179. }// close isset
  180.  
  181. //------------------------------------------------------------------------------
  182. // Formular ausgeben
  183. //------------------------------------------------------------------------------
  184. ?>
  185. <br /><br />
  186. <script type="text/javascript">
  187. /* Funtionn BBCode */
  188. var n = 1;
  189. function add(code) {
  190.          document.getElementById('bbcode').comment.value += " " + code ;
  191. }
  192. </script>
  193.  
  194. <form action="" method="post" id="bbcode">
  195.     <fieldset>
  196.         <legend>Kommentar hinterlassen</legend>
  197.        
  198.         <label>Name</label>
  199.         <input type="text" name="name" value="<?= $name; ?>" /><br />
  200.        
  201.         <label>Email</label>
  202.         <input type="text" name="email" value="<?= $email; ?>" /><br />
  203.        
  204.         <label>URL</label>
  205.         <input type="text" name="url" value="<?= $url; ?>" /><br />
  206.        
  207.         <?php get_bbcode('comi'); /* BBCode ausgeben */ ?>
  208.  
  209.         <textarea rows="5" cols="50" name="comment"><?= $comment; ?></textarea>
  210.         <br /><br />
  211.        
  212.         <label>AntiSpam</label>
  213.         Die Summe aus 5 + 2 = <input type="text" name="math" style="width: 50px"/><br /><br />
  214.  
  215.         <input type="submit" value="Eintragen" name="submit" class="button"/>
  216.     </fieldset>
  217. </form>
  218.  
  219. </div>
  220. <?php
  221.  
  222. }// close ID uebergeben
  223.  
  224.     ob_end_flush(); // leert/beendet den Ausgabepuffer
  225. ?> 
  226.     </div>
  227.    
  228.     <div id="footer">          
  229.         <p><a href="http://retrotown.ws">RetroTown</a> ยท <a href="http://retrotown.ws" titel="RetroTown">Retrotown.ws</a></p>
  230.     </div> 
  231.        
  232.    
  233. </body>
  234. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement