Foros del Web » Programando para Internet » PHP »

Problemas con sesiones

Estas en el tema de Problemas con sesiones en el foro de PHP en Foros del Web. Hola ! gracias por atender mi mensaje... tengo un modulo para autentificar el usuario , tambien tengo mi inicio de sesiones, mi problea es que. ...
  #1 (permalink)  
Antiguo 25/07/2008, 20:18
(Desactivado)
 
Fecha de Ingreso: mayo-2007
Mensajes: 547
Antigüedad: 17 años, 6 meses
Puntos: 1
Problemas con sesiones

Hola ! gracias por atender mi mensaje...

tengo un modulo para autentificar el usuario , tambien tengo mi inicio de sesiones, mi problea es que.
1-Registro un nuevo afiliado dondo de se asigna un usuario y un password
ese usuario va obviamente al campo de login en mi tabla de registros de mi base de datos , por lo que cuando se actualiza o cambia la pagina me jala el nuevo login en el datos de autentificacion de usuario me lo cambia por el nuevo login.

como resuelvo este problema?

gracias por tu ayuda.
  #2 (permalink)  
Antiguo 25/07/2008, 20:40
Avatar de Gerifaltus  
Fecha de Ingreso: junio-2005
Ubicación: Tabasco, México
Mensajes: 180
Antigüedad: 19 años, 4 meses
Puntos: 4
Respuesta: para expertos en php !

No entendí cual es tu problema, un poco más explicito por favor
__________________
:::.. Todo tiene un ¿Por qué? y un ¿Para qué? ..:::
:::.. Todo se reduce a un SI y a un No ..:::
  #3 (permalink)  
Antiguo 25/07/2008, 20:51
Avatar de xbx
xbx
 
Fecha de Ingreso: mayo-2008
Ubicación: /home/xbx
Mensajes: 301
Antigüedad: 16 años, 6 meses
Puntos: 11
Respuesta: para expertos en php !

Hola RicardoU,

Disculpas pero me costo interpretar tu mensaje.

Pero creo que lo que preguntas es esto:

Tu necesitas que cuando el usuario se loguee OK luego de cargar su usuario y password en un formulario, si el usuario recarga la pagina con F5 el sistema no vuelva a hacer el login?

Ese es el problema? Si es asi, tiene solucion facil.

Saludos.
  #4 (permalink)  
Antiguo 25/07/2008, 23:21
Avatar de xcars  
Fecha de Ingreso: mayo-2005
Ubicación: El Salvador
Mensajes: 753
Antigüedad: 19 años, 6 meses
Puntos: 4
Respuesta: para expertos en php !

no soy experto... pero no ta complicado jaaja
__________________
Con Microaplicaciones puedes hacer tu tienda en línea de forma sencilla y rápida, sin costos ocultos y con mucha responsabilidad.
  #5 (permalink)  
Antiguo 26/07/2008, 00:32
Avatar de eddwinpaz  
Fecha de Ingreso: noviembre-2007
Ubicación: Merida , Venezuela
Mensajes: 1.066
Antigüedad: 17 años
Puntos: 25
Respuesta: para expertos en php !

el que supuesta mente pregunta de expertos. debe formular la pregunta mejor. :S por que piensan que estamos alojados dentro de sus cerebros ?
__________________
O nos hacemos miserables o nos hacemos fuertes , la cantidad de trabajo es la misma.
  #6 (permalink)  
Antiguo 26/07/2008, 00:59
tfe
 
Fecha de Ingreso: enero-2008
Mensajes: 26
Antigüedad: 16 años, 10 meses
Puntos: 3
Respuesta: para expertos en php !

Segun entendi ...

Se trata de una funcionalidad de tu navegador.
Al tener 2 campos <input> con el mismo name, este te pone el último utilizado.

Puedes utilizar un name diferente para no tener este probleme con el <input> de creación de usuarios.
  #7 (permalink)  
Antiguo 26/07/2008, 07:14
(Desactivado)
 
