PHP - problema variable de session

 
Vista:
sin imagen de perfil
Val: 18
Ha aumentado su posición en 6 puestos en PHP (en relación al último mes)
Gráfica de PHP

problema variable de session

Publicado por ivan (10 intervenciones) el 13/09/2019 15:13:52
Tengo un problema estoy haciendo un login y todo va perfecto hasta el momento que al subirlo a mi ftp comprueba que el usuario este registrado y que el password este correcto y me crea una variable de session pero en las paginas donde accedo despues del login no reciben esa variable de session y por ello no me deja verlo; pongo el codigo.
esta es la parte del login(no he incluido la conexion a la base de datos por q esa parte funciona):
1
2
3
4
5
6
7
8
$RESULTADO->BINDVALUE(":PASSWORD",$PASSWORD);
	$RESULTADO->EXECUTE();
	$NUMERO=$RESULTADO->ROWCOUNT();
	IF ($NUMERO!=0) {
	$_SESSION['USUARIO']=$_POST['USUARIO'];
	  HEADER("LOCATION:DASHBOARD.PHP");
   }ELSE{ HEADER("LOCATION:LOGIN.PHP");
	 }

y en las paginas donde me debe dirigir tengo(modo prueba) esto:
1
2
3
4
5
6
SESSION_START();
 IF (ISSET($_SESSION['USUARIO']) ) {
   ECHO "WIII";
}ELSE{
  ECHO "BUFF";
}


pero no me lee la variable de seccion usuario y en la pagina donde la creo si q la crea y la lee bn pero en la otra pagina no(por cierto en localhost funciona de maravilla pero al subirla deja de funcionar); Esta claro que si me lee la variable de session en otra pagina me deberia de imprimir wii (repito es solo para comprobar que lee la variable) XD
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Kathyu
Val: 1.802
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

problema variable de session

Publicado por Kathyu (905 intervenciones) el 13/09/2019 17:49:48
1- En su login igual ponga sesion_start al inicio de todo
2- Asigne a variables lo que recupera de $_POST
3- No entiendo, funciona en local pero no en hosting??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 18
Ha aumentado su posición en 6 puestos en PHP (en relación al último mes)
Gráfica de PHP

problema variable de session

Publicado por ivan (10 intervenciones) el 13/09/2019 18:09:21
1.si el session_start lo tengo al inicio del todo
2.lo de las variables lo voy a hacer gracias
3. exacto lo he realizado en local y hago la prueba y va perfecto, pero al realizarlo en el hosting no funciona
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Kathyu
Val: 1.802
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

problema variable de session

Publicado por Kathyu (905 intervenciones) el 13/09/2019 19:45:55
No tendría porque fallar en hosting, ha hecho algún debuqgueo de las variables?
print_r($_SESSION) ??

Algún error que le de el sitio?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 18
Ha aumentado su posición en 6 puestos en PHP (en relación al último mes)
Gráfica de PHP

problema variable de session

Publicado por ivan (10 intervenciones) el 14/09/2019 03:18:49
print_r($_SESSION) lo hecho en la primera pagina que es laque hace la validacion del login y si crea la variable de session pero al hacerlo en las otras paginas no esta la variable de session te envio todo completo... pagina validacion(la conexion a la BD la hace bien y si hace la validacion correcta del usuario y la contraseña)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
	session_start();
	$usuario=$_POST['usuario'];
try {
 
	$base = new PDO("mysql:host=datohost; dbname=nombreBD","Usuario","Contraseña");//he cambiado los datos de conexion.
        $base->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
	$sql="SELECT * FROM login WHERE usuario=:usuario AND password=:password";
	$resultado=$base->prepare($sql);
	$usuario=htmlentities(addslashes($_POST["usuario"]));
	$password=htmlentities(addslashes($_POST["password"]));
	$resultado->bindValue(":usuario",$usuario);
	$resultado->bindValue(":password",$password);
	$resultado->execute();
	$numero=$resultado->rowCount();
	if ($numero!=0) {
	   $_SESSION['usuario']=$usuario;
	   header("Location:dashboard.php");
	}
        else{
	header("Location: login.php");
	}
 
} catch (Exception $e) {
	die("Error:" . $e->getMessage());
   }
	?>

