Como Hacer Un Sistema De Comentarios

Hola, Quisiera Saber Como Puedo Hacer Un Sistema De Comentarios Como El De Este Blog www.daniel11.ohlog.com

Se Los Agradeceria Mucho. :D
Daniel1203 escribió:Hola, Quisiera Saber Como Puedo Hacer Un Sistema De Comentarios Como El De Este Blog www.daniel11.ohlog.com

Se Los Agradeceria Mucho. :D
Hola, son varios archivos y necesitas tener acceso a tu base de datos, te dejo las instrucciones aca:
archivo:menu.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd"> 
<html>
<head>
<title>Libro de visitas</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<h1>Menú de opciones</h1>
1 - [url="creartabla.php"]Creación de la tabla.[/url]

2 - [url="visitas.html"]Carga en el libro de visitas.[/url]

3 - [url="listado.php"]Listado de visitas.[/url]

</body>
</html>
archivo:creartabla.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Creación de la tabla.</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php

$conexion=mysql_connect("localhost","pepe","123456") or
  die("Problemas en la conexion");
mysql_select_db("visitas",$conexion) or
  die("Problemas en la selección de la base de datos");

$registros=mysql_query("drop table if exists librovisitas",$conexion) or
  die("Problemas en el select:".mysql_error());

mysql_query("create table librovisitas (
                            codigo int auto_increment primary key,
                            nombre varchar(50),
                            mail varchar(70),
                            comentarios text,
							valoracion tinyint,
							fechahora datetime
                         )",$conexion) or
  die("Problemas :".mysql_error());

mysql_close($conexion);

?>


Se creó la tabla.


[url="menu.html"]Retornar[/url]</p>
</body>
</html>
archivo:visitas.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd"> 
<html>
<head>
<title>Visita</title>
<script type="text/javascript" src="funciones.js"></script>
<link rel="StyleSheet" href="estilos.css" type="text/css">
</head>
<body>
<form method="post" action="visitas.php" id="formulario1">
<fieldset id="recuformulario">
<legend>Registre sus datos</legend>


<label for="nombre">Ingrese su nombre:<span class="obligatorio">*</span></label>
<input type="text" name="nombre" id="nombre" size="50" maxlength="50"></p>


<label for="mail">Ingrese su mail (no se muestra):<span class="obligatorio">*</span></label>
<input type="text" name="mail" id="mail" size="50" maxlength="70"></p>


<label for="valoracion">Ingrese su valoración:</label>
<select name="valoracion" id="valoracion">
<option value="0">sin valorar</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
</select>
</p>


<label for="comentarios">Comentarios:<span class="obligatorio">*</span></label>
<textarea name="comentarios" id="comentarios" rows="7" cols="60"></textarea></p>


<label for="mail">Ingrese valor:<span class="obligatorio">*</span></label>
<input type="text" name="captcha" id="captcha" size="6" maxlength="6">[img]captcha.php[/img]</p>


<input type="submit" value="Confirmar" id="confirmar">
<input type="button" value="Cancelar" id="cancelar" onclick="javascript:window.history.back()">
</p>
</fieldset>
</form>
</body>
</html>
archivo:funciones.js
addEvent(window,'load',inicializarEventos,false);

function inicializarEventos()
{
  var ref=document.getElementById('formulario1');
  addEvent(ref,'submit',enviarDatos,false);
}

