logo El diario de Pepe Molina (Caricatos)

yo

Seguimos con esta serie de apuntes para crear un sistema de comentarios, y si bien es muy sencilla la parte teórica para hacerlo, debemos considerar importantes cuestiones adicionales.


Última caricatura

IV Asamblea de la AEC: IV Asamblea General de la Asociación Española de Caricaturistas

IV Asamblea de la AEC

RSS de las imágenes: rss


La Cita

Lo más incomprensible del Universo es que sea comprensible

Albert Einstein, físico y matemático (1879-1955).


En esta zona están las páginas personales del autor.


Mis clientes ahora también son mis amigos (aunque les cobre).


En Mis amigos Informáticos hay una pequeña colección de páginas de colegas webmasters..


En Mis amigos artistas podemos encontrar artistas de cualquier índole (dibujantes, pintores, escritores...)


Las recomendaciones que proponemos son de índole variada.


Aquí un cajón de sastre de enlaces.


Nos referencian desde sitios de toda índole.


Puede contribuir a mantener esta página con su donativo.


botón pay-pal

Sistema de comentarios paso a paso: El formulario

emoticón de Caricatos Publicado el día 11 de noviembre de 2012
id=101; categorías: Así se hizo, Vicisitudes de un Webmaster, Globalización, Programación

Seguimos con esta serie de apuntes para crear un sistema de comentarios, y si bien es muy sencilla la parte teórica para hacerlo, debemos considerar importantes cuestiones adicionales.

Recordemos la estructura de datos con el código para crear nuestra tabla:

CREATE TABLE IF NOT EXISTS `comentarios`	(
	`nombre` varchar(50) NOT NULL,
	`activo` tinyint(1) NOT NULL,
	`comentario` text NOT NULL,
	`referido` varchar(100) NOT NULL,
	`fecha` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
	`id` int(11) NOT NULL AUTO_INCREMENT,
	PRIMARY KEY (`id`)
);

De todos los campos de nuestra tabla, nos interesa el nombre y el comentario, y de ellos tan solo el comentario debería ser obligatorio (según nuestro criterio); entonces se nos antoja que se tratará de un trabajo sencillo pero aquí entran esas cuestiones adicionales, de las que la seguridad es primordial.

El campo "activo" sería otro "omitible", pero por nuestra experiencia no nos olvidamos de él (en nuestra lucha encarnizada contra el spam). Y el campo referido podría estar oculto o como en el sistema de comentarios de nuestro diario, seleccionable por radios (Podemos fijarnos en alguno de los apuntes con comentarios como Transiciones: Introducción, donde existen 2 elementos "radio" uno para el apunte y otro para el comentario existente en el mismo); pero no es nuestra intención dificultar la comprensión con códigos más complejos.

Tanto el campo fecha como el campo id los genera el sistema en el servidor.

Validaciones

La razón por la que usamos el plural es porque siempre aconsejamos que sean dos (2) validaciones: en el navegador con javascript, y la más segura en el servidor con el lenguaje que tengamos (en nuestro caso php).

Debemos evitar los formularios vacíos o con etiquetas html (posiblemente maliciosas). También deberíamos considerar el spam, y para ello se puede incluir un código de seguridad del tipo "captcha", donde sencillamente debe coincidir el código introducido en un campo de texto con el valor de una variable de sesión en el servidor:

$captchaBueno = ($_SESSION["captcha"] == $_POST["captcha"]);

No nos explayaremos más sobre las validaciones ya que tenemos un tutorial bastante completo en: El abc de los formularios, además del artículo Ponga comentarios en su web.

Algunos códigos

Nos abstraeremos de mostrar códigos complejos, aunque procuraremos que sean completos. Empezaremos por el formulario:

<form action="enviarComentario.php" method="post" enctype="application/x-www-form-urlencoded">
<input type="hidden" name="pagina" value="<?php echo $pagina; ?>" />
<label for="nombre">Nombre</label>: <input type="text" id="nombre" name="nombre" />
<br/>
<label for="mensaje">comentario</label>:
<textarea name="comentario" id="mensaje"></textarea>
<br/>
</form>

Y en el servidor recogemos los datos y actualizamos la base de datos:

<?php
$nombre = $_POST["nombre"];
$comentario = $_POST["comentario"];
$pagina = $_POST["pagina"];

// ... y luego de validar... //

$sql = "insert into $tabla_comentarios (nombre, comentario, referido, fecha) values ('$nombre', '$comentario', '$pagina', 'now()')";
@mysql_query($sql);
?>

Si todo ha ido bien, ya se pueden insertar los primeros comentarios. Ahora tenemos que pensar ¿cómo mostrarlos?...

Zona de comentarios

Este apunte aún no tiene comentarios.

Evaluación

Valoración de esta página: (apunte.101) valor

Valoración evaluar evaluar evaluar evaluar evaluar evaluar evaluar evaluar evaluar evaluar

Respuesta: Zona de mensajes (proceso de evaluación)

Historial de navegación

Esta página ha sido visitada en 2949 ocasiones


Disponemos de rss sindicar

Y del Mapa del sitio, además del sitemap.xml.


Aquí podemos encontrar los apuntes más visitados.

"Top 10" reemplaza a la sección Últimos apuntes.


Una buena forma de buscar un apunte es a partir de su categoría.


También es posible buscar apuntes por medio de las etiquetas (tags).


Hemos decidido poner al alcance de todos algunos comodines.

Adjuntamos una versión reducida del "buscador interno" que vemos en la lista anterior:

Buscar en apuntes

También estamos recopilando antiguas páginas del sitio.


Desde este recuadro se puede hacer una búsqueda cronológica.


Se puede crear una postal nueva desde el enlace del sector "Otras páginas del dominio", o editar la que sale en el recuadro, pulsando sobre ella..

http://www.pepemolina.com/clipart/fondos/BCKGRD44.svg
http://www.pepemolina.com/clipart/fondos/1673.svg
http://www.pepemolina.com/postales/aves/ocellot2.gif
enlace a la postal
Copyright © 2002-2018 www.pepemolina.com
RSS rss | Ver Mapa del sitio