Foros del Web » Programando para Internet » PHP »

Comentarios en mi web

Estas en el tema de Comentarios en mi web en el foro de PHP en Foros del Web. Estoy tratando de hacer un sistema de comentarios para mi web, algo parecido a mestros del web, donde los usuarios dejen sus comentarios en el ...
  #1 (permalink)  
Antiguo 02/01/2007, 11:56
 
Fecha de Ingreso: agosto-2005
Mensajes: 125
Antigüedad: 18 años, 9 meses
Puntos: 0
Comentarios en mi web

Estoy tratando de hacer un sistema de comentarios para mi web, algo parecido a mestros del web, donde los usuarios dejen sus comentarios en el articulo que han leido.

Encontre un tutorial pero no me funciono, pero trate de arreglarlo a mi manera y lo que no me gusto del tutorial, es cuando las variables del formulario comentarios pasen a otro archivo (procesa.php) cosa que leendo en este foro es peligroso, cosa que si se preciona la tecla (F5) varias veces el comentario se duplicaria o quintuplicaria etc.

He tratado de hacer que el formulario de comentarios este incluido en la misma pagina, sale el comentario pero me sale errores garrafales, cosa que no tengo mucho conocimiento de php.

El sistema que quiero es el siguiente:
Cuando un usuario entre a la pagina digamos que sea (notadeldia.php) ahi en la misma pagina este el formulario de comentarios y que cuando la persona quiera dejar su comentario que lo procese en la misma pagina sin trasladar las variables a otro archivo.

Bueno no se si es mucho pedir, pero quisiera una ayuda de uds que son maestros en php.

Sin mas que pueda decir espero sus comentarios y gracias por su ayuda.

Última edición por markplan; 02/01/2007 a las 12:03
  #2 (permalink)  
Antiguo 02/01/2007, 12:48
Avatar de lrunge  
Fecha de Ingreso: agosto-2005
Ubicación: En algun lugar de Caracas
Mensajes: 165
Antigüedad: 18 años, 9 meses
Puntos: 4
Re: Comentarios en mi web

Ok, fijate algo... independientemente de que mandes los datos a otra pagina o no, siempre existe la posibilidad de el el usuario actualizando la pagina (Con F5) vuelva a mandar los datos y asi te duplicaria los registro... La forma de que evites eso es con javascript:

Coloca el siguiente codigo en el <head> de tu web:


Código HTML:
<script LANGUAGE="JavaScript">
var cuenta=0;

function enviado() { 
if (cuenta == 0)
{
cuenta++;
return true;
}
else 
{
alert("El siguiente formulario ya ha sido enviado una vez con exito, no es necesario que repita la operacion.");
return false;
}
}
</script> 
Ahora coloca el codigo del formulario, puedes modificarlo y añadirle los campos que quieras:


Código HTML:
<form method="post" action="enviar-formulario.php"
onSubmit="return enviado()">
<div align="center"><center><table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td width="12%">Nombre: </td>
<td width="88%"><input type="text" name="name" size="20"></td>
</tr>
<tr>
<td width="12%">E-mail: </td>
<td width="88%"><input type="text" name="comentario" size="20"></td>
</tr>
</table>
</center></div><p><input type="submit" value="Enviar"></p>
</form> 
Espero te funcione

Salu2
__________________
"La sencillez de una respuesta, sera inversamente proporcional a su explicacion" Luis Runge
  #3 (permalink)  
Antiguo 02/01/2007, 15:59
 
Fecha de Ingreso: agosto-2005
Mensajes: 125
Antigüedad: 18 años, 9 meses
Puntos: 0
Re: Comentarios en mi web

Lo que quisiera es lo siguiente, en un solo formulario que haga todo, este es el codigo que encontre en maestros del web que modifique a mi manera para hacer todo en un formulario algo similar a MDW espero que me entiendan, y haber si me dan una mano en que cosas modificar o hacer para que no me salga error.

Como veran mis conocimientos en php son escasos por no decir, pero hago el esfuerzo por aprender gracias a los tutoriales.


Código HTML:
=========================================================
main.php

<html>
<head>
<title>Este es el ejemplo para los comentarios de mi web</title>
<?
//conectamos a la base
$connect=mysql_connect("localhost","root");
//Seleccionamos la base
mysql_select_db("labase",$connect);
//hacemos las consultas
$result=mysql_query("select * from comentarios order by fecha Desc", $connect);
$totalregistros=mysql_num_rows($result);
?>
</head>
<body>
<div style="background:#cccccc">Aqui es mi texto y fotos que van a comentar mis usuarios</div>
<?
while($row=mysql_fetch_array($result))
{
echo "<h2><a href=".$row["web"].">".$row["autor"]."</a></h2>"
	  .$row["comentario"]."<br>";
echo "<div align='right'><i>".$row["fecha"]."</i></div>";
echo "<hr>";
//más adelante como se puede ver el id nos servirá para casi todo.
}
mysql_free_result($result)
?>
<form action="procesa.php" method="post">
Nombre: <input name="autor" type="text" id="autor"><br>
Su web: <input name="web" type="text" id="web"><br>
Sus comentarios:<br> 
<textarea name="comentario" cols="50" rows="10" id="comentario"></textarea>
<br>
<input type="submit" value="Enviar Comentario"><br>
</form>
</body>
</html>
=========================================================
procesa.php

