Foros del Web » Programando para Internet » PHP »

Comentario repetido con php y mysql

Estas en el tema de Comentario repetido con php y mysql en el foro de PHP en Foros del Web. Buenas, estoy haciendo una pagina y tengo una parte de comentarios, no se pq pero me sale repetido el comentario, pero no completo, sino k ...
  #1 (permalink)  
Antiguo 23/07/2007, 19:14
 
Fecha de Ingreso: noviembre-2006
Mensajes: 7
Antigüedad: 17 años, 5 meses
Puntos: 0
Comentario repetido con php y mysql

Buenas, estoy haciendo una pagina y tengo una parte de comentarios, no se pq pero me sale repetido el comentario, pero no completo, sino k sale un segundo comentario vacio, con casi el mismo horario del otro, la pagina se refresca en si misma, yo pienso k capas k cuando se manda a la misma pagina pasa eso, antes estaba k se enviaba a otra pagina igual k el index y pasaba lo mismo..

les paso como tengo la pagina a ver si me pueden dar una mano.


Formulario:


Código HTML:
<form class="style1" name="form1" method="post" action="index.php?send=coment&id=<?php echo $id; ?>">
                <tr>
                  <td class="style1" width="32%"><div class="style1" align="right"><strong>Nombre:&nbsp;</strong></div></td>
                  <td class="style1" width="68%"><input name="com_nome" type="text" id="com_nome"></td>
                </tr>
                <tr>
                  <td class="style1" ><div class="style1" align="right"><strong>Pagina / Mail:&nbsp;</strong></div></td>
                  <td class="style1" ><input name="com_flog" type="text" id="com_flog"></td>
                </tr>
                <tr>
                  <td class="style1" ><div class="style1" align="right"><strong>Comentario:&nbsp;</strong></div></td>
                  <td class="style1" ><textarea name="com_com" id="com_com" cols=50 rows=6></textarea></td>
                </tr>
				 <tr>
                  <td class="style1" ></td>
                  <td class="style1" ><input type="submit" name="Submit" value="Enviar Comentários"></td>
                </tr></form> 

Insert:


Código PHP:
<?php
          
if($_GET['send'] == "coment"){
          
$id_post $_GET['id'];
          
$nome $_POST['com_nome'];
          
$email $_POST['com_ema'];
          
$flog $_POST['com_flog'];
          
$coment $_POST['com_com'];
          global 
$tab_coments;
          if(
$_SESSION['coment'] != 1){
          
mysql_query("INSERT INTO $tab_coments (id, id_user, id_post, nome, email, flog, comentario) VALUES ('', $id_user, '$id_post', '$nome', '$email', '$flog', '$coment')") or die(print(mysql_error()));
          
$msg "Mensage enviado con éxito!";
          
$_SESSION['coment'] = 1;
          }
          else{
          
$msg "Usted ya envió un mensaje!";
          }
          }      
          
?>




Comentarios:


Código PHP:
<?php
              
global $tab_coments;
              
$query_coments mysql_query("SELECT * FROM $tab_coments WHERE id_post = '$id' ORDER BY id DESC");
              while(
$data_coments mysql_fetch_array($query_coments)){
                echo 
"<span class=\"style1\"><a href=\"http://{$data_coments['flog']}\" target=\"_self\">".$data_coments['nome']."</a> <b>dijo el </b>".$data_coments['data']." : </span>";
                
                echo 
"<span class=\"style2\">".$data_coments['comentario']."</span>";
                
br();
                
br(2);      
              }
              
?>

              <?php
              
echo "<b>".$msg."</b>";
            
br();
            
?>


Tabla SQL:


Código:
CREATE TABLE `tab_coments` (
  `id` int(11) NOT NULL auto_increment,
  `id_user` int(11) default NULL,
  `id_post` int(11) default NULL,
  `nome` varchar(250) default NULL,
  `email` varchar(250) default NULL,
  `flog` varchar(250) default NULL,
  `comentario` longtext,
  `data` timestamp(14) NOT NULL,
  PRIMARY KEY  (`id`)
) TYPE=MyISAM AUTO_INCREMENT=2 ;

