Anteriormente os publiqué un sistema de comentarios que funcionaba con archivos de texto, esta vez vengo a publicar un sistema de comentarios que funcione con la base de datos, en un solo archivo, para usarlo necesitareis una base de datos mysql, y configurar el archivo. Tan solo esta en un archivo, y si os gusta le puedo añadir funciones como eliminar los comentarios.
Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<?php
$autor = josesd;
if($autor != josesd){ echo "Borraste el copiright";} else {
//Conexion a la base de datos
$dbhosting ='Aqui'; //hosting de tu base de datos
$usuario='Aqui'; //usuario de la base de datos
$contrasena='Aqui'; //contraseña de la base de datos
$nombrebase='Aqui'; //nombre de tu base de datos
$tabla='comentarios'; //nombre de la tabla en la base de datos
mysql_connect ($dbhosting, $usuario, $contrasena);
mysql_select_db($nombrebase) or die('No se pudo conectar.');
if($_POST[enviar]){
$sql = "INSERT INTO $tabla (id, nick, comentario) VALUES ('$id','$_POST[nick]','$_POST[comentario]')";
$consult = mysql_query($sql) or die("Hubo un error al grabar el mensaje");
}
$select = "Select * from $tabla order by id DESC";
$sel = mysql_query($select);
$total = mysql_num_rows($sel);
?>
<table border="0" width="500px">
<tr>
<td align="right">Total comentarios: <?php echo $total ?></td>
</tr>
<tr>
</table>
<?php
while ($row = mysql_fetch_assoc($sel))
{
$id = $row["id"];
$nick = $row["nick"];
$comentario = $row["comentario"];
?>
<table border="0" width="500px">
<tr>
<td style="border-bottom: 1px solid black;">Nick: <?php echo $nick; ?></td>
<tr><tr>
<td style="border-bottom: 1px solid black;">Comentario:
<?php echo $comentario; ?>
</td>
</tr>
<?php
}
?>
<tr>
</table>
<table width="500px">
<tr>
<td style="border-left: 1px solid black; border-right: 1px solid black;border-bottom: 1px solid black">
<form action="#" method="post" class="style2">
<table width="250" border="0">
<tr>
<td><input type="hidden" name="id" value="<?$id?>"></td>
</tr>
<tr>
<th scope="col">Nick</th>
</tr>
<tr>
<th scope="col"><input name="nick" type="text" id="nick" /></th>
</tr>
<tr>
<th scope="row">Comentario</th>
</tr>
<tr>
<th scope="row"><textarea name="comentario" style="margin : 0px 0px 0px 40px;" id="nick" cols="30" rows="10"></textarea> </th>
</tr>
</table>
<input type="submit" value="Enviar" name="enviar" style="margin : 0px 0px 0px 40px;"/>
</form>
</td></tr></table>
<table border="0" width="500px">
<tr>
<td align="right">Creado por <?php echo $autor ?></td>
</tr>
<tr>
</table>
</body>
<?php } ?>
La tabla es la siguiente:
Código:
CREATE TABLE `comentarios` ( // pon el nombre que tu quieras a la tabla, lo demas no lo toques.
`id` int(10) NOT NULL auto_increment
`nick` varchar(20) NOT NULL
`comentario` varchar(255) NOT NULL
) ENGINE=MyISAM
Como siempre, pueden probarlo aquí:
http://josesd.22web.net/cctw/examples/bd/
Y si surge cualquier problema comentar y intentare solucionarlo.