Ir al contenido
Conéctate para seguir esto  
portaro

Comentarios en sitio web?

Recommended Posts

Pues intentando ayudar a un user me tope con esta duda, si por ejemplo yo quisiera hacer una web y que en determinado lugar tubiera una caja de comentarios como lo haria -

 

todo lo que yo se es que hay que usar php ejemplo de código->

 

 

<?php

if ($_POST){
 
$name = $_POST['name'];
$content = $_POST['commentContent'];
$handle = fopen("comments.html","a");
fwrite ($handle,"<b>" . $name . "</b></br>" . $content . "</br>");
fclose ($handle);}
 
?>

 

Depues llamo a este php en el html ->

 

 

<form action="" method="POST">

Content: <textarea rows ="10" cols ="30" name="commentContent"></textarea></br>
Name: <input type = "text" name = "name"></br>
<input type = "submit" value = "post!"></br>
</form>

 

 

Bien ahora tendria que poner en el mismo path del sitio el comments.hmlt que usa el fopen del php.

 

Pero bien y a partir de aqui como lo guardo y sobretodo como hago que se muestre?

 

Cual seria la forma fácil o hay que usar el mysql?

Compartir este post


Enlace al post
Compartir en otros sitios

Hay que usar MySQL u otra base de datos... de MySQL vas a encontrar mucha información, pero a mi me llama mucho más MongoDB ;)

if(isset($HTTP_POST_VARS["id"]) && isset($HTTP_POST_VARS["nick"]) && isset($HTTP_POST_VARS["comentario"])) {
if($HTTP_POST_VARS["comentario"] != "")
{
if($HTTP_POST_VARS["nick"] == "")
{
$nickNuevo = "anonimo";
}
else
{
$nickNuevo = $HTTP_POST_VARS["nick"];
}
$resultCom2 = mysql_query("SELECT id FROM comentarios ORDER BY id DESC LIMIT 0,1");
$rowCom2 = mysql_fetch_array($resultCom2);
$con = $rowCom2["id"];
mysql_free_result($resultCom2);

$con++;
$idNoticia = $HTTP_POST_VARS["id"];
$comentarioNoticia = $HTTP_POST_VARS["comentario"];

mysql_query("INSERT INTO comentarios VALUES
('$con','$idNoticia','$nickNuevo','$comentarioNo ticia')");

echo "Comentario enviado.<BR>Espere Unos Segundos...<SCRIPT LANGUAGE="javascript">window.location.href = "".getenv('HTTP_REFERER')."";</SCRIPT>"; }
else
{
echo "Debe introducir un comentario.";
}
}

Esto enviaría el comentario a tu base de datos.

 

Para mostrar los comentarios, haces un "print" de la base de datos:

<?
 //select para decir que campos queremos mostrar
 $sql = "SELECT nombre,nick FROM personas";
 $retval = mysql_query( $sql, $conexion);
 //recorre toda la tabla de SQL
 while($row =  mysql_fetch_assoc($retval)){
    echo "Nombre: ".$row['nombre'].", Nick: ".$row['nick']."<br>";
} 
?>

Y ya tendría que estar ;)

 

Pero también creo que se podría hacer todo por HTML, HTML tiene el método indexeddb... pero no estoy muy seguro

Editado por elmoyer

Compartir este post


Enlace al post
Compartir en otros sitios

@@portaro Pues para hacer pruebas en el localhost la puedes poner en la misma carpeta donde tienes el CSS, JS e index.html. Yo uso XAMPP para todo lo que es diseño web etc y creo recordar que funciona...

Compartir este post


Enlace al post
Compartir en otros sitios

A parte de lo dicho por los compañeros, si ese sistema va a estar en linea, o en producción, yo miraría la forma de añadir protección contra ataques de Inyección SQL, SSI, CSS y relativos, si es solo para aprender en modo local, no he dicho nada y callo me llamo.

 

Edito: con CSS no me referia a las hojas de estilo, sino a Cross site Scripting, seguramente se sobre entiende, pero lo pongo por si las moscas.

 

Edito2: No me fije en la fecha de publicación. :confused:

 

Un saludo.

Editado por wsn

Compartir este post


Enlace al post
Compartir en otros sitios

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Invitado
Responder en este tema...

×   Has incluido contenido con formato.   Eliminar formato

  Sólo se permiten 75 emoticonos como máximo.

×   Tu enlace ha sido insertado automáticamente.   Deshacer y mostrar como enlace

×   Su contenido anterior ha sido restaurado.   Limpiar editor

×   No puedes pegar imágenes directamente. Súbelas a algún hosting de imágenes y pega la dirección URL

Conéctate para seguir esto  

×
×
  • Crear Nuevo...