Foros del Web » Programando para Internet » PHP »

COOKIES - Error

Estas en el tema de COOKIES - Error en el foro de PHP en Foros del Web. Tengo este codigo que programe Código PHP: if (isset( $setusuario ))         {             echo  "Bienvenido " .  $HTTP_COOKIE_VARS [ "setusuario" ];             }  Y a pesar de tener la ...
  #1 (permalink)  
Antiguo 09/01/2006, 13:42
 
Fecha de Ingreso: enero-2006
Mensajes: 17
Antigüedad: 18 años, 2 meses
Puntos: 0
COOKIES - Error

Tengo este codigo que programe

Código PHP:
if (isset($setusuario))
        {
            echo 
"Bienvenido "$HTTP_COOKIE_VARS["setusuario"];
            } 
Y a pesar de tener la cookie seteada en vez de salirme Bienvenido USERNAME me sale Bienvenido DELETED o sea en vez de tomar el valor de la cookie sale la palabra DELETED. Si alguien tiene idea :S
  #2 (permalink)  
Antiguo 09/01/2006, 13:50
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años
Puntos: 33
Seria bueno que pusieras el codigo de como estas estableciendo esa variable.
  #3 (permalink)  
Antiguo 09/01/2006, 13:54
 
Fecha de Ingreso: enero-2006
Mensajes: 17
Antigüedad: 18 años, 2 meses
Puntos: 0
setcookie("setusuario",EXTRAE_VALOR_DE_LA_DB,expir acion_tiempo);
That's all fokes.
  #4 (permalink)  
Antiguo 09/01/2006, 13:55
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
No uses variables de cookies como globales ($setusuario)

Usa el array superglobal: $_COOKIE, para leer su valor y setcookie() para definirla.

Código PHP:
if (isset($_COOKIE['setusuario'])) 
        { 
            echo 
"Bienvenido "$_COOKIE['setusuario']; 
            } 
Nos haría falta también ver como defines esa cookie, y que confirmes si tu navegador acepta cookies, que no tengas algún firewall o equivalente que bloquee cookies .. etc.

Un saludo
  #5 (permalink)  
Antiguo 09/01/2006, 13:56
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
Cita:
Iniciado por suroh
setcookie("setusuario",EXTRAE_VALOR_DE_LA_DB,expir acion_tiempo);
That's all fokes.
Indica el código exacto que usas ... esa sería la definición .. pero el tiempo de expiración se suele tomar tipo: time()+segundos .. y como lo "resumistes" o tomastes la definición .. no se vé realmente como lo haces tu en tu caso.

Cita:
Y a pesar de tener la cookie seteada en vez de salirme Bienvenido USERNAME me sale Bienvenido DELETED o sea en vez de tomar el valor de la cookie sale la palabra DELETED. Si alguien tiene idea :S
Con más razón debes colocar el código que usas completo .. !!!!! si tienes un "valor por ahí extraño".

Un saludo,
  #6 (permalink)  
Antiguo 09/01/2006, 13:57
 
Fecha de Ingreso: enero-2006
Mensajes: 17
Antigüedad: 18 años, 2 meses
Puntos: 0
setcookie("setusuario", $user_nick, time()+3600);

Ese es el codigo
  #7 (permalink)  
Antiguo 09/01/2006, 14:00
 
Fecha de Ingreso: enero-2006
Mensajes: 17
Antigüedad: 18 años, 2 meses
Puntos: 0
Sigue poniendome DELETED
  #8 (permalink)  
Antiguo 09/01/2006, 14:01
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
Cita:
Iniciado por suroh
setcookie("setusuario", $user_nick, time()+3600);

Ese es el codigo
Y .....

Y tu has probado hacer un "echo $user_nick" antes de tu setcookie para ver que valor trae tu consulta SQL?

Un saludo,
  #9 (permalink)  
Antiguo 09/01/2006, 14:04
 
Fecha de Ingreso: enero-2006
Mensajes: 17
Antigüedad: 18 años, 2 meses
Puntos: 0
Me trae el valor que obtiene de la DB
  #10 (permalink)  
Antiguo 09/01/2006, 14:15
 
Fecha de Ingreso: enero-2006
Mensajes: 17
Antigüedad: 18 años, 2 meses
Puntos: 0
Tienen idea?
  #11 (permalink)  
Antiguo 09/01/2006, 14:21
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
Y que código usas para leer esa cookie (en su contexto .. por si hay otro código que lo cambie ..)