Fecha de Ingreso: mayo-2007
Mensajes: 547
Antigüedad: 17 años, 6 meses
Puntos: 1
Respuesta: para expertos en php !

Cita:
Iniciado por tfe Ver Mensaje
Segun entendi ...

Se trata de una funcionalidad de tu navegador.
Al tener 2 campos <input> con el mismo name, este te pone el último utilizado.

Puedes utilizar un name diferente para no tener este probleme con el <input> de creación de usuarios.
Este es mi codigo con el que inicio mi sesion

<?
session_start();
if (!isset($_SESSION['login'])){
header("Location: http://localhost/impulse/admin/novalido.php");
exit;
}
$user=$_SESSION['login'];
?>

Mi problema es que cuando lleno el formulario de datos cargo los datos en mi base de datos en donde me carga el dato de los datos generales y el login.
me voy aotra seccion de mi sitio y me sustituye el valor del login, por el login del nuevo registro.

ojala me puedas ayudar.
  #8 (permalink)  
Antiguo 26/07/2008, 11:37
(Desactivado)
 
Fecha de Ingreso: febrero-2008
Mensajes: 83
Antigüedad: 16 años, 8 meses
Puntos: 0
Respuesta: para expertos en php !

Creo que pocos (por no decir nadie) han entendido tu pregunta, al leerla varias veces parece que encuentras verdaderamente la razón de la pregunta pero por otro lado, vuelves a escribir enviando un codigo simple en el cual vuelves a formular otra pregunta que no tiene sentido.

Explicate mejor
  #9 (permalink)  
Antiguo 26/07/2008, 12:39
Avatar de xbx
xbx
 
Fecha de Ingreso: mayo-2008
Ubicación: /home/xbx
Mensajes: 301
Antigüedad: 16 años, 6 meses
Puntos: 11
Respuesta: para expertos en php !

Cita:
Mi problema es que cuando lleno el formulario de datos cargo los datos en mi base de datos en donde me carga el dato de los datos generales y el login.


De veras... puedes explicarte mejor?

Muchas veces la calidad de la respuesta depende de la calidad de la pregunta

Muchas gracias.
  #10 (permalink)  
Antiguo 26/07/2008, 16:09
(Desactivado)
 
Fecha de Ingreso: mayo-2007
Mensajes: 547
Antigüedad: 17 años, 6 meses
Puntos: 1
Respuesta: para expertos en php !

Agradezco su atención tratare de ser mas concreto con lo que se requiere

Antecedente
1-Se cuenta con un sitio web que , valida un usuario y lo muestra en las demas secciones de la pagina web.
El problema es:
A) Al entrar a modulo de registro de datos , se registra un usuario para el nuevo registro , se registrar , cambio de sección o pagina y modifica o cambia el usuario que esta visible o autentificado por el que se acaba de registrar.

B)Como evito que ese nuevo registro que se acaba de generar me cambie el dato de mi usuario que inicio la sesión.

Espero puedas ayudarme.

gracias..
  #11 (permalink)  
Antiguo 26/07/2008, 20:54
Avatar de Gerifaltus  
Fecha de Ingreso: junio-2005
Ubicación: Tabasco, México
Mensajes: 180
Antigüedad: 19 años, 4 meses
Puntos: 4
Respuesta: para expertos en php !

Cita:
Iniciado por RicardoU Ver Mensaje
A) Al entrar a modulo de registro de datos , se registra un usuario para el nuevo registro , se registrar , cambio de sección o pagina y modifica o cambia el usuario que esta visible o autentificado por el que se acaba de registrar.

B)Como evito que ese nuevo registro que se acaba de generar me cambie el dato de mi usuario que inicio la sesión.

Espero puedas ayudarme.

gracias..
Tal vez por pereza omites algunas cosas ó das por hecho que ya lo sabemos, y esto es lo yo entendí.

1.- Tu registras un nuevo usuario, pero tu estas con una cuenta de "admin"
2.- Después de realizar el ingreso del nuevo user, la página se recarga y ahora muestra, en lugar de tu login como admin, muestra el login del ultimo user que ingresaste, es correcto?