function validarMail(valor) 
{ 
  if (/^[0-9a-zA-Z0-9_\-\.]+@[a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[.][a-zA-Z]{2,3}$/.test(valor))
    return true
 else 
   return false;
}

function enviarDatos(e)
{
  var mail=document.getElementById('mail');
  var errores='';
  if (!validarMail(mail.value))
    errores+='Mail incorrecto.\n';
  var nombre=document.getElementById('nombre');
  if (nombre.value=='')
    errores+='No ingresó el nombre.\n';	
  var comentarios=document.getElementById('comentarios');
  if (comentarios.value=='')
    errores+='No ingresó comentarios.\n';
  var captcha=document.getElementById('captcha');
  if (captcha.value=='')
    errores+='No ingresó el código de verificación.';			
  if (errores=='')
    return true;
  else
  {
    alert(errores);	  	  
    if (e.preventDefault)
      e.preventDefault();
    return false;
  }	
}

function addEvent(elemento,nomevento,funcion,captura)
{
  if (elemento.attachEvent)
  {
    elemento.attachEvent('on'+nomevento,funcion);
    return true;
  }
  else  
    if (elemento.addEventListener)
    {
      elemento.addEventListener(nomevento,funcion,captura);
      return true;
    }
    else
      return false;
}
archivo: estilos.css
input {
  padding:3px;
}
fieldset {
  width: 800px;
  font-family:arial;
  font-weight:bold;
  padding:10px;
}
#formulario1 label {
  float:left;
  width:250px;
  background:#ddd;
  text-align:right;
  margin-right:.5em;
  padding:.25em;
}
#formulario1 p {
  font-size:16px;
  font-weight:normal;
}
.obligatorio {
  color:#f00;
}
.comentarios {
  width:760px;
  background-color:#CDEB8B;
  font-family:arial;
  font-size:20px;
  margin-bottom:30px;
}
.descrivisita {
  font-size:13px;
}
archivo:visitas.php
<?php
  session_start();
?>  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Registro de visita</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?php

function validarDatos()
{
  $errores='';
  if ($_SESSION['captcha']!=$_REQUEST['captcha'])
     $errores.='[*]Ingreso del código de verificación incorrecto.';
  if ($_REQUEST['nombre']=='')
     $errores.='[*]El nombre no puede estar vacío.';
  if ($_REQUEST['mail']=='')
     $errores.='[*]El mail no puede estar vacío.';
  if ($_REQUEST['comentarios']=='')
     $errores.='[*]Los comentarios están vacíos.';
  if (strlen($errores)=='')
    return true;
  else
  {
    echo "[list=1]$errores[/list]";
    echo '[url="javascript:window.history.back()"]Retornar[/url]';	   
    return false;
  }	
}

