New question

Question:

Date: 13-02-2017 08:14:55 (In Spanish)

Sistema de comentarios para varias páginas[Resolved]

Hola amigos, estoy desarrollando una web con html y he querido insertar un sistema de comentario en las diversas páginas elaboradas.
El que tengo sólo reconoce un sistema general, o sea, que todos los comentarios salen en todas las páginas. Les muestro la codificación:

Para el index.php
<html> 
<head> 
<title> 
Comentarios en PHP :3 
</title> 
</head> 
<body>
<p>&nbsp;</p>
<p align="center">&nbsp;</p>
<p>&nbsp;</p>
<form action="comentar.php" method="post" target="_self"> 
<H3>Deja tu cometario:</H3> 
<p>
<input type="text" name="nam" placeholder="Su nombre" />
</p>
<p><br /> 
<textarea name="comentario" placeholder="Escribe un comentario..."></textarea>
<br /> 
<input type="submit" value="Comentar">
</p>
</form> 
</form> 
<? 
$filename = 'com.html'; 
if (file_exists($filename)) { 
include("com.html"); 
} else { 
echo "No hay comentarios"; 
}; 
?> 
</body> 
</html>


y para comentar:
<html> 
<head> 
<title> 
Comentario Añadido</title> 
</head> 
<? $comentario = $_POST['comentario']; 
$nam = $_POST['nam']; 
$nam = strip_tags($nam); 
$nam = stripslashes($nam); 
$comentario = strip_tags($comentario); 
$comentario = stripslashes($comentario); 
$grabar = fopen ("com.html","a"); 
fwrite ($grabar,"<b>$nam dijo:</b> <p>$comentario</p>"); 
fclose($grabar); ?> 
<body> 
<p>Su comentario ha sido añadido. <a href="index.php">Ir a la página principal</a></p></body> 
</html>


Necesito hacer que cada comentario de cada hoja sea independiente.

Muchas gracias por su ayuda
Tags: Demo - PHP - PHP Class - Question Votes: 0 - Answers: 5 - Views: 17 Share on: Google Facebook Twitter LinkedIn Link
 

Answers:

  • Date: 13-02-2017 08:52:47 Hola Antonio,
    Podrías modificar tu pregunta e incluir el código PHP en el formato adecuado?
    Eso facilitaría que te ayudemos.
      Votes: 0 - Link answer
     
  • Date: 13-02-2017 09:00:22 Ufff, estás utilizando archivos para almacenar los datos... Hay alguna razón específica para esto?
    Si puedes sería mejor utilizar una base de datos y entonces podrías categorizar tus comentarios.

    Ahora bien, si no puedes utilizar una BD (ni siquiera SQLite) entonces una manera fácil de agrupar los comentarios es precisamente como harías para agrupar archivos en un sistema operativo:

    Utiliza folders

    Cada sección tendría asignado un folder y los comentarios se almacenarían en el folder correspondiente.

    Este approach no es recomendable pues puede ser muy inseguro y exponer vulnerabilidades en tu servidor. En la medida de lo poible trata de utilizar una base de datos.
      Votes: 1 - Link answer
     
  • Date: 13-02-2017 16:10:48 Busca sobre como crear una pequeña tabla en MySQL, luego conectar con PDO y hacer algunas consultas. Lo mejor en definitiva es la base. :)   Votes: 1 - Link answer
     
  • Date: 14-02-2017 08:43:34 Necesitas almacenar los comentarios en una base de datos relacional (normalizada), desde ahi puedes hacer facilmente tales cosas como:

    Paginar
    Filtrar
    Clasificar (temas, por fechas, por usuarios...... y todo lo que se te ocurra)
    Ordenar
    blah blah....

    Puede que esta respuesta sea muy escueta, pero hay que partir de ahi.

    Desde luego que tambien hay otras maneras ademas de las bases de datos relacionales...

    Saludos.

    Alejandro
      Votes: 1 - Link answer
     
  • Date: 27-03-2017 21:51:09 En efecto lo mas recomendado es utilizar algun tipo de motor de base de datos ya sea NoSQL o Relacional, pero si aun queres hacerlo de esta manera vas a tener que guardar informacion de control extra en el archivo.

    Ejemplo deberias de guardar como minimo una estructura similar a esta
    $todosLosComentarios = array(
       array('idPregunta' => 1, 'comentario' => '...'),
       array('idPregunta' => 2, 'comentario' => '...'),
       ... 
       array('idPregunta' => 1, 'comentario' => '...'),
    );
    


    Un ejemplo de como guardarlo seria:
    fwrite($fh, serialize($todosLosComentarios));
    ...
    


    y a la hora de cargar la pregunta filtrarlos por el idPregunta correspondiente
    $comentariosDeLaPreguntaActual = array_filter($todosLosComentarios , function($comentario)  {
      return $comentario['idPregunta'] === $_SESSION['idPreguntaActual'];
    });
    
      Votes: 1 - Link answer
     
To actively participate in the community first must authenticate, enter the system.Sign In