Por las dudas les paso como se ven los campos repetidos (k en realidad no son repetidos, me postea 2 veces)

Código:
id 	id_user 	id_post 	nome 	email 	flog 	comentario 	data
3 	19 	9 	  	  	  	  	2007-07-13 17:13:54
4 	19 	9 	holas 	golasd 	asd 	asdddddddddsdasdad
asdasd
asd
asd
asd 	2007-07-14 15:25:37
5 	19 	9 	  	  	  	  	2007-07-14 15:25:37
6 	19 	9 	asdsadsadsa 	sasasa 	assa 	sasasa 	2007-07-14 15:32:06
7 	19 	9 	  	  	  	  	2007-07-14 15:32:06
8 	19 	9 	asd 	asasd 	asdasd 	asdasd 	2007-07-14 15:32:12
9 	19 	9 	  	  	  	  	2007-07-14 15:32:12
10 	19 	9 	pirulo 	pirulo 	no 	se 	2007-07-14 15:32:22
11 	19 	9


la verdad k ya le sake muchos bugs al template k me baje, pero este se me esta complicando...

si alguien tiene alguna idea o necesita saber algo mas, por favor diganme

muchas gracias.

Última edición por cronos550m; 23/07/2007 a las 19:19
  #2 (permalink)  
Antiguo 24/07/2007, 05:15
 
Fecha de Ingreso: noviembre-2006
Mensajes: 7
Antigüedad: 17 años, 5 meses
Puntos: 0
Re: Comentario repetido con php y mysql

Ya que parece k nadie me puede ayudar, a ver si me pueden ayudar aunque sea a borrarlos en cantidad.

lo k kiero hacer es, si no puedo hacer kno se posteen, kiero borrarlos periodicamente, ya que pude hacer k no se vean en la pagina haciendo un

$query_coments = mysql_query("SELECT * FROM $tab_coments WHERE id_post = '$id' and comentario <> '' ORDER BY id DESC");

pero como puedo hacer para qe me borre los comentarios que no tienen ningun comentario en él?

gracias.

saludos
  #3 (permalink)  
Antiguo 24/07/2007, 05:26
 
Fecha de Ingreso: julio-2003
Ubicación: Colombia
Mensajes: 591
Antigüedad: 20 años, 9 meses
Puntos: 7
Re: Comentario repetido con php y mysql

cronos, no veo nada mal en tu codigo para que salga el error de los duplicados...

para mostrar los registros que no son vacios:

SELECT * FROM $tab_coments WHERE id_post = '$id' and nome IS NOT NULL ORDER BY id DESC

o para borrarlos..

delete from $tab_coments WHERE nome IS NULL

Chaop!
__________________
Visita www.legionlandrover.com
  #4 (permalink)  
Antiguo 24/07/2007, 09:29
 
Fecha de Ingreso: noviembre-2006
Mensajes: 7
Antigüedad: 17 años, 5 meses
Puntos: 0
Re: Comentario repetido con php y mysql

Cita:
Iniciado por luchope Ver Mensaje
cronos, no veo nada mal en tu codigo para que salga el error de los duplicados...

para mostrar los registros que no son vacios:

SELECT * FROM $tab_coments WHERE id_post = '$id' and nome IS NOT NULL ORDER BY id DESC

o para borrarlos..

delete from $tab_coments WHERE nome IS NULL

Chaop!
Gracias por contestar, pero el problema es que no el campo no es NULL sino que esta vacio, y desde phpmyadmin no me toma el comando como hice en php para que no me muestre los campos vacios (osea con '') como hago para decirle que me elimine una fila que contenga el campo vacio?

gracias
  #5 (permalink)  
Antiguo 24/07/2007, 09:53
 
Fecha de Ingreso: noviembre-2006
Mensajes: 7
Antigüedad: 17 años, 5 meses
Puntos: 0
Re: Comentario repetido con php y mysql

