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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


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


Desconectado Desconectado

Mensajes: 527


"porque pensar nunca fue entender"


Ver Perfil WWW
Problema con sesiones
« en: 26 Mayo 2009, 15:39 pm »

bueno me pasa lo siguiente... estoy haciendo una pagina con registro de usuarios. al registrarse, voy al login e hice una cosa para probar y no me funciona,me pasa lo siguiente, al entrar con el login le pido que me de el nombre de usuario,pero no me lo da,voy al logout, se cierra la sesion, voy a user.php y me muestra la sesion anterior!!  :-[ igual voy a restringir el user.php

aca van los codigos:
user.php
Código
  1. <?php
  2.  
  3. require('config.php');
  4. require('functions.php');
  5.  
  6.  
  7. //make connection to dbase
  8. $connection = @mysql_connect($server, $dbusername, $dbpassword)
  9.  
  10. $db = @mysql_select_db($db_name,$connection)
  11.  
  12. //build and issue the query
  13. $sql ="SELECT * FROM $table_name";
  14. $result = @mysql_query($sql,$connection) or die(mysql_error());
  15.  
  16. ?>
  17. <html>
  18. <head>
  19.       <title>Bienvenidos</title>
  20. </head>
  21. <body>
  22. <p>Entraste con el Nick:</p>
  23. <?php
  24. echo  $_SESSION[user_name];
  25. ?>
  26. <form name="form1" method="post" action="username.php">
  27.   <label>Cambiar nombre de usuario
  28.     <input type="text" name="username.php">
  29.   </label>
  30.  
  31.   <p>&nbsp;</p>
  32.   <label></label>
  33.   <input type="submit" name="Submit" value="Cambiar">
  34. </form>
  35. <p>&nbsp;</p>
  36. </body>
  37. </html>

config.php no hace falta...

username.php


Código
  1. <?php
  2.  
  3. //function to get the date
  4. function last_login()
  5. {
  6. $date = gmdate("Y-m-d");
  7. return $date;
  8. }
  9.  
  10. //function that sets the session variable
  11. function sess_vars($base_dir, $server, $dbusername, $dbpassword, $db_name, $table_name, $user, $pass)
  12. {
  13.  
  14.  
  15. //make connection to dbase
  16. $connection = @mysql_connect($server, $dbusername, $dbpassword)
  17.  
  18. $db = @mysql_select_db($db_name,$connection)
  19.  
  20. $sql = "SELECT * FROM $table_name WHERE username = '$user' and password = password('$pass')";
  21.  
  22. $result = @mysql_query($sql, $connection) or die(mysql_error());
  23.  
  24.  
  25. //get the number of rows in the result set
  26. $num = mysql_num_rows($result);
  27.  
  28. //set session variables if there is a match
  29. if ($num != 0)
  30. {
  31. while ($sql = mysql_fetch_object($result))
  32. {
  33. $_SESSION[first_name] = $sql -> firstname;
  34. $_SESSION[last_name] = $sql -> lastname;
  35. $_SESSION[user_name] = $sql -> username;      
  36. $_SESSION[password] = $sql -> password;
  37. $_SESSION[group1] = $sql -> group1;
  38. $_SESSION[group2] = $sql -> group2;
  39. $_SESSION[group3] = $sql -> group3;
  40. $_SESSION[pchange] = $sql -> pchange;  
  41. $_SESSION[email] = $sql -> email;
  42. $_SESSION[redirect] = $sql -> redirect;
  43. $_SESSION[verified] = $sql -> verified;
  44. $_SESSION[last_login] = $sql -> last_login;
  45. }
  46. }else{
  47. $_SESSION[redirect] = "$base_dir/errorlogin.html";
  48. }
  49. }
  50.  
  51. //functions that will determine if access is allowed
  52. function allow_access($group)
  53. {
  54. if ($_SESSION[group1] == "$group" || $_SESSION[group2] == "$group" || $_SESSION[group3] == "$group" ||
  55. $_SESSION[group1] == "Administrators" || $_SESSION[group2] == "Administrators" || $_SESSION[group3] == "Administrators" ||
  56. $_SESSION[user_name] == "$group")
  57. {
  58. $allowed = "yes";
  59. }else{
  60. $allowed = "no";
  61. }
  62. return $allowed;
  63. }
  64.  
  65. //function to check the length of the requested password
  66. function password_check($min_pass, $max_pass, $pass)
  67. {
  68.  
  69. $valid = "yes";
  70. if ($min_pass > strlen($pass) || $max_pass < strlen($pass))
  71. {
  72. $valid = "no";
  73. }
  74.  
  75. return $valid;
  76. }
  77.  
  78. ?>

en functions.php hay mas cosas pero esta lo que seria la parte de username.

alguna idea?


« Última modificación: 27 Mayo 2009, 01:35 am por fede_cp » En línea

somos lo que hacemos para cambiar lo que somos

http://elhackerblog.blogspot.com el blog de elhacker.net!!
sclub


Desconectado Desconectado

Mensajes: 591


Ver Perfil
Re: Problema con sesiones
« Respuesta #1 en: 27 Mayo 2009, 01:10 am »

Parto de la base que el segundo codigo que pones es el username.php.

He visto que en ese archivo, te pones a guardar variables de session, sin haber abierto ninguna session... alomejor es por eso.

Por otra parte, como le pasas las sessiones de una pagina a otra?
Al mismo tiempo que le indicas el archivo al que tiene que ir, le tienes que indicar el nombre de session y la id.

No lo acabo de ver claro... pero bueno, tampoco se mucho de php...  :-\

C u!


En línea

... because making UNIX friendly is easier than debugging Windows.
fede_cp


Desconectado Desconectado

Mensajes: 527


"porque pensar nunca fue entender"


Ver Perfil WWW
Re: Problema con sesiones
« Respuesta #2 en: 27 Mayo 2009, 01:37 am »

el id eso si me falta...

la sesion empieza con session_start()  ;)
voy a ver que hago
si alguien tiene ganas de revisar un poco el codigo y darme una mano muchas gracias ;)