Ok, si es así, entonces el problema está en el script en donde se asigna el login a la variable $_SESSION['login'];

Código PHP:
// algo como esto
$select "SELECT * FROM users";
...
...

$_SESSION['login'] = $row['login']; 
Saludos, mi estimado, y por cierto, coloca el codigo en donde haces la asignación del login trayendo los datos desde la bd.
__________________
:::.. Todo tiene un ¿Por qué? y un ¿Para qué? ..:::
:::.. Todo se reduce a un SI y a un No ..:::
  #12 (permalink)  
Antiguo 26/07/2008, 22:59
(Desactivado)
 
Fecha de Ingreso: mayo-2007
Mensajes: 547
Antigüedad: 17 años, 6 meses
Puntos: 1
Respuesta: para expertos en php !

Cita:
Iniciado por Gerifaltus Ver Mensaje
Tal vez por pereza omites algunas cosas ó das por hecho que ya lo sabemos, y esto es lo yo entendí.

1.- Tu registras un nuevo usuario, pero tu estas con una cuenta de "admin"
2.- Después de realizar el ingreso del nuevo user, la página se recarga y ahora muestra, en lugar de tu login como admin, muestra el login del ultimo user que ingresaste, es correcto?

Ok, si es así, entonces el problema está en el script en donde se asigna el login a la variable $_SESSION['login'];

Código PHP:
// algo como esto
$select "SELECT * FROM users";
...
...

$_SESSION['login'] = $row['login']; 
Saludos, mi estimado, y por cierto, coloca el codigo en donde haces la asignación del login trayendo los datos desde la bd.
En verdad agradezco tu ayuda pero no me queda clara la forma en la que se supone que me este codigo me resulve el problema, si aplico el codigo = $row['login']; en el inicio de sesion no me devuelve ningun valor.

Entendiste bien la idea de mi problema , pero creo que me dejaste a medias con la solución ....ya que cuando llego a la zona de registros me toma el valor del login registrado.

COMO LO RESUELVO?

muchas gracias por sus comentarios y su apoyo , ojala puedan hecharme la mano.
  #13 (permalink)  
Antiguo 26/07/2008, 23:14
 
Fecha de Ingreso: mayo-2006
Mensajes: 288
Antigüedad: 18 años, 6 meses
Puntos: 4
Respuesta: para expertos en php !

umm parece más un problema para torpes que para expertos pero la ironia es grande pues es verdad este problema existe y es lo que esta pasando con nuestro amigo RicardoU, les explico el problema:

El desde el panel de administrador con un login de Administrador se de alta a un nuevo usuario, despues de que los datos se han ingresado a la base de datos , la variable de la session cambia por la del usuario nuevo.

Es decir si el administrador tiene una variable de sesion de nivel(o jerarquia) con un $_SESSION['level'] = 4; como super administrador y crea una cuenta de un usuario que tendra un $_SESSION['level'] = 2 o inferior, digamos sea la de un MODERADOR, el caso es que cuando el termina hacer la activación de la cuenta de este nuevo usuario, el termina cogiendo el valor de nivel ingresado en este caso sin login alguno en termina en una nivel de Moderador, vale decir con menos privilegios.

En si cuando yo me encontre con este problema me di con la sorpresa de que estaba usando de una manera desordenada mis variables de session y las consultas que hacia con la base de datos, es por eso que en una linea enontre algo asi:
Código PHP:
$_SESSION['level'] = $_POST['nivel']; 
Es por eso que cuando se insertaban los datos dentro de la base de datos, adicionalmente se hacia este cambio a mi variable de session, es por eso que al final terminaba con un nivel de MODERADOR.

En el caso de mi amigo debe de estar pasando lo mismo pero con la diferencia que este tal vez esta cogiendo los valores del formulario.


Espero que haya quedado claro, pues bueno al menos yo entiendo asi este problema.
  #14 (permalink)  