function alta()
{
  if (validarDatos())
  {
    $nombre=strip_tags($_REQUEST['nombre']);
    $mail=strip_tags($_REQUEST['mail']);
    $valoracion=$_REQUEST['valoracion'];
    $comentarios=strip_tags($_REQUEST['comentarios']);
	
    $conexion=mysql_connect("localhost","pepe","123456") or
	  die("Problemas en la conexion");
    mysql_select_db("visitas",$conexion) or
  	  die("Problemas en la selección de la base de datos");
	
    mysql_query("insert into librovisitas(nombre,mail,comentarios,valoracion,fechahora) values
		   ('$nombre','$mail','$comentarios',$valoracion,now())",$conexion) or
	  die("error:".mysql_error());
	  
    mysql_close($conexion);  
    echo 'Datos registrados
';
    echo '[url="menu.html"]Ir al menú[/url]';
  }
}

alta();  
?>
</body>
</html>
archivo: captcha.php
<?php
  require('rutinas.php');
  $ancho=100;
  $alto=22;
  $imagen=imageCreate($ancho,$alto);
  $azul=ImageColorAllocate($imagen,195,217,255);
  ImageFill($imagen,0,0,$azul);

  $clave=new ClaveAleatoria();
  $clave->fijarLongitud(6);
  $valoraleatorio=$clave->generar();
  
  session_start();
  $_SESSION['captcha']=$valoraleatorio;
  $rojo=ImageColorAllocate($imagen,255,0,0);
  $negro=ImageColorAllocate($imagen,0,0,0);
  for($c=0;$c<=3;$c++)
  {
    $x1=rand(0,$ancho);
    $y1=rand(0,$alto);
    $x2=rand(0,$ancho);
    $y2=rand(0,$alto);
    ImageLine($imagen,$x1,$y1,$x2,$y2,$negro);
  }
  ImageString($imagen,5,25,5,$valoraleatorio,$rojo);
  Header ("Content-type: image/png");
  ImagePNG ($imagen);
  ImageDestroy($imagen);
?>
archivo: rutinas.php
<?php
class ClaveAleatoria {
  private $longitud=10;
  private $numeros=true;
  private $mayusculas=true;

  public function sinNumeros()
  {
    $this->numeros=false;
  }
  
  public function sinMayusculas()
  {
    $this->mayusculas=false;
  }

  public function fijarLongitud($l)
  {
    $this->longitud=$l;
  }

  function generar()
  {
    $carac=array();
	if ($this->numeros)
      for($f=48;$f<=57;$f++)
        $carac[]=$f;
	if ($this->mayusculas)	
      for($f=65;$f<=90;$f++)
        $carac[]=$f;
    for($f=97;$f<=122;$f++)
    $carac[]=$f;
    $canti=sizeof($carac);
    $clave='';
    for($f=1;$f<=$this->longitud;$f++)
      $clave.=chr($carac[rand(0,$canti-1)]);
    return $clave;
  }
}  
?>
archivo:listado.php
<?php
if (isset($_REQUEST['pos']))
  $inicio=$_REQUEST['pos'];
else
  $inicio=0;
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Listado de visitantes</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="StyleSheet" href="estilos.css" type="text/css">
</head>

<body>

<?php
$conexion=mysql_connect("localhost","pepe","123456") or
  die("Problemas en la conexion");
mysql_select_db("visitas",$conexion) or
  die("Problemas en la selección de la base de datos");

$registros=mysql_query("select * from librovisitas order by codigo limit $inicio,4",$conexion) or
  die("Problemas en el select:".mysql_error());
echo '[url="menu.html"]Finalizar[/url]';
$impresos=0;
while ($reg=mysql_fetch_array($registros))
{
  $impresos++;
  if ($impresos==4)
    break;
  echo '<div class="comentarios">';	
  echo 'Fecha:<span class="descrivisita">'.$reg['fechahora'].'</span>
';
  echo 'Nombre:<span class="descrivisita">'.$reg['nombre'].'</span>
';
  echo 'Comentarios:<span class="descrivisita">'.nl2br($reg['comentarios']).'</span>
';
  echo 'Valoración:<span class="descrivisita">';
  if ($reg['valoracion']==0)
    echo 'sin valorar';
  else
    echo $reg['valoracion'];
  echo '</span>
';	
  echo '</div>';
}
mysql_close($conexion);
if ($inicio==0)
  echo "anteriores ";
else
{
  $anterior=$inicio-3;
  echo "<a href=\"listado.php?pos=$anterior\">Anteriores </a>";
}
if ($impresos==4)
{
  $proximo=$inicio+3;
  echo "<a href=\"listado.php?pos=$proximo\">Siguientes</a>";
}
else
  echo "siguientes";
?>

</body>
</html>
Para configurar eso, tenes que cambiar donde dice "localhost" por tu servicio de base de datos, al registrarte en un dominio te lo dice, despues, donde dice "pepe" cambialo por el nombre de usuario de tu base de datos, por ultimo donde dice "123456" cambialo por tu contraseña al dominio. Casi me olvido, tenes que crear una base de datos llamada "visitas" desde el panel de control de tu servidor, y con eso ya tenes un libro de visitas, como suele tener un blog. Saludos.
Hola gracias por tu aporte esta buenisimo solo que tengo un pequeno problema talves me puedes ayudar eh aqui el codigo

Fatal error: Class 'ClaveAleatoria' not found in C:\AppServ\www\comment\captcha.php on line 15

$clave =new ClaveAleatoria();
$clave->fijarLongitud(6);
$valorAleatorio=$clave->generar();

espero tu respuesta gracias por tu aporte nueva mente..