Foros del Web » Programando para Internet » PHP »

No puedo crear cookie

Estas en el tema de No puedo crear cookie en el foro de PHP en Foros del Web. pues eso: de mi bd en la cual ya esta un usuario registrado , voy al menu de ingreso usuario, digito ese usuario para que ...
  #1 (permalink)  
Antiguo 11/05/2011, 15:48
 
Fecha de Ingreso: octubre-2010
Ubicación: Guayaquil
Mensajes: 195
Antigüedad: 14 años, 1 mes
Puntos: 3
No puedo crear cookie

pues eso: de mi bd en la cual ya esta un usuario registrado , voy al menu de ingreso usuario, digito ese usuario para que de alli me cree la cookie verificando ese usuario y me redireccione a la pagina principal pero me sale este error en el archivo en el cual verifica usuario y crea la cookie. cual seria?

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


codigo:

Código:
<?php

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

$sql = mysql_real_escape_string( 'SELECT id FROM datos1
WHERE usuario = .$_POST[usuario].');  

$result = mysql_query($sql);
$num = mysql_num_rows($result);  //AQUI ERROR



if ($num>0)

 { 

//USUARIO  CORRECTO

$id = mysql_fetch_assoc($result);

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

Última edición por gabrielcorr4; 11/05/2011 a las 15:54 Razón: me olvide
  #2 (permalink)  
Antiguo 11/05/2011, 15:54
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 8 meses
Puntos: 336
Respuesta: No puedo crear cookie

mysql_real_escape_string devuelve false por tener un error:

$sql = mysql_real_escape_string( 'SELECT id FROM datos1
WHERE usuario = '.$_POST[usuario]);

el típico error de las comillas
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #3 (permalink)  
Antiguo 11/05/2011, 15:58
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: No puedo crear cookie

Además de que la consulta está mal redactada, pues estoy casi seguro que la columna usuario es de tipo VARCHAR, así que también hacen falta comillas en la misma consulta.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 11/05/2011, 16:00
 
Fecha de Ingreso: octubre-2010
Ubicación: Guayaquil
Mensajes: 195
Antigüedad: 14 años, 1 mes
Puntos: 3
Respuesta: No puedo crear cookie

Nada lo copie como lo mandaste y me sige dando el mismo 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


codigo corregido:

Cita:

<?php

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

$sql = mysql_real_escape_string( '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']);

}
  #5 (permalink)  
Antiguo 11/05/2011, 16:00
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 8 meses
Puntos: 336
Respuesta: No puedo crear cookie

pateketrueke es un genio, debe ser varchar, en ese caso:

$sql = mysql_real_escape_string( "SELECT id FROM datos1
WHERE usuario = '".$_POST[usuario]."'");
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #6 (permalink)  
Antiguo 11/05/2011, 16:01
 
Fecha de Ingreso: octubre-2010
Ubicación: Guayaquil
Mensajes: 195
Antigüedad: 14 años, 1 mes
Puntos: 3
Respuesta: No puedo crear cookie

si PAKETETRUKE es varchar , como lo corrijo?, gracias.
  #7 (permalink)  
Antiguo 11/05/2011, 16:05
 
Fecha de Ingreso: octubre-2010
Ubicación: Guayaquil
Mensajes: 195
Antigüedad: 14 años, 1 mes
Puntos: 3
Respuesta: No puedo crear cookie

Bueno sige el mismo 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


y el codigo corregido por PAKETETRUEKE:

Cita:
<?php

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

$sql = mysql_real_escape_string( "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']);

}



?>
  #8 (permalink)  
Antiguo 11/05/2011, 16:09
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: No puedo crear cookie

Intenta así:
Código PHP:
$result mysql_query($sql) or die('Error ($sql): '.mysql_error()); 
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 11/05/2011, 16:13
 
Fecha de Ingreso: octubre-2010
Ubicación: Guayaquil
Mensajes: 195
Antigüedad: 14 años, 1 mes
Puntos: 3
Respuesta: No puedo crear cookie

ese debuggeo me saca los siguientes errores:

Notice: Use of undefined constant usuario - assumed 'usuario' in C:\EasyPHP-5.3.6.0\www\prueba\verifica_cookies.php on line 7

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

codigo correjido:


Cita:

<?php

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

$sql = mysql_real_escape_string( "SELECT id FROM datos1
WHERE usuario = '".$_POST[usuario]."'");

$result = mysql_query($sql) or die('Error ($sql): '.mysql_error());
$num = mysql_num_rows($result);



if ($num>0)

{

//USUARIO CORRECTO

$id = mysql_fetch_assoc($result);



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

}



?>
  #10 (permalink)  
Antiguo 11/05/2011, 16:38
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 8 meses
Puntos: 406
Respuesta: No puedo crear cookie

Cita:
Iniciado por gabrielcorr4 Ver Mensaje
ese debuggeo me saca los siguientes errores:

Notice: Use of undefined constant usuario - assumed 'usuario' in C:\EasyPHP-5.3.6.0\www\prueba\verifica_cookies.php on line 7

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

codigo correjido:
A ver, nada mas estas haciendo copy&paste, no haces el intento de ver que es lo que se esta haciendo, solo quieres código arreglado y funcionando

Aun tienes errores de comillas
Código PHP:
Ver original
  1. //Original
  2. $sql = mysql_real_escape_string( "SELECT id FROM datos1
  3. WHERE usuario = '".$_POST[usuario]."'");
  4.  
  5. //Arreglado
  6. $sql = mysql_real_escape_string( "SELECT id FROM datos1
  7. WHERE usuario = '".$_POST['usuario']."'");
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #11 (permalink)  
Antiguo 11/05/2011, 16:46
 
Fecha de Ingreso: octubre-2010
Ubicación: Guayaquil
Mensajes: 195
Antigüedad: 14 años, 1 mes
Puntos: 3
Respuesta: No puedo crear cookie

nemutagk yo soy muy NOVATO en esto pues si yo supiera el error ni preguntaria, ya llevo 3 dias en estos posts y nada , si fuera genio en php ni estuviera aqui. bueno no sabia que estos posts fueran para gente genia en php.
  #12 (permalink)  
Antiguo 11/05/2011, 16:48
 
Fecha de Ingreso: octubre-2010
Ubicación: Guayaquil
Mensajes: 195
Antigüedad: 14 años, 1 mes
Puntos: 3
Respuesta: No puedo crear cookie

igual tu codigo no sirve
  #13 (permalink)  
Antiguo 11/05/2011, 16:49
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 8 meses
Puntos: 336
Respuesta: No puedo crear cookie

creo que en la tabla datos1 no existe ningún campo llamado usuario...

Te aconsejo que cuando quieras publicar una segunda respuesta en vez de publicar una nueva, edites la anterior agregándole la parte nueva, no es una advertencia ni nada parecido, es solo que algunos usuarios publican unas 3 o 4 veces seguidas así y molesta bastante XD
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #14 (permalink)  
Antiguo 11/05/2011, 16:51
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 8 meses
Puntos: 406
Respuesta: No puedo crear cookie

Notice: Use of undefined constant usuario - assumed 'usuario' in C:\EasyPHP-5.3.6.0\www\prueba\verifica_cookies.php on line 7

El error dice que $_POST['usuario'] no esta definida, quiere decir que tu formulario no existe ningún campo con el nombre usuario o que el campo ha sido enviado vacío
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #15 (permalink)  
Antiguo 11/05/2011, 16:52
 
Fecha de Ingreso: octubre-2010
Ubicación: Guayaquil
Mensajes: 195
Antigüedad: 14 años, 1 mes
Puntos: 3
Respuesta: No puedo crear cookie

ya stramin gracias dejalo asi segun algunos usuarios debo estudiar mas manuales como estado haciendo y vermelas por mi mismo de igual modos gracias.

pd. solo hay un registro en mi tabla datos1 con mi nombre de usuario en el campo usuario. de varchar 100
  #16 (permalink)  
Antiguo 11/05/2011, 16:52
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: No puedo crear cookie

Cita:
Iniciado por gabrielcorr4 Ver Mensaje
igual tu codigo no sirve
¿Y te gustaría mostrar el código que tienes actualmente completo y corregido?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #17 (permalink)  
Antiguo 11/05/2011, 16:55
 
Fecha de Ingreso: octubre-2010
Ubicación: Guayaquil
Mensajes: 195
Antigüedad: 14 años, 1 mes
Puntos: 3
Respuesta: No puedo crear cookie

formulario enviado al archivo en cuestion verifica_cookies.php: envio mi nombre de usuario para nada vacio.

Cita:
<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>


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

</SPAN>
disculpen si hago copy and paste peroi creo k es necesario.
  #18 (permalink)  
Antiguo 11/05/2011, 17:02
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 8 meses
Puntos: 336
Respuesta: No puedo crear cookie

Cita:
Iniciado por gabrielcorr4 Ver Mensaje
formulario enviado al archivo en cuestion verifica_cookies.php: envio mi nombre de usuario para nada vacio.



disculpen si hago copy and paste peroi creo k es necesario.
ah ok, se ve que trabajas directamente el código, el error esta en las etiquetas span y form, fíjate que tienes la siguiente estructura:

Código HTML:
<form method="post" action="verifica_cookies.php" >
<SPAN > 

</form> 
</SPAN> 
lo correcto es

Código HTML:
<form method="post" action="verifica_cookies.php" >
<SPAN > 

</SPAN>
</form> 
de modo que ambas etiquetas estén bien anidadas, prueba y avísanos si te funciona.
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #19 (permalink)  
Antiguo 11/05/2011, 17:11
 
Fecha de Ingreso: octubre-2010
Ubicación: Guayaquil
Mensajes: 195
Antigüedad: 14 años, 1 mes
Puntos: 3
Respuesta: No puedo crear cookie

no Stramin ya he probado eso ayer, si pongo el </SPAN> antes del </form> no me sale en pantalla el input tye ="submit" , igual lo probe sin los estilos span o sea que salgan mas rusticos y situados en cualquier lugar de la pagina el usuario y contraseña con sus respectivas casillas y nada
  #20 (permalink)  
Antiguo 11/05/2011, 17:23
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 8 meses
Puntos: 406
Respuesta: No puedo crear cookie

la verdad sin que te ofendas como la ultima vez tu código es un relajo, prueba adaptar este código que funciona
Código PHP:
Ver original
  1. <?php
  2. if (!empty($_POST)) {
  3.     $conexion = mysql_connect('localhost','root','');
  4.     mysql_select_db('datos',$conexion);
  5.    
  6.     $user = mysql_real_escape_string($_POST['usuario']);
  7.    
  8.     if ($user === false) {
  9.         die('<p>Error, intento de ataque SQL Inyection</p>');
  10.     }
  11.  
  12.         $sql = 'SELECT id FROM datos1 WHERE usuario = \''.$user.'\'';
  13.  
  14.         $query = mysql_query($sql,$conexion) or die(mysql_error());
  15.         $numUsers = mysql_num_rows($query);
  16.  
  17.         if ($numUsers != 0) {
  18.             echo '<p>Usuario correcto</p>';
  19.         }else {
  20.             echo '<p>El usuario no existe</p>';
  21.         }
  22. }
  23. ?>
  24. <html>
  25.     <head>
  26.         <title>Prueba</title>
  27.     </head>
  28.     <body>
  29.         <form method="post" action="prueba.php">
  30.             <p><input type="text" name="usuario" /></p>
  31.             <p><input type="password" name="contrasena" /></p>
  32.             <p><input type="submit" value="Entrar" /></p>
  33.         </form>
  34.     </body>
  35. </html>
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #21 (permalink)  
Antiguo 11/05/2011, 17:25
 
Fecha de Ingreso: octubre-2010
Ubicación: Guayaquil
Mensajes: 195
Antigüedad: 14 años, 1 mes
Puntos: 3
Respuesta: No puedo crear cookie

un relajo?
  #22 (permalink)  
Antiguo 11/05/2011, 17:43
 
Fecha de Ingreso: octubre-2010
Ubicación: Guayaquil
Mensajes: 195
Antigüedad: 14 años, 1 mes
Puntos: 3
Respuesta: No puedo crear cookie

todo bien salio usuario correcto, pero te falto lo mas importante "que creara la cookie" la cual ya me la creo añadiendo una sentencia:

Cita:

<?php
if (!empty($_POST)) {
$conexion = mysql_connect('localhost','root','');
mysql_select_db('datos',$conexion);

$user = mysql_real_escape_string($_POST['usuario']);

if ($user) {
$sql = 'SELECT usuario FROM datos1 WHERE usuario = \''.$user.'\'';

$query = mysql_query($sql,$conexion) or die(mysql_error());
$numUsers = mysql_num_rows($query);

if ($numUsers != 0) {

//añado sentencia que crea la cookie en esta variable
setcookie ("usuario1", $user['usuario']);
echo '<p>Usuario correcto</p>';
}else {
echo '<p>El usuario no existe</p>';
}
}else {
echo '<p>Error, intento de ataque SQL Inyection</p>';
}
}
?>
gracias de antemano por las molestias.

Última edición por gabrielcorr4; 11/05/2011 a las 17:59

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

SíEste tema le ha gustado a 2 personas




La zona horaria es GMT -6. Ahora son las 13:31.