Antiguo 26/07/2008, 23:14
Avatar de Gerifaltus  
Fecha de Ingreso: junio-2005
Ubicación: Tabasco, México
Mensajes: 180
Antigüedad: 19 años, 4 meses
Puntos: 4
Respuesta: para expertos en php !

Cita:
Iniciado por RicardoU Ver Mensaje
Entendiste bien la idea de mi problema , pero creo que me dejaste a medias con la solución ....ya que cuando llego a la zona de registros me toma el valor del login registrado.
No lo deje a medias, solo termine de darle forma a tu pregunta pues realmente no se entendía que era lo que estabas preguntando.

Código PHP:
// algo como esto
$select "SELECT * FROM users";
...
...

$_SESSION['login'] = $row['login']; 
El codigo anterior no es una solución, es un ejemplo de lo que problamente debes tener en tu script en donde se realiza la consulta para extraer el login y mostrarlo en la página web, es decir si yo entro como admin que me aparezca mi login, ok.

Cita:
Saludos, mi estimado, y por cierto, coloca el codigo en donde haces la asignación del login trayendo los datos desde la bd.
Aqui te pido que pongas el codigo que usas para recuperar el login de la bd, en pocas palabras, coloca el codigo en donde tu escribiste "$_SESSION['login'] = $row['login']" para poder analizarlo y dale solución a tu problema.

Saludos.
__________________
:::.. Todo tiene un ¿Por qué? y un ¿Para qué? ..:::
:::.. Todo se reduce a un SI y a un No ..:::
  #15 (permalink)  
Antiguo 26/07/2008, 23:20
 
Fecha de Ingreso: mayo-2006
Mensajes: 288
Antigüedad: 18 años, 6 meses
Puntos: 4
Respuesta: para expertos en php !

Ajam estudiando bien creo que el problema es que cuando nuestro amigo da de alta un nuevo usuario, el formulario que usa tiene parametros muy parecidos a los de un formulario de login es por eso que tal ves inconcientemente al dar de alta tambien este iniciando session como el nuevo usuario es por eso que sucede este error.

Seria conveniente que cambies los parametros de tu formulario de registro por uno que sea diferente al de los parametros usados en el login.
  #16 (permalink)  
Antiguo 27/07/2008, 07:39
(Desactivado)
 
Fecha de Ingreso: mayo-2007
Mensajes: 547
Antigüedad: 17 años, 6 meses
Puntos: 1
Respuesta: para expertos en php !

Gracias ..

intente cambiar el nombre del campo en el formulario pero el nombre de mi campo en la base de datos es "login" y ese mismo campo tengo que reutilizarlo para iniciar la sesion.

es decir mas o menos por que faltan mas campos

sql="insert to datos_personales
( nombre,login,password)
value
($name,$login,$password)
Esto en el registro

y en el incio de sesion tengo lo siguiente

<?
session_start();
if (!isset($_SESSION['login'])){
header("Location: http://localhost/impulse/admin/novalido.php");
exit;
}
$user=$_SESSION['login'];

?>


Este es mi codigo completo endonde autentifico mi usuario...me han manda una asignación muy parece en dos ocaciones les muestro mi codigo para que puedan ver que si lo estoy manejando y se resuelve.

gracias.

$txtUsuario=$_POST['txtlogin'];
$txtPasswd=$_POST['txtpassword'];

$sql="select IdUsuario from usuario
where login ='$txtUsuario' and
password ='$txtPasswd'";

$resultado=mysql_query($sql,$conexion);

if($fila=mysql_fetch_array($resultado)){
session_start();
$_SESSION['login']=$txtUsuario;
$_SESSION['IdUsuario']=$fila['IdUsuario'];
header("Location: http://localhost/alidoindex.php");
}

{
header("Location: http://localhost/novalido.php?error=1");
}


?>

Última edición por RicardoU; 27/07/2008 a las 07:50
  #17 (permalink)  
Antiguo 27/07/2008, 14:33
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 20 años, 3 meses
Puntos: 102
Respuesta: Problemas con sesiones

