Foros del Web » Programando para Internet » PHP »

no puedo crear una cookie

Estas en el tema de no puedo crear una cookie en el foro de PHP en Foros del Web. con este script quiero crear una cookie; es decir desde un formulario de ingreso a otra pagina , si el usuario ya esta creado en ...
  #1 (permalink)  
Antiguo 09/05/2011, 14:29
 
Fecha de Ingreso: octubre-2010
Ubicación: Guayaquil
Mensajes: 195
Antigüedad: 13 años, 6 meses
Puntos: 3
no puedo crear una cookie

con este script quiero crear una cookie; es decir desde un formulario de ingreso a otra pagina , si el usuario ya esta creado en la db se crea la cookie y redireciona a otra pagina, el usuario ya esta creado en la base de datos por demas decir , pero siempre me da el mismo error:

Notice: Undefined index: usuario1 in C:\EasyPHP-5.3.6.0\www\prueba\menus.php on line 2:

PERO NADA DE NADA NUNCA SE ME CREA, AYUDA POR FAVOR.


FORMULARIO DE INGRESO DE USUARIO:


<form method="post" action="verifica_cookies.php" >
<SPAN STYLE="position:absolute; top:512px; left:320px; font-family: 'Lucida Sans Unicode', 'Lucida Grande', sans-serif; width: 335px;" >

Usuario
<br>
<input type="text" name="usuario">
<br>

</SPAN>


<input type="submit" value="Entrar">
</form>

</SPAN>



VERIFICO EL USUARIO EN LA DB Y CREO LA COOKIE:
verifica_cookies.php


<?php

$connection = mysql_connect("localhost","root","");
$db = mysql_select_db("datos", $connection);

$sql = "SELECT id FROM datos1
WHERE usuario=' $_POST[usuario] '";

$result = mysql_query($sql);
$num = mysql_num_rows($result);

if ($num>0)



//USUARIO CORRECTO

$id = mysql_fetch_assoc($result);



setcookie ("usuario1", $id['usuario']);

header("Location:menus.php");

?>


MUESTRO LA COOKIE:
menus.php

<?PHP
echo $_COOKIE["usuario1"];

?>

Última edición por gabrielcorr4; 09/05/2011 a las 14:30 Razón: olvido
  #2 (permalink)  
Antiguo 09/05/2011, 14:43
Avatar de leo_nqn  
Fecha de Ingreso: abril-2010
Ubicación: Neuquen
Mensajes: 461
Antigüedad: 14 años
Puntos: 24
Respuesta: no puedo crear una cookie

probaste poner :echo $_COOKIE["usuario1"]; en verifica_cookies.php??
y sacar o comentar de verifica_cookies.php eader("Location:menus.php").. para ver que error te tira? o si lo muestra bien?
__________________

Blog: http://leonardonqn.blogspot.com
Twitter:@Leo_FFerreyra
  #3 (permalink)  
Antiguo 09/05/2011, 14:53
 
Fecha de Ingreso: octubre-2010
Ubicación: Guayaquil
Mensajes: 195
Antigüedad: 13 años, 6 meses
Puntos: 3
Respuesta: no puedo crear una cookie

hice lo que me dijiste o sea asi en verifica_cookies.php:

<?php

$connection = mysql_connect("localhost","root","");
$db = mysql_select_db("datos", $connection);

$sql = "SELECT id FROM datos1
WHERE usuario=' $_POST[usuario] '";

$result = mysql_query($sql);
$num = mysql_num_rows($result);

if ($num>0)



//USUARIO Y CONTRASEÑA CORRECTOS

$id = mysql_fetch_assoc($result);



setcookie ("usuario1", $id['usuario']);

echo $_COOKIE["usuario1"];

?>

y me da estos errores:

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\EasyPHP-5.3.6.0\www\prueba\verifica_cookies.php on line 10

Notice: Undefined variable: id in C:\EasyPHP-5.3.6.0\www\prueba\verifica_cookies.php on line 22

Notice: Undefined index: usuario1 in C:\EasyPHP-5.3.6.0\www\prueba\verifica_cookies.php on line 24
  #4 (permalink)  
Antiguo 09/05/2011, 14:54
 
Fecha de Ingreso: octubre-2010
Ubicación: Guayaquil
Mensajes: 195
Antigüedad: 13 años, 6 meses
Puntos: 3
Respuesta: no puedo crear una cookie

la linea 22 y la 24 son las dos antepenultimas
  #5 (permalink)  
Antiguo 09/05/2011, 15:00
Avatar de leo_nqn  
Fecha de Ingreso: abril-2010
Ubicación: Neuquen
Mensajes: 461
Antigüedad: 14 años
Puntos: 24
Respuesta: no puedo crear una cookie

el if no esta abierto y tampoco cerrado

If (condicion)
{
LO QUE MOTRAS
}
else
{
SI NO ENTRO MUESTRA ESTO
}


Saca el if.. y decime que pasa!
__________________

Blog: http://leonardonqn.blogspot.com
Twitter:@Leo_FFerreyra
  #6 (permalink)  
Antiguo 09/05/2011, 15:06
Avatar de AndresTorres  
Fecha de Ingreso: abril-2011
Ubicación: Capital Federal, ARG
Mensajes: 49
Antigüedad: 13 años
Puntos: 13
Respuesta: no puedo crear una cookie

Debuggea un poco, antes del if pone esto:
Código PHP:
die( var_dump$sql $result ) ); 
Y decinos que te devuelve eso, así vemos exactamente que es lo que está fallando viendo los datos que se están tomando...
  #7 (permalink)  
Antiguo 09/05/2011, 15:09
 
