Foros del Web » Programando para Internet » PHP »

Problema con inicio de sesiones en hosting

Estas en el tema de Problema con inicio de sesiones en hosting en el foro de PHP en Foros del Web. Hola a todos, estoy realizando un sistema en el que requiero de un inicio de sesión, todo me funciona bien al estar trabajando localmente, pero ...
  #1 (permalink)  
Antiguo 31/01/2012, 10:59
Avatar de luis_h_1  
Fecha de Ingreso: octubre-2010
Ubicación: México
Mensajes: 42
Antigüedad: 13 años, 6 meses
Puntos: 4
Problema con inicio de sesiones en hosting

Hola a todos, estoy realizando un sistema en el que requiero de un inicio de sesión, todo me funciona bien al estar trabajando localmente, pero al subirlo al hosting no.

Este el codigo con el que hago el login

Código PHP:
Ver original
  1. <?php
  2. include("functions/conexion.php");
  3. $usuario=htmlentities($_POST["usuario"]);
  4. $contrasena=md5(utf8_decode($_POST["contrasena"]));
  5. //Sentencia SQL para buscar un usuario con esos datos
  6. $ssql = "SELECT * FROM usuarios WHERE usuario='$usuario' and contrasena='$contrasena'";
  7.  
  8. //Ejecuto la sentencia
  9. $rs = mysql_query($ssql,$conexion);
  10.  
  11. //vemos si el usuario y contraseña es váildo
  12. if (mysql_num_rows($rs)!=0){
  13.     $parametros=  mysql_fetch_array($rs);
  14.     //usuario y contraseña válidos
  15.    session_name("loginUsuario");
  16.     //asigno un nombre a la sesión para poder guardar diferentes datos
  17.     // inicio la sesión
  18.    session_set_cookie_params(0, "/", $_SERVER['HTTP_HOST'], 0);
  19.    //cambiamos la duración a la cookie de la sesión
  20.    $_SESSION['nivel'] = $parametros['nivel'];
  21.    $_SESSION['nombre_usuario'] = $parametros['nombre_usuario'];
  22.    $_SESSION["autentificado"]= "SI";
  23.     //defino la sesión que demuestra que el usuario está autorizado
  24.     $_SESSION["ultimoAcceso"]= date("Y-n-j H:i:s");
  25.     //defino la fecha y hora de inicio de sesión en formato aaaa-mm-dd hh:mm:ss
  26.     header ("Location: bienvenido.php");
  27. }else {
  28.     //si no existe le mando otra vez a la portada
  29.     header("Location: index.php?errorusuario=si");
  30. }
  31. ?>

no me arroja ningún error pero no redirige a bienvenido.php, lo que entiendo es que no se esta iniciando la sesión, pero no tengo idea de como solucionarlo XD, espero puedan contestar, saludos y gracias.
  #2 (permalink)  
Antiguo 31/01/2012, 14:40
Avatar de luis_h_1  
Fecha de Ingreso: octubre-2010
Ubicación: México
Mensajes: 42
Antigüedad: 13 años, 6 meses
Puntos: 4
Respuesta: Problema con inicio de sesiones en hosting

Buenas, ya di con la solución, por si a alguien le sirve, es la siguiente:

1.- no utilizar include
2.- iniciar la sesión al inicio del documento

Código PHP:
Ver original
  1. <?php
  2. $conexion=mysql_connect("host","user","password");
  3. mysql_select_db("base_de_datos", $conexion);
  4. $usuario=htmlentities($_POST["usuario"]);
  5. $contrasena=md5(utf8_decode($_POST["contrasena"]));
  6. //Sentencia SQL para buscar un usuario con esos datos
  7. $ssql = "SELECT * FROM usuarios WHERE usuario='$usuario' and contrasena='$contrasena'";
  8.  
  9. //Ejecuto la sentencia
  10. $rs = mysql_query($ssql,$conexion);
  11.  
  12. //vemos si el usuario y contraseña es váildo
  13. if (mysql_num_rows($rs)!=0){
  14.     $parametros=  mysql_fetch_array($rs);
  15.     //usuario y contraseña válidos
  16.    session_name("loginUsuario");
  17.     //asigno un nombre a la sesión para poder guardar diferentes datos
  18.    session_set_cookie_params(0, "/", $_SERVER['HTTP_HOST'], 0);
  19.    //cambiamos la duración a la cookie de la sesión
  20.    $_SESSION['nivel'] = $parametros['nivel'];
  21.    $_SESSION['nombre_usuario'] = $parametros['nombre_usuario'];
  22.    $_SESSION["autentificado"]= "SI";
  23.     //defino la sesión que demuestra que el usuario está autorizado
  24.     $_SESSION["ultimoAcceso"]= date("Y-n-j H:i:s");
  25.     //defino la fecha y hora de inicio de sesión en formato aaaa-mm-dd hh:mm:ss
  26.     header ("Location: bienvenido.php");
  27. }else {
  28.     //si no existe le mando otra vez a la portada
  29.     header("Location:index.php?errorusuario=si");
  30. }
  31. ?>

Saludos!
  #3 (permalink)  
Antiguo 31/01/2012, 14:47
Avatar de CesarHC  
Fecha de Ingreso: junio-2011
Ubicación: localhost
Mensajes: 566
Antigüedad: 12 años, 11 meses
Puntos: 56
Respuesta: Problema con inicio de sesiones en hosting

Solo para comentar que session_start siempre va al inicio del codigo y sobre tu problema con el include creo que no lo debesestar llamando correctamente igualmente gracias por compartir tu solucion es lo que muchos olvidan.
__________________
Solo la práctica no te traicionara ¡¡¡¡¡¡

Seguir el camino tu debes PHP The Right Way.
  #4 (permalink)  
Antiguo 31/01/2012, 14:54
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 3 meses
Puntos: 288
Respuesta: Problema con inicio de sesiones en hosting

por que no el include?
estamos todos re-locos!
  #5 (permalink)  
Antiguo 31/01/2012, 15:15
Avatar de Ribon  
Fecha de Ingreso: septiembre-2010
Ubicación: El firmamento
Mensajes: 487
Antigüedad: 13 años, 7 meses
Puntos: 91
Respuesta: Problema con inicio de sesiones en hosting

en functions/conexion.php tenías el session_start() al inicio?

saludos
__________________
Utilice el Highlight para mostrar código, mis ojos se lo agradecerán :)
qué es esto? :O -> http://i48.tinypic.com/5x3kzs.png
Ya sabes :)
  #6 (permalink)  
Antiguo 31/01/2012, 15:55
Avatar de luis_h_1  
Fecha de Ingreso: octubre-2010
Ubicación: México
Mensajes: 42
Antigüedad: 13 años, 6 meses
Puntos: 4
Respuesta: Problema con inicio de sesiones en hosting

Hola, lo del include si es valido utilizarlo solo que ya no probé con el, hasta que leí los comentarios, solo hay que tener en cuenta que el session_start() quede al inicio del documento, saludos
  #7 (permalink)  
Antiguo 01/02/2012, 06:24
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 3 meses
Puntos: 288
Respuesta: Problema con inicio de sesiones en hosting

Cita:
Iniciado por luis_h_1 Ver Mensaje
Hola, lo del include si es valido utilizarlo solo que ya no probé con el, hasta que leí los comentarios, solo hay que tener en cuenta que el session_start() quede al inicio del documento, saludos
y si no tiene, no tiene nada que ver una cosa con otra, si el session anduvo mal,
el resto tambien va a funcionar mal.........

Etiquetas: hosting, html, inicio, mysql, sesiones, sql, usuarios
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




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