Solo intervengo para anunciar la edición del tema. Me aguanté este tiempo, pero a este punto es intolerable. Debió ser para expertos en adivinación...

RicardoU, por favor para la otra utiliza un título que describa tu problema. Un titulo como el anterior es manipulador, excluyente y ofensivo... en serio evítalo. Gracias.
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #18 (permalink)  
Antiguo 27/07/2008, 14:42
(Desactivado)
 
Fecha de Ingreso: mayo-2007
Mensajes: 547
Antigüedad: 17 años, 6 meses
Puntos: 1
Respuesta: Problemas con sesiones

Cita:
Iniciado por jam1138 Ver Mensaje
Solo intervengo para anunciar la edición del tema. Me aguanté este tiempo, pero a este punto es intolerable. Debió ser para expertos en adivinación...

RicardoU, por favor para la otra utiliza un título que describa tu problema. Un titulo como el anterior es manipulador, excluyente y ofensivo... en serio evítalo. Gracias.
bueno creo que para ti esto no es relevante.

Pero hasta el momento no habido un usuario que me pueda ayudar?

Tu sabes como evitar que me carge el nuevo registro de login a mi sesión.?

Si lo sabes soy todo oidos.

agradezco tu atención.
  #19 (permalink)  
Antiguo 27/07/2008, 14:48
 
Fecha de Ingreso: junio-2006
Ubicación: Jáltipan Veracruz, México
Mensajes: 150
Antigüedad: 18 años, 5 meses
Puntos: 1
Respuesta: Problemas con sesiones

ok, a ver si te entendí,,,

mira, lo que pasa es que solo cachas el dato del login y el password y lo mandas a una base de datos,,, para mantenerlo activo,, ahora si entra un nuevo usuario sustituye al actual, entonces se tiene que registrar de nuevo el que inició primero,,


lo ideal es que además del usuario, tomes otros datos, como la ip, ya que cada equipo tiene una diferente, la hora y fecha.

Si creas las sesiones de manera automática, primero crea un archivo o un registro que te lleve el control de las sesiones, así, si llega un nuevo usuario, solo cambia el nombre de la sesión..

por ejemplo el nombre de la sesion puede tener un nombre, la fecha y hora

$valor="login".date("Ymd").strftime("%H%M%S");

$usuario=$_session['$valor'];

así tienes el nombre del usuario, la fecha y la hora por cada sesion

entonces cada usuario genera una sesión diferente, no veo que halla conflicto al momento de hacer update o cambio de página.


cualquier duda, comenta.
__________________
" La vida es un programa que no hemos logrado depurar."
"El programar tu vida es como si le metieras más errores a tu futuro, el proceso es ahora"
  #20 (permalink)  
Antiguo 27/07/2008, 18:35
(Desactivado)
 
Fecha de Ingreso: mayo-2007
Mensajes: 547
Antigüedad: 17 años, 6 meses
Puntos: 1
Respuesta: Problemas con sesiones

Cita:
Iniciado por norpool1 Ver Mensaje
ok, a ver si te entendí,,,

mira, lo que pasa es que solo cachas el dato del login y el password y lo mandas a una base de datos,,, para mantenerlo activo,, ahora si entra un nuevo usuario sustituye al actual, entonces se tiene que registrar de nuevo el que inició primero,,


lo ideal es que además del usuario, tomes otros datos, como la ip, ya que cada equipo tiene una diferente, la hora y fecha.

Si creas las sesiones de manera automática, primero crea un archivo o un registro que te lleve el control de las sesiones, así, si llega un nuevo usuario, solo cambia el nombre de la sesión..

por ejemplo el nombre de la sesion puede tener un nombre, la fecha y hora

$valor="login".date("Ymd").strftime("%H%M%S");

$usuario=$_session['$valor'];

así tienes el nombre del usuario, la fecha y la hora por cada sesion

entonces cada usuario genera una sesión diferente, no veo que halla conflicto al momento de hacer update o cambio de página.


cualquier duda, comenta.

Acabo de probar con las indicaciones que me pasas pero no me muestra el usuario que inicializo la sesión.