buscando en google y viendo manuales de sentencias lo encontre.

delete from tab_coments WHERE comentario IS false

asi borro cuando esta vacio =P

gracias
  #6 (permalink)  
Antiguo 24/07/2007, 10:19
 
Fecha de Ingreso: noviembre-2006
Mensajes: 7
Antigüedad: 17 años, 5 meses
Puntos: 0
Re: Comentario repetido con php y mysql

coreccion, con false solo me deja si en comentario pongo numeros, si escribo algo con letras me lo borra tambien =/

como le digo k el campo sea vacion ¬¬


ahora vi que si refresco la pagina teniendo en la barra de direcciones
http://localhost/CrON/index.php?send=coment&id=7
me vuelve a generar el comentario otra vez

alguna idea de como solucionar esto?

saludos
  #7 (permalink)  
Antiguo 24/07/2007, 15:25
 
Fecha de Ingreso: noviembre-2006
Mensajes: 7
Antigüedad: 17 años, 5 meses
Puntos: 0
Re: Comentario repetido con php y mysql

Cita:
Iniciado por cronos550m Ver Mensaje
coreccion, con false solo me deja si en comentario pongo numeros, si escribo algo con letras me lo borra tambien =/

como le digo k el campo sea vacion ¬¬


ahora vi que si refresco la pagina teniendo en la barra de direcciones
/CrON/index.php?send=coment&id=7
me vuelve a generar el comentario otra vez

alguna idea de como solucionar esto?

saludos


Bueno ya lo arregle...
al final hice todo solo =P

Código PHP:
<?php
          
if($_GET['send'] == "coment"){
          
$id_post $_GET['id'];
          
$nome $_POST['com_nome'];
          
$email $_POST['com_ema'];
          
$flog $_POST['com_flog'];
          
$coment $_POST['com_com'];
          global 
$tab_coments;
          if(
$_SESSION['coment1'] != 1){
          
mysql_query("INSERT INTO $tab_coments (id, id_user, id_post, nome, email, flog, comentario) VALUES ('', $id_user, '$id_post', '$nome', '$email', '$flog', '$coment')") or die(print(mysql_error()));
          
$msg "Mensage enviado con éxito!";
          
$_SESSION['coment1'] = 1;
          }
          else{
          
$msg "Usted ya envió un mensaje!";
          }
          }      
          
?>
asi tiene k ir

osea con el nombre de sesion diferente al posteo
y ahora si me sale el mensaje de que ya escribi un mensaje y no puedo escribir otro

Código PHP:
  if($_GET['send'] == "coment"){

  if(
$_SESSION['coment1'] != 1){ 
  #8 (permalink)  
Antiguo 25/07/2007, 12:24
 
Fecha de Ingreso: noviembre-2006
Mensajes: 7
Antigüedad: 17 años, 5 meses
Puntos: 0
Re: Comentario repetido con php y mysql

a ver si alguien me puede ayudar ahora con esto...........................................

cuando se postea un comentario todo seguido tipo aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaa

me deforma la pagina, en vez de hacer un salto de linea.....

alguien tiene idea d como puedo hacer para k no me deforme la pagina?

ya probe de meter el script del comentario dentro de una tabla con tamaño fijo con pixeles y me deforma igual, probe con un div con tamaño fijo y pasa lo mismo.

probe agregandole un <br> para k directamente me modifike el comentario
para que a 60 caracteres me agregue el <br> pero solo lo hace en la primer linea osea k si por ejmplo a un
aaaaaaaaaaaaaa lo limito con 2 caracteres me da como resultado
aa<br>aaaaaaaaaaaa
y no como kiero yo k sea, osea k cada 2 caracteres me agregue el <br>
aa<br>aa<br>aa<br>aa<br>aa<br>aa<br>aa

$coment3 = substr_replace ($coment2, "<br>", 60 , 0 );


alguna idea de como hacer eso?
o de como solucionar mi problema?


Muchas gracias.
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




La zona horaria es GMT -6. Ahora son las 01:51.