Fecha de Ingreso: octubre-2010
Ubicación: Guayaquil
Mensajes: 195
Antigüedad: 13 años, 6 meses
Puntos: 3
Respuesta: no puedo crear una cookie

gracias por la ayuda , si me faltaba el corchete, pero igual me sigue saliendo un error:

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\EasyPHP-5.3.6.0\www\prueba\verifica_cookies.php on line 10

o sea donde dice:


$num = mysql_num_rows($result);
  #8 (permalink)  
Antiguo 09/05/2011, 15:11
Avatar de AndresTorres  
Fecha de Ingreso: abril-2011
Ubicación: Capital Federal, ARG
Mensajes: 49
Antigüedad: 13 años
Puntos: 13
Respuesta: no puedo crear una cookie

Cita:
Iniciado por leo_nqn Ver Mensaje
el if no esta abierto y tampoco cerrado

If (condicion)
{
LO QUE MOTRAS
}
else
{
SI NO ENTRO MUESTRA ESTO
}


Saca el if.. y decime que pasa!
El error está en mysql_num_rows, los demás errores son desencadenantes de este, el if está luego del mysql_num_rows, no creo que venga al caso.
  #9 (permalink)  
Antiguo 09/05/2011, 15:12
 
Fecha de Ingreso: octubre-2010
Ubicación: Guayaquil
Mensajes: 195
Antigüedad: 13 años, 6 meses
Puntos: 3
Respuesta: no puedo crear una cookie

Andres me sale este error:

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\EasyPHP-5.3.6.0\www\prueba\verifica_cookies.php on line 10
string 'SELECT id FROM datos1

WHERE usuario=' gabrielcorr '' (length=53)
boolean false

gabrielcorr es mi usuario guardado en la bd en el campo: usuario de la tabla: datos1 bd: datos
  #10 (permalink)  
Antiguo 09/05/2011, 15:13
Avatar de leo_nqn  
Fecha de Ingreso: abril-2010
Ubicación: Neuquen
Mensajes: 461
Antigüedad: 14 años
Puntos: 24
Respuesta: no puedo crear una cookie

en la consulta sql estas diciendo que $_POST[lo que traes] es un texto.. por las comillas ''.. fijate si ese id no es un integer?
__________________

Blog: http://leonardonqn.blogspot.com
Twitter:@Leo_FFerreyra
  #11 (permalink)  
Antiguo 09/05/2011, 15:14
Avatar de AndresTorres  
Fecha de Ingreso: abril-2011
Ubicación: Capital Federal, ARG
Mensajes: 49
Antigüedad: 13 años
Puntos: 13
Respuesta: no puedo crear una cookie

Cita:
Iniciado por gabrielcorr4 Ver Mensaje
gracias por la ayuda , si me faltaba el corchete, pero igual me sigue saliendo un error:

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\EasyPHP-5.3.6.0\www\prueba\verifica_cookies.php on line 10

o sea donde dice:


$num = mysql_num_rows($result);
Claro pero el error te dice justamente lo que pasa, mysql_num_rows espera que le des un tipo de dato "recurso" y le estás dando una boolean, esto pasa porque esta función devuelve en caso que este todo bien true y si falla devuelve false, por lo que tu error está en el contenido de $result

insisto que pruebes lo que te pasé y nos pongas lo que se imprimió en pantalla
  #12 (permalink)  
Antiguo 09/05/2011, 15:17
Avatar de AndresTorres  
Fecha de Ingreso: abril-2011
Ubicación: Capital Federal, ARG
Mensajes: 49
Antigüedad: 13 años
Puntos: 13
Respuesta: no puedo crear una cookie

Cita:
Iniciado por leo_nqn Ver Mensaje
en la consulta sql estas diciendo que $_POST[lo que traes] es un texto.. por las comillas ''.. fijate si ese id no es un integer?
Código MySQL:
Ver original
  1. SELECT algo FROM aca WHERE id = 1

Código MySQL:
Ver original
  1. SELECT algo FROM aca WHERE id = "1"

Ambos funcionan sin problemas
  #13 (permalink)  
Antiguo 09/05/2011, 15:17
 
Fecha de Ingreso: octubre-2010
Ubicación: Guayaquil
Mensajes: 195
Antigüedad: 13 años, 6 meses
Puntos: 3
Respuesta: no puedo crear una cookie

eso pasa Andres debbugie como dijiste y me salio este error:


Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\EasyPHP-5.3.6.0\www\prueba\verifica_cookies.php on line 10
string 'SELECT id FROM datos1

WHERE usuario=' gabrielcorr '' (length=53)
boolean false


gabrielcorr es mi usuario guardado en la bd en el campo: usuario de la tabla: datos1 bd: datos
  #14 (permalink)  
Antiguo 09/05/2011, 15:23
Avatar de AndresTorres  
Fecha de Ingreso: abril-2011
Ubicación: Capital Federal, ARG
Mensajes: 49
Antigüedad: 13 años
Puntos: 13
Respuesta: no puedo crear una cookie

Ahi está el problema, tenes espacios donde ingresas el nombre del usuario.

Código PHP:
$sql mysql_real_escape_string'SELECT id FROM datos1
WHERE usuario = "'
.$_POST[usuario].'"'
Si disculpa, no vi que debajo estaba lo que te había pedido , sorry. ^^
  #15 (permalink)  
Antiguo 09/05/2011, 15:27
Avatar de leo_nqn  
Fecha de Ingreso: abril-2010
Ubicación: Neuquen
Mensajes: 461
Antigüedad: 14 años
Puntos: 24
Respuesta: no puedo crear una cookie

Grande andres! voy a tener que aprender a debuggear...
__________________

Blog: http://leonardonqn.blogspot.com
Twitter:@Leo_FFerreyra

Etiquetas: cookie
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 02:48.