Kommentarbereich mit PHP erstellen

Erstellt am: Montag, 24. Okt 2005, 00:00
Zuletzt geändert am: Mittwoch, 12. Sep 2007, 14:28

Dieses Document befindet sich noch im Aufbau.

MySQL

Die Tabelle sieht wie folgt aus:

CREATE TABLE `comments` (
  `id` int(11) NOT NULL,
  `page` varchar(32) collate latin1_general_ci NOT NULL,
  `comment` text collate latin1_general_ci NOT NULL,
  `name` text collate latin1_general_ci NOT NULL,
  `date` int(11) NOT NULL default '0',
  `email` text collate latin1_general_ci NOT NULL,
  `hp` text collate latin1_general_ci NOT NULL,
  `answer` text collate latin1_general_ci NOT NULL,
  `ip` varchar(15) collate latin1_general_ci NOT NULL default '',
  `hostid` text collate latin1_general_ci NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
Der SQL-Code wird in der entsprechenden Datenbank ausgeführt.

PHP

Es müssen erstmal 3 Dateien in einem Ordner erstellt werden (config.php, addkoment.php, SQLadd.php).

config.php

<?php
 $db_server = "localhost";
 $db_name = "{Datenbankname (Dein Username bei Funpic)}";
 $db_user = "{Dein Username bei Funpic}";
 $db_passwort = "{Dein MySQL-Passwort}";
 //Geschwungene Klammern müssen ersetzt werden.?>

addkoment.php

<?php
 require_once("config.php");
 $db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort) or
 die ("Konnte keine Verbindung zur Datenbank herstellen");
 $db_check = @MYSQL_SELECT_DB($db_name,$db);

function comment($id,$page_depth=1)
{
 $code="";
 $result = mysql_query("SELECT * FROM comments WHERE  page='".$id."'");
 $menge = mysql_num_rows($result);
 $a=0;
 while($row = mysql_fetch_row($result))
 {
  $comment_id=$row[0]; //INT (11)  $comment_page=$row[1];
  $comment_comment=$row[2];  //Text  $comment_name=$row[3];
  $comment_date=$row[4];
  $comment_email=$row[5];
  $comment_hp=$row[6];
  $comment_answer=$row[7];
  $comment_ip=$row[8];
  $comment_hostid=$row[9];

  $code.="    <div class=\"message\">\n";
  $code.="     <h3>\n";
  if(!empty($comment_email))
  {
   $code.="<a href=\"mailto:".$comment_email."\">";
   $code.=edit_comment($comment_name,$page_depth)."</a>";
  }
  else
  {
   $code.=edit_comment($comment_name,$page_depth);
  }

  if(!empty($comment_hp))
  {
   $code.="     <span class=\"homepage\"><a href=\"http://".$comment_hp."\">";
   $code.="<img src=\"";
   $code.=str_repeat('../', $page_depth);
   $code.="images/adresse.gif\" alt=\"(Homepage)\" />";
   $code.="</a></span>\n";
  }
  $code.="</h3>\n";
  $code.=create_datetime($comment_date);
  $code.="     <p>".edit_comment($comment_comment,$page_depth)."</p>\n";

  if(!empty($comment_answer))
  {
   $code.="     <p class=\"answer\" >Antwort des Admin:</p>\n";
   $code.="     <p>".edit_comment($comment_answer,$page_depth)."</p>\n";
  }

  $code.="    </div>\n";
  $code.="    <div style=\"clear:both;\"></div>\n";
  $a++;
  #if($a<$menge) { $code.="    <hr />\n"; }
 }
 if(!$menge) { return 0; }
 else { return $code; }
}
?>