Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/03/2009, 09:31
yonolose
(Desactivado)
 
Fecha de Ingreso: marzo-2008
Mensajes: 641
Antigüedad: 17 años
Puntos: 7
Pregunta

Hola!!

Estoy haciendo un servicio y necesito el control de amistades:

Tengo esto:

Código PHP:
//Comprobar si actualmente es el amigo

$checkamistad1=mysql_query("SELECT COUNT(*) FROM `sonramigos` WHERE `user`='" $user "' AND `amigo`='" $useractual "'");

$checkamistad2=mysql_query("SELECT COUNT(*) FROM `sonramigos` WHERE `user`='" $useractual "' AND `amigo`='" $user "'");

$amistad1=mysql_result($checkamistad1,0);

$amistad2=mysql_result($checkamistad2,0);

$amistad=$amistad1 $amistad2;

//................



if($amistad==0){

echo 
"<form action='./sonrisa.php?user=$user&opcion=amistad' method='post'><input name='amistaddo' type='hidden' value='add'><input type='submit' name='amistadsubmit' value='Ser su amigo'></form>";

}else{

echo 
"<form action='./sonrisa.php?user=$user&opcion=amistad' method='post'><input name='amistaddo' type='hidden' value='del'><input type='submit' name='amistadsubmit' value='No ser su amigo'></form>";

}


}else{
//Hasta aquí--No somos enemigos y desde aquí hacia abajo, sí lo somos

echo "Este usuario es un enemigo tuyo, por lo cuál, no puedes ser su amigo hasta ser borrado de la lista de enmigos.<br /><br /><a href=\"./sonrisa.php?user=$useractual&opcion=amistad&do=verenemigos\">Ver lista de enemigos</a>";


}

}
//Hasta aquí el user no es el dueño.

}//--Finaliza switch de variable do

$amistaddo=$_POST['amistaddo'];

if(isset(
$amistaddo)){

echo 
"<br />Acción realizada con éxito<br />";

switch(
$amistaddo){

case 
"add":

mysql_query("INSERT INTO `sonramigos` (`user`,`amigo`) VALUES ('$user','$useractual')");

break;

case 
"del":

mysql_query("DELETE FROM `sonramigos` WHERE `user`='" mysql_real_escape_string($user) . "' AND `amigo`='" $useractual "'") or die (mysql_error());

mysql_query("DELETE FROM `sonramigos` WHERE `user`='" $useractual "' AND `amigo`='" mysql_real_escape_string($user) . "'") or die (mysql_error());

break; 
El problema es que cuando se pulsa sobre el botón "Ser su amigo", la página se recarga y vuelve a salir el mismo botón.

Si se pulsa de nuevo, por segunda vez, ya sale el botón de "No ser su amigo".

Y también al revés, hay que pulsar dos veces el de "No ser..." para que aparezca el de "Ser...".

Lo más curioso es que cuando se pulsa una vez y se accede a la URL, sin recargar la página, el botón ya cambia...

¿Cuál será el problema?

Si saben otro modo de realizar esto, agradecería que me lo dijeran...

Bueno, saludos y espero haberme explicado...

Intenté poner un header() después de realizar la acción add o del, pero claro... las cabeceras han sido enviadas mucho antes...

Saludos

Última edición por GatorV; 04/03/2009 a las 10:05