Autor
|
Tema: Problemas con la función session en php (Leído 4,060 veces)
|
ramon123099
Desconectado
Mensajes: 5
|
Hola tengo unos problemas con la funcion session lo que quiero hacer es que al iniciar sesión se cree una sesión con el nombre de usuario para poder usarla en toda la pagina tengo este codigo que es el que se encarga de validar que exista un usuario con esa contraseña que previamente se introdujo en el login: <script> window.onload=function() { document.forms["seguro"].submit(); } </script> <?php include "../Conexion/conexion.php"; $user=$_POST['user']; $pass=$_POST['pass']; $sql = "SELECT * FROM usuarios WHERE `user`='$user' AND `pass`='$pass'"; if($filas>0){ $_session['user'] = $user; echo($_session['user']); header('location: pruebas.php'); } else{ echo("no entro"); } ?>
una vez que se valido el usuario y la contraseña se crea la sesion y me manda a la pagina pruebas esto solo para realizar una simple prueba, en la pagina pruebas esta el siguiente codigo: <?php if(isset($_session['user'])){ echo("entro"); } else{ echo("no entro"); } ?>
el problema es que al llegar a la pagina pruebas me salta el mensaje de no entro lo que significa que la sesion no esta siendo creada o que no se esta compartiendo en toda la pagina porfavor ayuda llevo rato intentando hacer que funcione y nada y ya me quede sin ideas.
|
|
|
En línea
|
|
|
|
engel lex
|
Session start y los headers deben hcerve antes de imprimir cualquier contenido, si no, fallarán,
Por otro lado, es inapropiado guardar las contraseñas en claro y tu forma de solicitud a la db es una forma de ser hackeado incluso por herramientas automáticas
Para las contraseñas usa password_hash y password_verify
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
ramon123099
Desconectado
Mensajes: 5
|
disculpa tu te refieres a que el codigo este asi <script> window.onload=function() { document.forms["seguro"].submit(); } </script> <?php include "../Conexion/conexion.php"; $user=$_POST['user']; $pass=$_POST['pass']; $sql = "SELECT * FROM usuarios WHERE `user`='$user' AND `pass`='$pass'"; if($filas>0){ $_session['user'] = $user; echo($_session['user']); } else{ echo("no entro"); } ?>
|
|
|
En línea
|
|
|
|
engel lex
|
si.... session start, si no detecta cookie debe enviarla, esto lo hace como un header, y los header deben ser enviados antes que cualquier que cualquier salida de texto...
especialmente en tu codigo no hay ninguna razón para que ese script esté antes del php...
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
ramon123099
Desconectado
Mensajes: 5
|
e corregido eso que me has dicho y me a quedado el codigo asi: <?php include "../Conexion/conexion.php"; $user=$_POST['user']; $pass=$_POST['pass']; $sql = "SELECT * FROM usuarios WHERE `user`='$user' AND `pass`='$pass'"; if($filas>0){ $_session['user'] = $user; header('location: pruebas.php'); } else{ echo("no entro"); } ?>
y en el pruebas le e puesto que mejor me imprima la variable: <?php $hola= $_session['user']; echo($hola); ?>
y lo que me sale al realizar la peticion es lo siguiente Warning: main(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Chicago' for '-5.0/DST' instead in C:\WebServer\Apache2.2\htdocs\SDNIR\Aplicacion\pruebas.php on line 3 Notice: Undefined variable: _session in C:\WebServer\Apache2.2\htdocs\SDNIR\Aplicacion\pruebas.php on line 3 no tengo idea del porque pasa esto en otra pagina que abia estado haciendo utilizava de esta misma manera la funcion session y no me causaba ningun problema
|
|
|
En línea
|
|
|
|
engel lex
|
si no entiendes el error usa traductor.... Warning: main(): It is not safe to rely on the system's timezone settings. Advertencia: main(): No es seguro confiar en la configuración timezone del sistema no tienes declarado un timezone o lo escribiste mal... y session_start lo solicita el otro error que tienes ahí pegado Notice: Undefined variable: _session in C:\WebServer\Apache2.2\htdocs\SDNIR\Aplicacion\pruebas.php on line 3 no es $_session, es $_SESSION
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
la funcion buscar da problemas
Sugerencias y dudas sobre el Foro
|
melele
|
3
|
2,498
|
22 Noviembre 2004, 19:23 pm
por melele
|
|
|
problemas con la funcion Val
Programación Visual Basic
|
kakinets
|
1
|
1,590
|
3 Junio 2006, 19:56 pm
por kakinets
|
|
|
2 problemas, header y session
PHP
|
Ferсhu
|
3
|
2,055
|
27 Diciembre 2007, 06:20 am
por Ferсhu
|
|
|
Problemas con una funcion en c
Programación C/C++
|
Leon8086x
|
2
|
2,336
|
18 Septiembre 2011, 18:19 pm
por Leon8086x
|
|
|
Problemas con verificacion de inicio de session (PHP)
PHP
|
¡Micronet!
|
1
|
3,877
|
29 Abril 2012, 04:11 am
por engel lex
|
|