adios
« Última modificación: 27 Mayo 2009, 02:07 am por fede_cp » En línea

somos lo que hacemos para cambiar lo que somos

http://elhackerblog.blogspot.com el blog de elhacker.net!!
fede_cp


Desconectado Desconectado

Mensajes: 527


"porque pensar nunca fue entender"


Ver Perfil WWW
Re: Problema con sesiones
« Respuesta #3 en: 27 Mayo 2009, 01:59 am »

perodon gente el username.php no tiene nada que ver con el user.php

el user.php es donde esta mi duda.. si quieren fijarse lo del username es para cambiar el nombre de usuario que tampoco me funciona bien ya que no reconoce bien cuando inicia sesion

adios!
En línea

somos lo que hacemos para cambiar lo que somos

http://elhackerblog.blogspot.com el blog de elhacker.net!!
fede_cp


Desconectado Desconectado

Mensajes: 527


"porque pensar nunca fue entender"


Ver Perfil WWW
Re: Problema con sesiones
« Respuesta #4 en: 27 Mayo 2009, 02:12 am »

problema solucionado!  ;D

codeando un rato me di cuenta de que nunca puse el nombre de inicio de sesion (en mi caso es $_SESSION[user_name]).

osea que quedaria:

session_start($_SESSION[user_name]);

ahoram e falta restringir el acceso y listo!


adios y gracias
En línea

somos lo que hacemos para cambiar lo que somos

http://elhackerblog.blogspot.com el blog de elhacker.net!!
дٳŦ٭
GNU/Linux Infrastructure Specialist
Ex-Staff
*
Desconectado Desconectado

Mensajes: 5.110


Ver Perfil WWW
Re: Problema con sesiones
« Respuesta #5 en: 28 Mayo 2009, 01:54 am »

problema solucionado!  ;D

codeando un rato me di cuenta de que nunca puse el nombre de inicio de sesion (en mi caso es $_SESSION[user_name]).

osea que quedaria:

session_start($_SESSION[user_name]);

ahoram e falta restringir el acceso y listo!


adios y gracias

No es necesario...

Usa:

session_start();
$_SESSION[user_name];

O session_registrer().

Y respondiendo al otro usuario, las sesiones se pasan a cualquier pagina que las use mediante la variable $_SESSION que es una variable global.

Saludos
En línea

sclub


Desconectado Desconectado

Mensajes: 591


Ver Perfil
Re: Problema con sesiones
« Respuesta #6 en: 28 Mayo 2009, 11:38 am »

Entonces cuando ya tienes una session abierta, con sus variables y todo(de session), y pasas a otra pagina, para que las variables se mantengan no le tienes que poner aquello de:
Citar
loquesea.php?".session_name()."=".session_id();
despues del nombre del archivo??

Yo creia que si no lo ponias no reconocia las variables....

Ok, thks!

C u!
En línea

... because making UNIX friendly is easier than debugging Windows.
fede_cp


Desconectado Desconectado

Mensajes: 527


"porque pensar nunca fue entender"


Ver Perfil WWW
Re: Problema con sesiones
« Respuesta #7 en: 28 Mayo 2009, 15:12 pm »

Gracias por responder cuando pense que ya estaba todo arreglado y no era asi..

entonces no hay que poner como dijo Sclub para que  te reconzca cuando cambias de pagina? osea que siga en la misma sesion

un saludo
En línea

somos lo que hacemos para cambiar lo que somos

http://elhackerblog.blogspot.com el blog de elhacker.net!!
Littl3

Desconectado Desconectado

Mensajes: 239


Tarde o temprano aparece el hombre


Ver Perfil
Re: Problema con sesiones
« Respuesta #8 en: 28 Mayo 2009, 15:51 pm »

Hasta donde yo se, con declarar session_start(); al principio de cada pagina donde quieras usar estas variables, todas las variables de session estan disponibles haciendo:

$_SESSION['variable']

Y si quieres terminar la session y destruir todas las variables yo utilizo session_destroy(); pero antes has de haber iniciando la session con session_start();

Corregirme si me equivoco, un saludo
En línea

sclub


Desconectado Desconectado

Mensajes: 591


Ver Perfil
Re: Problema con sesiones
« Respuesta #9 en: 28 Mayo 2009, 19:43 pm »

Buenas!

Puede que si... no te niego que suele funcionar igual, pero creia que era la manera "chapuzera" de hacerlo, por llamarlo de alguna manera. Yo esque aprendi directamente la teoria, y decia que era con el name y el id, pero bien.

Por otra parte, yo para cerrar session uso el session_unset(), supongo que la funcion sera similar.

C u!
En línea

... because making UNIX friendly is easier than debugging Windows.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema cookie o sesiones Wininet
Programación C/C++
Riki_89D 0 1,562 Último mensaje 1 Septiembre 2011, 16:25 pm
por Riki_89D
Problema de sesiones en Tomcat
Programación General
Toryas 1 1,748 Último mensaje 28 Abril 2014, 17:40 pm
por Toryas
AYUDA con Problema en Login con sesiones en php y SQLsrv
PHP
ton gas 1 2,728 Último mensaje 8 Abril 2015, 22:18 pm
por T. Collins
problema con laas sesiones (solucionado + explicacion)
PHP
enrique4480 5 2,922 Último mensaje 27 Octubre 2023, 16:27 pm
por mchojrin
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines