elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Problemita al crear Cookie
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problemita al crear Cookie  (Leído 2,773 veces)
dimitrix


Desconectado Desconectado

Mensajes: 4.847



Ver Perfil WWW
Problemita al crear Cookie
« en: 9 Abril 2011, 15:59 pm »

A ver, se que las cookies al crear se tienen que poner lo más arribla posible, pero no puedo ponerlo más arriba que el if y no me funciona entonces :-/

Código
  1. <?php
  2. include("configuracion.php");
  3. $cuenta=$_POST[cuenta];
  4. $pass=sha1($_POST[contra]);
  5.  
  6. ##########  SQL   ##################
  7. $sql="SELECT * FROM usuario WHERE Usuario='".$cuenta."' AND Passhash='".$pass."'";
  8. $resultado = mysql_db_query($db_name, $sql);
  9. $valor = mysql_fetch_array($resultado);
  10.  
  11. ########  FIN SQL   ################
  12.  
  13. if($valor["Cookie"]==NULL){
  14. echo('<font color="red">Disculpe, los datos introducidos no coenciden</font>');
  15. }else{
  16. setcookie ("identificado", "yes", time () + 604800);
  17. };
  18.  

A ver si me podeis ayudar :-)


En línea




Nakp
casi es
Ex-Staff
*
Desconectado Desconectado

Mensajes: 6.336

he vuelto :)


Ver Perfil WWW
Re: Problemita al crear Cookie
« Respuesta #1 en: 9 Abril 2011, 21:27 pm »

existe la columna cookie en la tabla?

simplemente deberias comprobar que la cantidad de filas que devuelva la query sea 1 y entonces setear las cookie, si no el echo :P

ademas tienes un error aqui:

Código
  1. $cuenta=$_POST[cuenta];
  2. $pass=sha1($_POST[contra]);

faltan las comillas :P mejor deberias postear el error que te da tu script :P


En línea

Ojo por ojo, y el mundo acabará ciego.
dimitrix


Desconectado Desconectado

Mensajes: 4.847



Ver Perfil WWW
Re: Problemita al crear Cookie
« Respuesta #2 en: 9 Abril 2011, 22:42 pm »

existe la columna cookie en la tabla?

simplemente deberias comprobar que la cantidad de filas que devuelva la query sea 1 y entonces setear las cookie, si no el echo :P

ademas tienes un error aqui:

Código
  1. $cuenta=$_POST[cuenta];
  2. $pass=sha1($_POST[contra]);

faltan las comillas :P mejor deberias postear el error que te da tu script :P


1. No me da ningún error, simplemente no se crea la Cookie.
2. Si está en la DB, no tengo problemas con eso.
3. el problema es que si pongo arriba el 'setcookie' se crea y si lo pongo abajo no (y lo necesito poner abajo).
En línea




WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.605


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: Problemita al crear Cookie
« Respuesta #3 en: 10 Abril 2011, 12:51 pm »

Intenta así:

Código
  1. <?php
  2. include(dirname(__file__).'/configuracion.php');
  3.  
  4. if($res = mysql_query('
  5. select * from usuario where
  6. Usuario="'.mysql_real_escape_string($_POST['cuenta']).'" and
  7. Passhash="'.mysql_real_escape_string(sha1($_POST['contra'])).'"
  8. limit 1
  9. ')){
  10. //$valor = mysql_fetch_array($resultado); /* Para que? */
  11. echo '<span style="color:red;font-weight:bold;">Imposible crear una nueva cabecera.</span>';
  12. else
  13. setcookie ('identificado', 'yes', null, '/');
  14. }else{
  15. ?>
  16. <span style="color:red;font-weight:bold;">Disculpe, los datos introducidos no coenciden</span>
  17. <?php } ?>

Recuerda que no puedes declarar una cookie si ya has enviado texto en la webya que esta se declara en el header y el header se envía una sola ves.
En línea

dimitrix


Desconectado Desconectado

Mensajes: 4.847



Ver Perfil WWW
Re: Problemita al crear Cookie
« Respuesta #4 en: 11 Abril 2011, 12:27 pm »

Hola WHK, te comento, realmente lo del setcookie de antes era de prueba, pero en verdad se mete el valor que saco de la consulta (de ahí la consulta), a ver si me puedes ayudar please.

PD: Y gracias (este sería el bueno que no funciona.

Código
  1. <?php
  2. include("configuracion.php");
  3. $cuenta=$_POST[cuenta];
  4. $pass=sha1($_POST[contra]);
  5.  
  6. ##########  SQL   ##################
  7. $sql="SELECT * FROM usuario WHERE Usuario='".$cuenta."' AND Passhash='".$pass."'";
  8. $resultado = mysql_db_query($db_name, $sql);
  9. $valor = mysql_fetch_array($resultado);
  10.  
  11. ########  FIN SQL   ################
  12.  
  13. if($valor["Cookie"]==NULL){
  14. echo('<font color="red">Disculpe, los datos introducidos no coenciden</font>');
  15. }else{
  16. setcookie ("identificado", $valor["Cookie"], time () + 604800);
  17. };
En línea




dimitrix


Desconectado Desconectado

Mensajes: 4.847



Ver Perfil WWW
Re: Problemita al crear Cookie
« Respuesta #5 en: 12 Abril 2011, 01:21 am »

Bien, ya lo solucioné de una forma mucho más ordenada:

Código
  1. <?php
  2. include("config.php");
  3. include("funciones.php");
  4.  
  5. $cuenta=$_POST[cuenta];
  6. $pass=$_POST[contra];
  7.  
  8. //Comprueba/mira/elimina Cookies
  9. if($_COOKIE["valorco"]==NULL){
  10. //si no existe cookie
  11.  
  12. if($cuenta != NULL || $pass != NULL){ //FC
  13.  
  14. $cook=SacarCookie(limpiasql($cuenta),limpiasql($pass));
  15.  
  16. if($cook != NULL){
  17. setcookie ("valorco", $cook, time () + 604800);
  18. }else{
  19. echo('<font color="red">Disculpe, los datos introducidos no coenciden</font>');
  20. };
  21. };
  22. };

Gracias por la ayuda igualmente.
En línea




Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
No puedo crear la cookie tras llenar un formulario
PHP
ZharkD 3 3,063 Último mensaje 7 Mayo 2010, 02:38 am
por MinusFour
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines