{"id":10997,"date":"2025-01-15T10:14:08","date_gmt":"2025-01-15T15:14:08","guid":{"rendered":"https:\/\/pruebasweb.argenispaz.com\/?p=10997"},"modified":"2025-01-16T10:03:17","modified_gmt":"2025-01-16T15:03:17","slug":"como-anadir-comentarios-en-html","status":"publish","type":"post","link":"https:\/\/pruebasweb.argenispaz.com\/index.php\/2025\/01\/15\/como-anadir-comentarios-en-html\/","title":{"rendered":"\u00bfC\u00f3mo a\u00f1adir comentarios en HTML?"},"content":{"rendered":"<p>[et_pb_section fb_built=\u00bb1&#8243; _builder_version=\u00bb4.21.0&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_row _builder_version=\u00bb4.21.0&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_column type=\u00bb4_4&#8243; _builder_version=\u00bb4.21.0&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_text _builder_version=\u00bb4.21.0&#8243; _module_preset=\u00bbdefault\u00bb hover_enabled=\u00bb0&#8243; global_colors_info=\u00bb{}\u00bb sticky_enabled=\u00bb0&#8243;]<\/p>\n<p>En el desarrollo de p\u00e1ginas web, los formularios son una pieza clave para interactuar con los usuarios, y entre ellos, los comentarios en HTML destacan por ser una herramienta eficaz para recoger <strong>opiniones, sugerencias o retroalimentaci\u00f3n<\/strong>. Estos formularios permiten que los visitantes de un sitio compartan sus ideas o comentarios de forma directa, creando un canal de comunicaci\u00f3n valioso entre los <strong>creadores del contenido y su audiencia<\/strong>.<\/p>\n<p>Un formulario de comentarios en HTML es una estructura b\u00e1sica que incluye campos como el <strong>nombre del usuario<\/strong>, su direcci\u00f3n de <strong>correo electr\u00f3nico<\/strong> y, por supuesto, un espacio para escribir el comentario. A pesar de su sencillez, este tipo de formulario puede personalizarse para adaptarse a cualquier estilo o necesidad espec\u00edfica del <a href=\"https:\/\/www.webempresa.com\/blog\/que-es-una-pagina-web-y-para-que-sirve.html%20\">sitio web<\/a>. Con el uso adecuado de <a href=\"https:\/\/www.webempresa.com\/blog\/que-es-html-para-que-sirve.html%20\">HTML<\/a>, <a href=\"https:\/\/www.webempresa.com\/blog\/que-es-css-y-para-que-sirve.html\">CSS<\/a> y Javascript, es posible dise\u00f1ar un formulario <strong>funcional, atractivo y responsivo<\/strong>.<\/p>\n<p>Este tipo de funciones son ideales para <a href=\"https:\/\/www.webempresa.com\/blog\/que-es-un-blog-para-que-sirve.html\">blogs<\/a>, <a href=\"https:\/\/www.webempresa.com\/blog\/como-crear-un-foro-en-wordpress.html\">foros<\/a> o cualquier p\u00e1gina que busque fomentar la <strong>interacci\u00f3n con su p\u00fablico<\/strong>. Los comentarios no solo enriquecen la experiencia del usuario al permitirles expresar su opini\u00f3n, sino que tambi\u00e9n pueden aportar valor al contenido, fortaleciendo la comunidad en torno al sitio.<\/p>\n<p>En esta gu\u00eda, aprenderemos a construir un formulario de comentarios en HTML desde cero. Exploraremos c\u00f3mo estructurar el c\u00f3digo, a\u00f1adir estilos con CSS y optimizar la experiencia del usuario. Si est\u00e1s listo para ofrecer a tus visitantes una forma sencilla y efectiva de interactuar con tu contenido, <strong>\u00a1comencemos!<\/strong><\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=\u00bb4.21.0&#8243; _module_preset=\u00bbdefault\u00bb hover_enabled=\u00bb0&#8243; global_colors_info=\u00bb{}\u00bb sticky_enabled=\u00bb0&#8243;]<\/p>\n<h2>\u00bfQu\u00e9 es una secci\u00f3n de comentarios en HTML?<\/h2>\n<p>Una secci\u00f3n de comentarios en HTML es un formulario interactivo dise\u00f1ado para que los visitantes de un sitio web puedan compartir sus pensamientos, preguntas o retroalimentaci\u00f3n de forma directa desde la p\u00e1gina. Este elemento es clave para que los creadores de contenido y su audiencia puedan <strong>interactuar<\/strong>, logrando una comunicaci\u00f3n directa que mejora la experiencia del usuario y enriquece el contenido.<\/p>\n<p>De forma sencilla, una secci\u00f3n de comentarios en HTML es una estructura construida con etiquetas de HTML, que incluye campos para capturar informaci\u00f3n del usuario, como su <strong>nombre<\/strong>, <strong>correo electr\u00f3nico<\/strong> y el <strong>mensaje<\/strong> que desean enviar. Esta funci\u00f3n se encuentra por lo general en <a href=\"https:\/\/www.webempresa.com\/blog\/que-es-un-blog-para-que-sirve.html\">blogs<\/a>, foros, tiendas en l\u00ednea y cualquier plataforma que busque involucrar de forma activa a su audiencia.<\/p>\n<p>[\/et_pb_text][et_pb_image src=\u00bbhttps:\/\/pruebasweb.argenispaz.com\/wp-content\/uploads\/2025\/01\/Add-Comment-2-Streamline-Brooklyn.png\u00bb title_text=\u00bbAdd-Comment-2&#8211;Streamline-Brooklyn\u00bb align=\u00bbcenter\u00bb _builder_version=\u00bb4.21.0&#8243; _module_preset=\u00bbdefault\u00bb width=\u00bb30%\u00bb max_width=\u00bb30%\u00bb global_colors_info=\u00bb{}\u00bb][\/et_pb_image][et_pb_text _builder_version=\u00bb4.21.0&#8243; _module_preset=\u00bbdefault\u00bb hover_enabled=\u00bb0&#8243; global_colors_info=\u00bb{}\u00bb sticky_enabled=\u00bb0&#8243;]<\/p>\n<p>La secci\u00f3n de comentarios sirve para que las personas participen, compartan opiniones, hagan preguntas o den su opini\u00f3n sobre un art\u00edculo, producto o servicio. Adem\u00e1s, este tipo de formulario no solo mejora la experiencia del usuario, sino que tambi\u00e9n contribuye al posicionamiento y la <a href=\"https:\/\/www.webempresa.com\/blog\/como-realizar-auditoria-seo-wordpress.html\">auditoria SEO<\/a> del sitio al generar contenido din\u00e1mico a trav\u00e9s de las interacciones de los usuarios.<\/p>\n<p>En esta gu\u00eda, veremos c\u00f3mo crear una secci\u00f3n de comentarios en HTML desde cero, dise\u00f1\u00e1ndola para que sea funcional, atractiva y f\u00e1cil de usar, asegurando una buena experiencia para los visitantes.<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=\u00bb4.21.0&#8243; _module_preset=\u00bbdefault\u00bb hover_enabled=\u00bb0&#8243; global_colors_info=\u00bb{}\u00bb sticky_enabled=\u00bb0&#8243;]<\/p>\n<h2>\u00bfC\u00f3mo incluir una secci\u00f3n de comentarios en HTML en una web?<\/h2>\n<p>Incluir una secci\u00f3n de comentarios en HTML en una p\u00e1gina web es un proceso sencillo pero esencial para fomentar la interacci\u00f3n con los visitantes. Esta secci\u00f3n permite a los usuarios compartir sus opiniones, ideas o preguntas, lo que enriquece el contenido y crea una experiencia m\u00e1s din\u00e1mica. Aqu\u00ed vamos a ver como podemos a\u00f1adir una secci\u00f3n de comentarios a nuestra web de manera efectiva.<\/p>\n<p><strong>Estructura b\u00e1sica en HTML<\/strong><\/p>\n<p>El primer paso es crear la estructura b\u00e1sica del formulario utilizando etiquetas de HTML. A continuaci\u00f3n, un ejemplo t\u00edpico de c\u00f3mo se ve un formulario de comentarios:<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=\u00bb4.21.0&#8243; _module_preset=\u00bbdefault\u00bb text_text_color=\u00bb#FFFFFF\u00bb background_color=\u00bb#2d2d4d\u00bb custom_padding=\u00bb24px|48px|24px|48px|false|false\u00bb hover_enabled=\u00bb0&#8243; border_radii=\u00bbon|8px|8px|8px|8px\u00bb global_colors_info=\u00bb{}\u00bb sticky_enabled=\u00bb0&#8243;]<\/p>\n<p>&lt;form action=\u00bbprocess_comment.php\u00bb method=\u00bbpost\u00bb&gt;<br \/>&lt;label for=\u00bbname\u00bb&gt;Nombre:&lt;\/label&gt;<br \/>&lt;input type=\u00bbtext\u00bb id=\u00bbname\u00bb name=\u00bbname\u00bb required&gt;<\/p>\n<p>&lt;label for=\u00bbemail\u00bb&gt;Correo electr\u00f3nico:&lt;\/label&gt;<br \/>&lt;input type=\u00bbemail\u00bb id=\u00bbemail\u00bb name=\u00bbemail\u00bb required&gt;<\/p>\n<p>&lt;label for=\u00bbcomment\u00bb&gt;Comentario:&lt;\/label&gt;<br \/>&lt;textarea id=\u00bbcomment\u00bb name=\u00bbcomment\u00bb rows=\u00bb5&#8243; required&gt;&lt;\/textarea&gt;<\/p>\n<p>&lt;button type=\u00bbsubmit\u00bb&gt;Enviar&lt;\/button&gt;<br \/>&lt;\/form&gt;<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=\u00bb4.21.0&#8243; _module_preset=\u00bbdefault\u00bb hover_enabled=\u00bb0&#8243; global_colors_info=\u00bb{}\u00bb sticky_enabled=\u00bb0&#8243;]<\/p>\n<p><strong>Implementar la funcion en el servidor<\/strong><\/p>\n<p>Aunque el formulario en HTML es el n\u00facleo visual, necesitaremos un script en el servidor (como PHP) para procesar y guardar los comentarios. Esto asegura que los datos ingresados sean almacenados o enviados de forma correcta.<\/p>\n<p><strong>Validaci\u00f3n del lado del cliente y servidor:<\/strong> debemos asegurarnos de validar los datos tanto en el navegador como en el servidor para evitar errores y posibles abusos.<\/p>\n<p><strong>Optimizaci\u00f3n para dispositivos m\u00f3viles:<\/strong> podemos utilizar un <a href=\"https:\/\/www.webempresa.com\/blog\/que-es-el-diseno-web-y-para-que-sirve.html\">dise\u00f1o web<\/a> responsivo para que la secci\u00f3n de comentarios funcione bien en cualquier dispositivo.<\/p>\n<p><strong>Mejora de la experiencia del usuario:<\/strong> agregar elementos como notificaciones de confirmaci\u00f3n tras enviar un comentario.<\/p>\n<p>Incluir una secci\u00f3n de comentarios en HTML no solo mejora la experiencia del usuario, sino que tambi\u00e9n enriquece el contenido de nuestra p\u00e1gina y fomentar una comunidad activa en torno a nuestro sitio web.<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=\u00bb4.21.0&#8243; _module_preset=\u00bbdefault\u00bb hover_enabled=\u00bb0&#8243; global_colors_info=\u00bb{}\u00bb sticky_enabled=\u00bb0&#8243;]<\/p>\n<h2>\u00bfC\u00f3mo guardar los comentarios HTML en el servidor?<\/h2>\n<p>Para guardar los comentarios en HTML en el servidor, primero necesitaremos un archivo <a href=\"https:\/\/www.webempresa.com\/blog\/php-que-es-y-como-funciona.html\">PHP<\/a> que act\u00fae como puente entre nuestro formulario y el almacenamiento de datos. Este archivo recibir\u00e1, validar\u00e1 y guardar\u00e1 la informaci\u00f3n enviada. A continuaci\u00f3n, vamos a ver c\u00f3mo implementarlo paso a paso de forma sencilla, ideal para proyectos peque\u00f1os.<\/p>\n<p>Primero, crearemos un archivo llamado <strong>process_comment.php<\/strong>. Este archivo procesar\u00e1 los datos que se env\u00edan desde nuestro formulario. Aqu\u00ed tenemos un ejemplo de c\u00f3mo configurarlo para guardar los comentarios en un archivo de texto:<\/p>\n<p>[\/et_pb_text][et_pb_code _builder_version=\u00bb4.21.0&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][\/et_pb_code][et_pb_text _builder_version=\u00bb4.21.0&#8243; _module_preset=\u00bbdefault\u00bb text_text_color=\u00bb#FFFFFF\u00bb background_color=\u00bb#2d2d4d\u00bb custom_padding=\u00bb24px|48px|24px|48px|false|false\u00bb hover_enabled=\u00bb0&#8243; border_radii=\u00bbon|8px|8px|8px|8px\u00bb global_colors_info=\u00bb{}\u00bb sticky_enabled=\u00bb0&#8243;]<\/p>\n<p>&lt;?php<br \/>\/\/ Comprobar si se han enviado datos a trav\u00e9s del formulario<br \/>if ($_SERVER[\u00abREQUEST_METHOD\u00bb] == \u00abPOST\u00bb) {<br \/>\/\/ Recibir los datos del formulario y sanitizarlos<br \/>$name = htmlspecialchars($_POST[&#8216;name&#8217;]);<br \/>$email = htmlspecialchars($_POST[&#8216;email&#8217;]);<br \/>$comment = htmlspecialchars($_POST[&#8216;comment&#8217;]);<\/p>\n<p>\/\/ Validar que todos los campos est\u00e9n completos<br \/>if (!empty($name) &amp;&amp; !empty($email) &amp;&amp; !empty($comment)) {<br \/>\/\/ Formatear los datos para guardarlos<br \/>$entry = \u00abNombre: $name\\nCorreo: $email\\nComentario: $comment\\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-\\n\u00bb;<\/p>\n<p>\/\/ Guardar en un archivo de texto<br \/>$file = fopen(\u00abcomments.txt\u00bb, \u00aba\u00bb); \/\/ Abrir en modo de a\u00f1adir<br \/>fwrite($file, $entry); \/\/ Escribir los datos<br \/>fclose($file); \/\/ Cerrar el archivo<\/p>\n<p>echo \u00ab\u00a1Comentario guardado con \u00e9xito!\u00bb;<br \/>} else {<br \/>echo \u00abPor favor, completa todos los campos antes de enviar.\u00bb;<br \/>}<br \/>}<br \/>?&gt;<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=\u00bb4.21.0&#8243; _module_preset=\u00bbdefault\u00bb hover_enabled=\u00bb0&#8243; global_colors_info=\u00bb{}\u00bb sticky_enabled=\u00bb0&#8243;]<\/p>\n<p>Este script <strong>recibe los datos del formulario<\/strong>, <strong>verifica que los campos<\/strong> no est\u00e9n vac\u00edos, los sanitiza para <strong>prevenir <\/strong><a href=\"https:\/\/www.webempresa.com\/blog\/inyeccion-sql-en-wordpress-guia-completa.html\">inyecciones de c\u00f3digo<\/a> y los guarda en un archivo llamado <strong>comments.txt<\/strong>. Este archivo debe estar en la misma carpeta que el script PHP y contar con permisos de escritura.<\/p>\n<p>Despu\u00e9s, es fundamental que nuestro formulario HTML est\u00e9 conectado al archivo PHP. Para ello, debemos asegurarnos de que el atributo <strong>action<\/strong> del formulario apunte a <strong>process_comment.php<\/strong>, como en este ejemplo:<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=\u00bb4.21.0&#8243; _module_preset=\u00bbdefault\u00bb text_text_color=\u00bb#FFFFFF\u00bb background_color=\u00bb#2d2d4d\u00bb custom_padding=\u00bb24px|48px|24px|48px|false|false\u00bb hover_enabled=\u00bb0&#8243; border_radii=\u00bbon|8px|8px|8px|8px\u00bb global_colors_info=\u00bb{}\u00bb sticky_enabled=\u00bb0&#8243;]<\/p>\n<p>&lt;form action=\u00bbprocess_comment.php\u00bb method=\u00bbpost\u00bb&gt;<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=\u00bb4.21.0&#8243; _module_preset=\u00bbdefault\u00bb hover_enabled=\u00bb0&#8243; global_colors_info=\u00bb{}\u00bb sticky_enabled=\u00bb0&#8243;]<\/p>\n<p>Es importante recordar que este sistema b\u00e1sico funciona bien para proyectos peque\u00f1os o educativos. Si necesitamos manejar un mayor volumen de datos o mejorar la organizaci\u00f3n, podr\u00edamos optar por guardar los comentarios en una <a href=\"https:\/\/www.webempresa.com\/blog\/base-de-datos-wordpress.html\">base de datos<\/a> como <a href=\"https:\/\/www.webempresa.com\/blog\/que-es-mysql.html\">MySQL<\/a>. En ese caso, ser\u00eda necesario ajustar nuestro script PHP para interactuar con la base de datos, lo cual nos proporcionar\u00e1 una soluci\u00f3n m\u00e1s robusta y escalable.<\/p>\n<p>Este enfoque nos permitir\u00e1 tener una secci\u00f3n funcional de comentarios en nuestra p\u00e1gina, fortaleciendo la interacci\u00f3n con los usuarios y facilitando la gesti\u00f3n de su retroalimentaci\u00f3n.<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=\u00bb4.21.0&#8243; _module_preset=\u00bbdefault\u00bb hover_enabled=\u00bb0&#8243; global_colors_info=\u00bb{}\u00bb sticky_enabled=\u00bb0&#8243;]<\/p>\n<h2>\u00bfC\u00f3mo mostrar comentarios en HTML con JS?<\/h2>\n<p>Una vez que hemos aprendido a guardar los comentarios en HTML en el servidor, el siguiente paso es mostrar esos comentarios en tiempo real dentro de nuestra p\u00e1gina web utilizando <strong>JavaScript<\/strong> o <a href=\"https:\/\/www.webempresa.com\/blog\/javascript-js-que-es-y-como-funciona.html\">JS<\/a>. Esto permite que los usuarios puedan visualizar los comentarios que han dejado, creando una experiencia m\u00e1s din\u00e1mica e interactiva. En este punto, unificaremos el formulario HTML, el script PHP para guardar los comentarios y JavaScript para mostrarlos de forma directa en nuestra p\u00e1gina.<\/p>\n<p><strong>Crear un contenedor para los comentarios<\/strong><\/p>\n<p>Lo primero es en nuestra p\u00e1gina HTML, agregaremos un contenedor donde se mostrar\u00e1n los comentarios enviados por los usuarios. Este contenedor estar\u00e1 vac\u00edo y se llenar\u00e1 de forma din\u00e1mica con JavaScript.<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=\u00bb4.21.0&#8243; _module_preset=\u00bbdefault\u00bb text_text_color=\u00bb#FFFFFF\u00bb background_color=\u00bb#2d2d4d\u00bb custom_padding=\u00bb24px|48px|24px|48px|false|false\u00bb hover_enabled=\u00bb0&#8243; border_radii=\u00bbon|8px|8px|8px|8px\u00bb global_colors_info=\u00bb{}\u00bb sticky_enabled=\u00bb0&#8243;]<\/p>\n<p>&lt;div id=\u00bbcomments-section\u00bb&gt;<br \/>&lt;h3&gt;Comentarios:&lt;\/h3&gt;<br \/>&lt;ul id=\u00bbcomments-list\u00bb&gt;&lt;\/ul&gt;<br \/>&lt;\/div&gt;<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=\u00bb4.21.0&#8243; _module_preset=\u00bbdefault\u00bb hover_enabled=\u00bb0&#8243; global_colors_info=\u00bb{}\u00bb sticky_enabled=\u00bb0&#8243;]<\/p>\n<p>El contenedor <strong>#comments-section<\/strong> contendr\u00e1 una lista desordenada <strong>#comments-list<\/strong>, donde cada comentario se agregar\u00e1 como un nuevo elemento de lista.<\/p>\n<p><strong>Ajustar el script PHP para devolver comentarios<\/strong><\/p>\n<p>Modificaremos nuestro archivo <strong>process_comment.php<\/strong> para que, adem\u00e1s de guardar los comentarios, devuelva el \u00faltimo comentario enviado en formato <a href=\"https:\/\/www.webempresa.com\/blog\/que-es-un-json-y-para-que-sirve.html\">JSON<\/a>. Esto permitir\u00e1 a JavaScript procesarlo y agregarlo al contenedor en tiempo real.<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=\u00bb4.21.0&#8243; _module_preset=\u00bbdefault\u00bb text_text_color=\u00bb#FFFFFF\u00bb background_color=\u00bb#2d2d4d\u00bb custom_padding=\u00bb24px|48px|24px|48px|false|false\u00bb hover_enabled=\u00bb0&#8243; border_radii=\u00bbon|8px|8px|8px|8px\u00bb global_colors_info=\u00bb{}\u00bb sticky_enabled=\u00bb0&#8243;]<\/p>\n<p>&lt;?php<br \/>if ($_SERVER[\u00abREQUEST_METHOD\u00bb] == \u00abPOST\u00bb) {<br \/>$name = htmlspecialchars($_POST[&#8216;name&#8217;]);<br \/>$email = htmlspecialchars($_POST[&#8216;email&#8217;]);<br \/>$comment = htmlspecialchars($_POST[&#8216;comment&#8217;]);<\/p>\n<p>if (!empty($name) &amp;&amp; !empty($email) &amp;&amp; !empty($comment)) {<br \/>$entry = \u00abNombre: $name\\nCorreo: $email\\nComentario: $comment\\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-\\n\u00bb;<br \/>$file = fopen(\u00abcomments.txt\u00bb, \u00aba\u00bb);<br \/>fwrite($file, $entry);<br \/>fclose($file);<\/p>\n<p>\/\/ Devolver el comentario como JSON<br \/>echo json_encode([<br \/>\u00abname\u00bb =&gt; $name,<br \/>\u00abcomment\u00bb =&gt; $comment<br \/>]);<br \/>} else {<br \/>http_response_code(400);<br \/>echo json_encode([\u00aberror\u00bb =&gt; \u00abTodos los campos son obligatorios.\u00bb]);<br \/>}<br \/>}<br \/>?&gt;<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=\u00bb4.21.0&#8243; _module_preset=\u00bbdefault\u00bb hover_enabled=\u00bb0&#8243; global_colors_info=\u00bb{}\u00bb sticky_enabled=\u00bb0&#8243;]<\/p>\n<p>Este script ahora devuelve un objeto JSON con el nombre y comentario enviados, lo que facilita su manejo en JavaScript.<\/p>\n<p><strong>Agregar el JavaScript para mostrar comentarios<\/strong><\/p>\n<p>Por \u00faltimo, implementaremos JavaScript para enviar los datos del formulario al script PHP, recibir la respuesta y mostrar el comentario en la lista.<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=\u00bb4.21.0&#8243; _module_preset=\u00bbdefault\u00bb text_text_color=\u00bb#FFFFFF\u00bb background_color=\u00bb#2d2d4d\u00bb custom_padding=\u00bb24px|48px|24px|48px|false|false\u00bb hover_enabled=\u00bb0&#8243; border_radii=\u00bbon|8px|8px|8px|8px\u00bb global_colors_info=\u00bb{}\u00bb sticky_enabled=\u00bb0&#8243;]<\/p>\n<p>&lt;script&gt;<br \/>const form = document.querySelector(\u00abform\u00bb);<br \/>const commentsList = document.getElementById(\u00abcomments-list\u00bb);<\/p>\n<p>form.addEventListener(\u00absubmit\u00bb, async (event) =&gt; {<br \/>event.preventDefault();<\/p>\n<p>const formData = new FormData(form);<br \/>const response = await fetch(\u00abprocess_comment.php\u00bb, {<br \/>method: \u00abPOST\u00bb,<br \/>body: formData,<br \/>});<\/p>\n<p>if (response.ok) {<br \/>const data = await response.json();<br \/>const listItem = document.createElement(\u00abli\u00bb);<br \/>listItem.textContent = `${data.name}: ${data.comment}`;<br \/>commentsList.appendChild(listItem);<br \/>form.reset();<br \/>} else {<br \/>const errorData = await response.json();<br \/>alert(errorData.error || \u00abOcurri\u00f3 un error al enviar el comentario.\u00bb);<br \/>}<br \/>});<br \/>&lt;\/script&gt;<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=\u00bb4.21.0&#8243; _module_preset=\u00bbdefault\u00bb hover_enabled=\u00bb0&#8243; global_colors_info=\u00bb{}\u00bb sticky_enabled=\u00bb0&#8243;]<\/p>\n<p><strong>Para dar una breve explicacion de este flujo seria el siguiente:<\/strong><\/p>\n<ul>\n<li>Cuando un usuario env\u00eda un comentario a trav\u00e9s del formulario, el evento <strong>submit<\/strong> es capturado por JavaScript.<\/li>\n<li>Los datos del formulario se env\u00edan al script <strong>process_comment.php<\/strong> utilizando fetch.<\/li>\n<li>El script PHP guarda el comentario y devuelve una respuesta JSON con los datos enviados.<\/li>\n<li>JavaScript procesa la respuesta y actualiza el contenedor <strong>#comments-list<\/strong> en tiempo real, a\u00f1adiendo el nuevo comentario sin necesidad de recargar la p\u00e1gina.<\/li>\n<\/ul>\n<p>Este enfoque combina <strong>HTML, PHP y JavaScript<\/strong> para crear un sistema de comentarios funcional, interactivo y din\u00e1mico, ofreciendo a los usuarios una experiencia fluida al interactuar con nuestra p\u00e1gina web.<\/p>\n<p>Podemos incluir el script de forma directa dentro de la p\u00e1gina HTML donde se encuentra el formulario de comentarios y el contenedor de los comentarios. Esto es \u00fatil para proyectos peque\u00f1os o pruebas r\u00e1pidas, ya que no requiere crear archivos adicionales.<\/p>\n<p>El c\u00f3digo ir\u00eda dentro de la etiqueta <strong>&lt;script&gt;<\/strong> al final del archivo HTML, justo antes de cerrar el <strong>&lt;body<\/strong>&gt;:<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=\u00bb4.21.0&#8243; _module_preset=\u00bbdefault\u00bb text_text_color=\u00bb#FFFFFF\u00bb background_color=\u00bb#2d2d4d\u00bb custom_padding=\u00bb24px|48px|24px|48px|false|false\u00bb hover_enabled=\u00bb0&#8243; border_radii=\u00bbon|8px|8px|8px|8px\u00bb global_colors_info=\u00bb{}\u00bb sticky_enabled=\u00bb0&#8243;]<\/p>\n<p>&lt;!DOCTYPE html&gt;<br \/>&lt;html lang=\u00bbes\u00bb&gt;<br \/>&lt;head&gt;<br \/>&lt;meta charset=\u00bbUTF-8&#8243;&gt;<br \/>&lt;meta name=\u00bbviewport\u00bb content=\u00bbwidth=device-width, initial-scale=1.0&#8243;&gt;<br \/>&lt;title&gt;Comentarios en HTML&lt;\/title&gt;<br \/>&lt;\/head&gt;<br \/>&lt;body&gt;<br \/>&lt;!&#8211; Formulario de comentarios &#8211;&gt;<br \/>&lt;form action=\u00bbprocess_comment.php\u00bb method=\u00bbpost\u00bb&gt;<br \/>&lt;label for=\u00bbname\u00bb&gt;Nombre:&lt;\/label&gt;<br \/>&lt;input type=\u00bbtext\u00bb id=\u00bbname\u00bb name=\u00bbname\u00bb required&gt;<\/p>\n<p>&lt;label for=\u00bbemail\u00bb&gt;Correo electr\u00f3nico:&lt;\/label&gt;<br \/>&lt;input type=\u00bbemail\u00bb id=\u00bbemail\u00bb name=\u00bbemail\u00bb required&gt;<\/p>\n<p>&lt;label for=\u00bbcomment\u00bb&gt;Comentario:&lt;\/label&gt;<br \/>&lt;textarea id=\u00bbcomment\u00bb name=\u00bbcomment\u00bb rows=\u00bb5&#8243; required&gt;&lt;\/textarea&gt;<\/p>\n<p>&lt;button type=\u00bbsubmit\u00bb&gt;Enviar&lt;\/button&gt;<br \/>&lt;\/form&gt;<\/p>\n<p>&lt;!&#8211; Contenedor para los comentarios &#8211;&gt;<br \/>&lt;div id=\u00bbcomments-section\u00bb&gt;<br \/>&lt;h3&gt;Comentarios:&lt;\/h3&gt;<br \/>&lt;ul id=\u00bbcomments-list\u00bb&gt;&lt;\/ul&gt;<br \/>&lt;\/div&gt;<\/p>\n<p>&lt;!&#8211; Script de JavaScript &#8211;&gt;<br \/>&lt;script&gt;<br \/>const form = document.querySelector(\u00abform\u00bb);<br \/>const commentsList = document.getElementById(\u00abcomments-list\u00bb);<\/p>\n<p>form.addEventListener(\u00absubmit\u00bb, async (event) =&gt; {<br \/>event.preventDefault();<\/p>\n<p>const formData = new FormData(form);<br \/>const response = await fetch(\u00abprocess_comment.php\u00bb, {<br \/>method: \u00abPOST\u00bb,<br \/>body: formData,<br \/>});<\/p>\n<p>if (response.ok) {<br \/>const data = await response.json();<br \/>const listItem = document.createElement(\u00abli\u00bb);<br \/>listItem.textContent = `${data.name}: ${data.comment}`;<br \/>commentsList.appendChild(listItem);<br \/>form.reset();<br \/>} else {<br \/>const errorData = await response.json();<br \/>alert(errorData.error || \u00abOcurri\u00f3 un error al enviar el comentario.\u00bb);<br \/>}<br \/>});<br \/>&lt;\/script&gt;<br \/>&lt;\/body&gt;<br \/>&lt;\/html&gt;<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=\u00bb4.21.0&#8243; _module_preset=\u00bbdefault\u00bb hover_enabled=\u00bb0&#8243; global_colors_info=\u00bb{}\u00bb sticky_enabled=\u00bb0&#8243;]<\/p>\n<p>Para proyectos m\u00e1s grandes o si planeamos reutilizar el c\u00f3digo en varias p\u00e1ginas, es mejor colocar el script en un archivo JavaScript independiente. Esto facilita el <strong>mantenimiento y mejora<\/strong> la legibilidad del c\u00f3digo.<\/p>\n<p>Crearemos un archivo llamado <strong>comments.js<\/strong> y guardamos el siguiente c\u00f3digo dentro:<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=\u00bb4.21.0&#8243; _module_preset=\u00bbdefault\u00bb text_text_color=\u00bb#FFFFFF\u00bb background_color=\u00bb#2d2d4d\u00bb custom_padding=\u00bb24px|48px|24px|48px|false|false\u00bb hover_enabled=\u00bb0&#8243; border_radii=\u00bbon|8px|8px|8px|8px\u00bb global_colors_info=\u00bb{}\u00bb sticky_enabled=\u00bb0&#8243;]<\/p>\n<p>const form = document.querySelector(\u00abform\u00bb);<br \/>const commentsList = document.getElementById(\u00abcomments-list\u00bb);<\/p>\n<p>form.addEventListener(\u00absubmit\u00bb, async (event) =&gt; {<br \/>event.preventDefault();<\/p>\n<p>const formData = new FormData(form);<br \/>const response = await fetch(\u00abprocess_comment.php\u00bb, {<br \/>method: \u00abPOST\u00bb,<br \/>body: formData,<br \/>});<\/p>\n<p>if (response.ok) {<br \/>const data = await response.json();<br \/>const listItem = document.createElement(\u00abli\u00bb);<br \/>listItem.textContent = `${data.name}: ${data.comment}`;<br \/>commentsList.appendChild(listItem);<br \/>form.reset();<br \/>} else {<br \/>const errorData = await response.json();<br \/>alert(errorData.error || \u00abOcurri\u00f3 un error al enviar el comentario.\u00bb);<br \/>}<br \/>});<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=\u00bb4.21.0&#8243; _module_preset=\u00bbdefault\u00bb hover_enabled=\u00bb0&#8243; global_colors_info=\u00bb{}\u00bb sticky_enabled=\u00bb0&#8243;]<\/p>\n<p>En el archivo HTML, enlaza el archivo <strong>comments.js<\/strong> utilizando la etiqueta &lt;script&gt;, colocando\u00a0 esta l\u00ednea justo antes de cerrar la etiqueta &lt;body&gt;.<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=\u00bb4.21.0&#8243; _module_preset=\u00bbdefault\u00bb text_text_color=\u00bb#FFFFFF\u00bb background_color=\u00bb#2d2d4d\u00bb custom_padding=\u00bb24px|48px|24px|48px|false|false\u00bb hover_enabled=\u00bb0&#8243; border_radii=\u00bbon|8px|8px|8px|8px\u00bb global_colors_info=\u00bb{}\u00bb sticky_enabled=\u00bb0&#8243;]<\/p>\n<p>&lt;script src=\u00bbcomments.js\u00bb&gt;&lt;\/script&gt;<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=\u00bb4.21.0&#8243; _module_preset=\u00bbdefault\u00bb custom_margin=\u00bb||5px|||\u00bb hover_enabled=\u00bb0&#8243; global_colors_info=\u00bb{}\u00bb sticky_enabled=\u00bb0&#8243;]<\/p>\n<h2>Conclusi\u00f3n<\/h2>\n<p>Mostrar comentarios en HTML con JavaScript es una herramienta poderosa que nos permite enriquecer la experiencia de los usuarios y mejorar la interacci\u00f3n en nuestras p\u00e1ginas web. Este proceso combina las <strong>capacidades de HTML, PHP y JavaScript<\/strong> para ofrecer un sistema din\u00e1mico y funcional que capta las opiniones de los usuarios y las refleja en tiempo real, sin necesidad de recargar la p\u00e1gina.<\/p>\n<p>Hemos visto c\u00f3mo crear un flujo completo: desde un formulario de comentarios, pasando por el procesamiento en el servidor, hasta mostrar los datos de <strong>forma din\u00e1mica con JavaScript<\/strong>. Este enfoque no solo garantiza que los comentarios sean manejados de forma eficiente, sino que tambi\u00e9n crea una experiencia intuitiva y fluida para los usuarios.<\/p>\n<p>Usar JSON para la comunicaci\u00f3n entre el servidor y el cliente nos ayuda a manejar datos de forma organizada y eficiente, permitiendo agregar funciones como filtros, ordenar comentarios o responder en tiempo real.<\/p>\n<p>Es importante recordar que este sistema es solo una base. Si bien es funcional para proyectos peque\u00f1os o medianos, en aplicaciones m\u00e1s complejas podr\u00edamos optar por usar <strong>bases de datos y frameworks<\/strong> m\u00e1s avanzados para manejar comentarios de manera escalable y segura.<\/p>\n<p>En definitiva, la implementaci\u00f3n de comentarios en HTML con JavaScript no solo mejora la funcionalidad de nuestro sitio, sino que tambi\u00e9n refuerza el v\u00ednculo con nuestros usuarios al ofrecerles un espacio para expresarse y ser escuchados.<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=\u00bb4.21.0&#8243; _module_preset=\u00bbdefault\u00bb hover_enabled=\u00bb0&#8243; global_colors_info=\u00bb{}\u00bb sticky_enabled=\u00bb0&#8243;]<\/p>\n<p>Tambi\u00e9n te puede interesar:<\/p>\n<p>&nbsp;<\/p>\n<ul>\n<li><a href=\"https:\/\/www.webempresa.com\/blog\/mejores-10-editores-de-codigo.html\">Editor de c\u00f3digo <\/a><\/li>\n<li><a href=\"https:\/\/www.webempresa.com\/blog\/mejores-editores-html.html\">Editor de HTML<\/a><\/li>\n<li><a href=\"https:\/\/www.webempresa.com\/blog\/que-es-cms-los-mejores-gestores-de-contenido.html \">CMS<\/a><\/li>\n<li><a href=\"https:\/\/www.webempresa.com\/blog\/que-es-un-ecommerce-y-para-que-sirve.html\">Ecommerce<\/a><\/li>\n<li><a href=\"https:\/\/www.webempresa.com\/blog\/partes-de-una-pagina-web-wordpress.html\">Partes de una p\u00e1gina web<\/a><\/li>\n<li><a href=\"https:\/\/www.webempresa.com\/blog\/crear-pagina-web.html\">Crear una p\u00e1gina web<\/a><\/li>\n<li><a href=\"https:\/\/www.webempresa.com\/blog\/mejores-7-plugins-multi-vendors-para-woocommerce.html\">woocommerce multivendor<\/a><\/li>\n<li><a href=\"https:\/\/www.webempresa.com\/blog\/ftp-y-uso-de-filezilla.html\">c\u00f3mo usar Filezilla<\/a><\/li>\n<li><a href=\"https:\/\/www.webempresa.com\/blog\/plugins-live-chat-wordpress.html\">chat woocommerce<\/a><\/li>\n<li><a href=\"https:\/\/www.webempresa.com\/blog\/que-es-el-registro-dmarc-y-como-funciona.html\">Registro DMARC<\/a><\/li>\n<\/ul>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>En el desarrollo de p\u00e1ginas web, los formularios son una pieza clave para interactuar con los usuarios, y entre ellos, los comentarios en HTML destacan por ser una herramienta eficaz para recoger opiniones, sugerencias o retroalimentaci\u00f3n. Estos formularios permiten que los visitantes de un sitio compartan sus ideas o comentarios de forma directa, creando un [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/pruebasweb.argenispaz.com\/index.php\/wp-json\/wp\/v2\/posts\/10997"}],"collection":[{"href":"https:\/\/pruebasweb.argenispaz.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pruebasweb.argenispaz.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pruebasweb.argenispaz.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pruebasweb.argenispaz.com\/index.php\/wp-json\/wp\/v2\/comments?post=10997"}],"version-history":[{"count":28,"href":"https:\/\/pruebasweb.argenispaz.com\/index.php\/wp-json\/wp\/v2\/posts\/10997\/revisions"}],"predecessor-version":[{"id":11033,"href":"https:\/\/pruebasweb.argenispaz.com\/index.php\/wp-json\/wp\/v2\/posts\/10997\/revisions\/11033"}],"wp:attachment":[{"href":"https:\/\/pruebasweb.argenispaz.com\/index.php\/wp-json\/wp\/v2\/media?parent=10997"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pruebasweb.argenispaz.com\/index.php\/wp-json\/wp\/v2\/categories?post=10997"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pruebasweb.argenispaz.com\/index.php\/wp-json\/wp\/v2\/tags?post=10997"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}