<html><head><title>Procesamiento de Comentarios</title></head>
<body>
<?
//recibimos las variables enviadas por el formulario
$autor=$_POST["autor"];
$categoria=$_POST["categoria"];
$web=$_POST["web"];
$comentario=$_POST["comentario"];
//conectamos a la base
$connect=mysql_connect("localhost","root");
//Seleccionamos la base
mysql_select_db("labase",$connect);
//insertamos los registros almacenados en las variables

$sql="insert into comentarios (autor,categoria,web,comentario,fecha) values('$autor','$categoria','$web','$comentario',NOW())";

mysql_query($sql,$connect);
header("location:main.php");
?>
</body>
</html>
=========================================================
BASE DE DATOS

CREATE TABLE `comentarios` (
  `id_comentario` int(4) NOT NULL auto_increment,
  `autor` varchar(255) default NULL,
  `categoria` varchar(255) default NULL,
  `web` varchar(150) default NULL,
  `comentario` blob,
  `fecha` datetime NOT NULL default '0000-00-00 00:00:00',
  KEY `id_comentario` (`id_comentario`)
) TYPE=MyISAM AUTO_INCREMENT=11 ;
  #4 (permalink)  
Antiguo 02/01/2007, 16:34
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 18 años, 9 meses
Puntos: 6
Re: Comentarios en mi web

main.php
Código PHP:
<html>
<head>
<title>Este es el ejemplo para los comentarios de mi web</title>
<?
//conectamos a la base
$connect=mysql_connect("localhost","root");
//Seleccionamos la base
mysql_select_db("labase",$connect);

// Si se enviaron datos por POST, insertamos.
if($_POST)
{
//recibimos las variables enviadas por el formulario
$autor=$_POST["autor"];
$categoria=$_POST["categoria"];
$web=$_POST["web"];
$comentario=$_POST["comentario"];

//insertamos los registros almacenados en las variables

$sql="insert into comentarios (autor,categoria,web,comentario,fecha) values('$autor','$categoria','$web','$comentario',NOW())";

mysql_query($sql,$connect);
}
//hacemos las consultas
$result=mysql_query("select * from comentarios order by fecha Desc"$connect);
$totalregistros=mysql_num_rows($result);
?>
</head>
<body>
<div style="background:#cccccc">Aqui es mi texto y fotos que van a comentar mis usuarios</div>
<?
while($row=mysql_fetch_array($result))
{
echo 
"<h2><a href=".$row["web"].">".$row["autor"]."</a></h2>"
      
.$row["comentario"]."<br>";
echo 
"<div align='right'><i>".$row["fecha"]."</i></div>";
echo 
"<hr>";
//más adelante como se puede ver el id nos servirá para casi todo.
}
mysql_free_result($result)
?>
<form action="main.php" method="post">
Nombre: <input name="autor" type="text" id="autor"><br>
Su web: <input name="web" type="text" id="web"><br>
Sus comentarios:<br> 
<textarea name="comentario" cols="50" rows="10" id="comentario"></textarea>
<br>
<input type="submit" value="Enviar Comentario"><br>
</form>
</body>
</html>
No lo probe, pero creo que no se me escapa nada.

Saludos.
__________________
Federico.

Mi página: www.jourmoly.com.ar
  #5 (permalink)  
Antiguo 02/01/2007, 16:53
Avatar de xyyy7  
Fecha de Ingreso: enero-2004
Ubicación: Maracay.-
Mensajes: 637
Antigüedad: 20 años, 3 meses
Puntos: 5
Re: Comentarios en mi web

Código PHP:
<?
$check 
$_POST['procesar'];
if(
$check=="si"){
// BLA BLA BLA  "TU CODIGO" (Solo manda datos a MySQL sin nada de salidas print, echo, etc)
header("location: http://www.tudominio/notadeldia.php?datos_confirmacion=x_datos"); 
}
?>
En HTML :
Cita:
<form method="POST">
<p><input type="submit" value="Enviar" name="boton"></p>
<input type="hidden" name="procesar" value="si">;
</form>
Saludos.-
__________________
Maracay Edo Aragua - Venezuela :
Mi Favorita :
http://www.MySQL.Com
  #6 (permalink)  
Antiguo 02/01/2007, 19:31
 
Fecha de Ingreso: agosto-2005
Mensajes: 125
Antigüedad: 18 años, 9 meses
Puntos: 0
Re: Comentarios en mi web

Ok gracias Fridureiks por el codigo, haber tratare de probarlo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 12:00.