Ten cuidado con nombres de variables iguales a las de tus cookies .. no las uses iguales y accede a ellas por $_COOKIE (su array superglobal asociativo).

Un saludo,
  #12 (permalink)  
Antiguo 09/01/2006, 14:24
 
Fecha de Ingreso: enero-2006
Mensajes: 17
Antigüedad: 18 años, 2 meses
Puntos: 0
Código PHP:
function login ($nickname,$passwd)
{
//CONECTAMOS A LA BD
$connection mysql_connect("localhost""gx0xxxxxx""xxxx");
//SELECCIONAMOS BD
mysql_select_db (ga000199_blog$connection);
/
Verificamos el Password y el Status
$result 
mysql_query("SELECT * FROM users WHERE nick='$nickname'",$connection); 
while(
$row mysql_fetch_array($result)) 
{
$passwordcheck $row['password'];
}
if(
$passwordcheck == $passwd) {
//ABRIMOS COOKIES
$user_nick $row['nick'];
$user_name $row['nombre'];
$user_stat $row['status'];
$cookies[1] = setcookie("setusuario"$user_nicktime()+3600);
$cookies[2] = setcookie("setnombrepersona"$user_nametime()+3600);
$cookies[3] = setcookie("setstat"$user_stattime()+3600);
//SIGUE EL CODIGO, ESTO ANDA PERFECTO
return $cookies
  #13 (permalink)  
Antiguo 09/01/2006, 14:31
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
OK .. pero te pedía el código que usas (en otro script debes pretender llamar a $_COOKIE) para leer tus cookies.

Te pasa lo mismo con otras cookies como las que defines ahí a la vez?


Un saludo,
  #14 (permalink)  
Antiguo 09/01/2006, 14:56
 
Fecha de Ingreso: enero-2006
Mensajes: 17
Antigüedad: 18 años, 2 meses
Puntos: 0
En otro script pongo una consicion si la cookie esta seteada y la condicion se cumple pero no puedo leer los valores.
  #15 (permalink)  
Antiguo 09/01/2006, 15:12
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
Cita:
Iniciado por suroh
En otro script pongo una consicion si la cookie esta seteada y la condicion se cumple pero no puedo leer los valores.
Y por qué no puedes leer los valores?
  #16 (permalink)  
Antiguo 09/01/2006, 15:17
 
Fecha de Ingreso: enero-2006
Mensajes: 17
Antigüedad: 18 años, 2 meses
Puntos: 0
Porque me pone deleted ¬¬
  #17 (permalink)  
Antiguo 09/01/2006, 15:29
 
Fecha de Ingreso: enero-2006
Mensajes: 17
Antigüedad: 18 años, 2 meses
Puntos: 0
nadie sabe el problema?
  #18 (permalink)  
Antiguo 09/01/2006, 15:33
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años
Puntos: 33
Pregunta

Si después de todos los comentarios que se te han hecho no se ha arreglado te suguiero que cheques si tu explorador soporta cookies. Esto ya te lo habia mencionado cluster
  #19 (permalink)  
Antiguo 09/01/2006, 16:29
 
Fecha de Ingreso: enero-2006
Mensajes: 17
Antigüedad: 18 años, 2 meses
Puntos: 0
Es IE 6.0, entro a estos y otros cuantos foros y por ende utilizo cookies...
  #20 (permalink)  
Antiguo 09/01/2006, 17:33
 
Fecha de Ingreso: enero-2006
Mensajes: 17
Antigüedad: 18 años, 2 meses
Puntos: 0
Error encontrado

Código PHP:
while($row mysql_fetch_array($result))  

$passwordcheck $row['password']; 

if(
$passwordcheck == $passwd) { 
//ABRIMOS COOKIES 
$user_nick $row['nick']; 
$user_name $row['nombre']; 
$user_stat $row['status']; 
Como vemos seguia sacando datos del array del mysql_fetch_array cuando ya habia cerrado el while. Así queda el código correcto:

Código PHP:
while($row mysql_fetch_array($result))  

$passwordcheck $row['password']; 
$user_nick $row['nick']; 
$user_name $row['nombre']; 
$user_stat $row['status'];

if(
$passwordcheck == $passwd) { 
//ABRIMOS COOKIES 
Error estúpido si se quiere que me llevó (y a los que colaboraron también) más de 4 horas para resolverlo finalmente.
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 18:42.