gracias quedo en espera de sus comentarios
  #21 (permalink)  
Antiguo 27/07/2008, 18:44
 
Fecha de Ingreso: junio-2006
Ubicación: Jáltipan Veracruz, México
Mensajes: 150
Antigüedad: 18 años, 5 meses
Puntos: 1
Respuesta: Problemas con sesiones

ok, me gustaría que pongas el código, para analizarlo,,
__________________
" La vida es un programa que no hemos logrado depurar."
"El programar tu vida es como si le metieras más errores a tu futuro, el proceso es ahora"
  #22 (permalink)  
Antiguo 27/07/2008, 18:48
(Desactivado)
 
Fecha de Ingreso: mayo-2007
Mensajes: 547
Antigüedad: 17 años, 6 meses
Puntos: 1
Respuesta: Problemas con sesiones

Cita:
Iniciado por norpool1 Ver Mensaje
ok, me gustaría que pongas el código, para analizarlo,,
este es el codigo para iniciar la sesion, haber checalo

<?
session_start();

if (!isset($_SESSION['login'])){
header("Location: http://localhost/impulse/admin/novalido.php");
exit;
}
$valor="login".date("Ymd").strftime("%H%M%S");

$user=$_SESSION['$valor'];
?>

gracias...
  #23 (permalink)  
Antiguo 27/07/2008, 18:58
 
Fecha de Ingreso: junio-2006
Ubicación: Jáltipan Veracruz, México
Mensajes: 150
Antigüedad: 18 años, 5 meses
Puntos: 1
Respuesta: Problemas con sesiones

bueno, como tu guardas los datos del passwod y el user, agregale un campo mas con el nombre de su sesión, así cada usuario tiene una sesión propia.

Y sabes quién es quién, así, si el usuario hace una modificación no le afecta, ya que solo actualizas sus datos, pero tiene la misma sesión.
__________________
" La vida es un programa que no hemos logrado depurar."
"El programar tu vida es como si le metieras más errores a tu futuro, el proceso es ahora"
  #24 (permalink)  
Antiguo 27/07/2008, 19:18
(Desactivado)
 
Fecha de Ingreso: mayo-2007
Mensajes: 547
Antigüedad: 17 años, 6 meses
Puntos: 1
Respuesta: Problemas con sesiones

Cita:
Iniciado por norpool1 Ver Mensaje
bueno, como tu guardas los datos del passwod y el user, agregale un campo mas con el nombre de su sesión, así cada usuario tiene una sesión propia.

Y sabes quién es quién, así, si el usuario hace una modificación no le afecta, ya que solo actualizas sus datos, pero tiene la misma sesión.

Haber si entendi!

Creo un nuevo campo en la base de datos de sesion? que dato voy arregistrar?

me puedes mostrar un ejemplo.

muchas gracias...
  #25 (permalink)  
Antiguo 27/07/2008, 19:29
 
Fecha de Ingreso: junio-2006
Ubicación: Jáltipan Veracruz, México
Mensajes: 150
Antigüedad: 18 años, 5 meses
Puntos: 1
Respuesta: Problemas con sesiones

registra el nombre de la sesion, cuando vayas a actualizar o borrar, consultas en base a la session y no afectas a los demás
__________________
" La vida es un programa que no hemos logrado depurar."
"El programar tu vida es como si le metieras más errores a tu futuro, el proceso es ahora"
  #26 (permalink)  
Antiguo 27/07/2008, 19:31
 
Fecha de Ingreso: junio-2006
Ubicación: Jáltipan Veracruz, México
Mensajes: 150
Antigüedad: 18 años, 5 meses
Puntos: 1
Respuesta: Problemas con sesiones

hacemos esto,, como atiendo mi cyber, no tengo el tiempo al 100, así que te doy mi correo, te soluciono en directo y publicas la solución encontrada.

[email protected]
__________________
" La vida es un programa que no hemos logrado depurar."
"El programar tu vida es como si le metieras más errores a tu futuro, el proceso es ahora"
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 1 personas




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