y en la segunda pagina que seria dashboard.php que tendria q iniciar si la variable de session ['usuario'] existe es esta

1
2
3
4
5
6
7
8
<?php
 session_start();
 if (isset($_SESSION['usuario']) ) {
   echo "wiii";
 }else{
  echo "buff";
  }
?>
(el codigo es algo tonto pero es un test si me imprime wii es q esta funcionando y ya le agregaria lo correcto, pero me imprime el buff por q la variable de session ['usuario'] no existe)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Kathyu
Val: 1.802
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

problema variable de session

Publicado por Kathyu (905 intervenciones) el 16/09/2019 18:34:56
Pues la verdad es que esta raro, ya probé su código de comprobación y me funciona.

Solo me hace pensar en que algo hace que pierda las variables de sesión, un logout por error o algo.

Que le da print_r($_SESSION) en la landing page??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

problema variable de session

Publicado por ivan (10 intervenciones) el 16/09/2019 18:44:11
al hacer el print_r($_SESSION) en la primera pagina me aparece la varible pero en la segunda se desaparece y no la encuentra..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Kathyu
Val: 1.802
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

problema variable de session

Publicado por Kathyu (905 intervenciones) el 16/09/2019 19:31:22
Puesi, por eso le digo que algo debe estar haciendo session_destroy o unset, defina mas variables, textos cualquiera, a ver si esas si las pasa
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 18
Ha aumentado su posición en 6 puestos en PHP (en relación al último mes)
Gráfica de PHP

problema variable de session

Publicado por ivan (10 intervenciones) el 16/09/2019 19:40:35
para destruir session deberia yo haber puesto un session_destroy() pero si ves el codigo en ningun momento lo hago es lo q me parece super extraño.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

problema variable de session

Publicado por RICARDO Parrales (1 intervención) el 01/11/2019 20:23:28
Lograstes solucionar el problema a mi me esta pasando algo similar pero a mi me sucede de vez en cuando, con la variable session que tengo.

mi caso es asi al iniciar el login guarda el id del usuario y el id de la sucursal esto se ocupa al generar una nueva factura y al guardar un nuevo cliente pero de vez en cuando el valor de la session desaparece y no me guarda lo que requiero.

no pasa siempre es de vez en cuando pero no encuentro la razon.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

problema variable de session

Publicado por joel (3 intervenciones) el 02/12/2020 03:16:34
hola alguien pudo resolverlo? me pasa a mi tambien.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

problema variable de session

Publicado por Mauro (1037 intervenciones) el 04/12/2020 17:38:34
Lo primero que yo haría sería verificar si se está creando la cookie de sesión del lado del cliente (usualmente se llama PHPSESSID pero esto puede modificarse desde el php.ini).

Si esto no sucede puede deberse a que el servidor está configurado para no utilizar cookies para propagar el id de la sesión (la variable session.use_cookies puede estar en 0 en lugar de 1).

Si la cookie está ahí, otra cosa que hay que verificar del lado del servidor es dónde se están almacenando los datos de la sesión.

Lo más normal es usar archivos en el disco del servidor pero hay otras opciones.

En todo caso, hay que verificar el session.save_path.

Les sugiero a los que estén teniendo este problema que hagan esas pruebas en principio y comenten sus resultados.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

problema variable de session

Publicado por joel (3 intervenciones) el 04/12/2020 20:14:42
Mí problema era que había eliminado la carpeta tmp que venía en el servidor en donde subí mí página. Lo resolví en la página del servidor con la opción que venía de reparar página. Ahí fue cuando noté que la carpeta se creo nuevamente y que las variables $_ SESSION funcionaban.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar