Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problemas de sesion

Estas en el tema de Problemas de sesion en el foro de PHP en Foros del Web. Saludos a todos! Les comento: tengo una pagina lista en mi servidor local (MAMP) que funciona bien. El problema es cuando lo subi al hosting, ...
  #1 (permalink)  
Antiguo 16/12/2015, 15:39
 
Fecha de Ingreso: septiembre-2009
Mensajes: 164
Antigüedad: 14 años, 6 meses
Puntos: 3
Problemas de sesion

Saludos a todos! Les comento: tengo una pagina lista en mi servidor local (MAMP) que funciona bien. El problema es cuando lo subi al hosting, se volvio imposible iniciar sesion. EJ. En la misma pagina de login donde se crean las variables $_SESSION si hago un echo "$_SESSION[usuario]"; lo imprime pero si hago la misma consulta en otra pagina no muestra nada. No creo que sea problema de codigo porque como ya dije, en el servidor local funciona bien. Tengo session_start() en el conn.php que esta en el header por lo cual esta en todas las paginas, asi que no, espero puedan ayudarme.

Muchas gracias a todos!
  #2 (permalink)  
Antiguo 16/12/2015, 16:42
 
Fecha de Ingreso: julio-2011
Ubicación: Los Rios
Mensajes: 145
Antigüedad: 12 años, 9 meses
Puntos: 10
Respuesta: Problemas de sesion

Lamentablemente las bolitas de cristal no nos permiten ver el codigo php sino con gusto te ayudaramos.
__________________
___________________________
Si te ayudo mi respuesta dale al +1
  #3 (permalink)  
Antiguo 16/12/2015, 16:55
 
Fecha de Ingreso: septiembre-2009
Mensajes: 164
Antigüedad: 14 años, 6 meses
Puntos: 3
Respuesta: Problemas de sesion

Tengo esto en el conn.php

Código PHP:
<?php 
if(!isset($_SESSION)) 

session_start(); 
}  

$db_name ="xfrancis"//DAtabase name 
$db_username ="****"//database user name
$db_password ="****"//database password
$db_path ="localhost"// your database server name most of server use localhost

$db = @mysql_connect("$db_path","$db_username","$db_password");
@
mysql_select_db("$db_name",$db);
?>
en el log.php

Código PHP:
<?
include('conn.php'); //incluimos el config.php que contiene los datos de la conexión a la db

if(!isset($_SESSION['usuario']) ) //comprobamos que no existe la session, es decir, que no se ha logeado, y mostramos el form
{

//Creamos el form k irá a autentificar.php para comprobar los datos con la tabla users
echo '<div id="formulario"><form action="autentificar.php" method="POST">
Nick: <input type="text" name="nick" size="30"><br>
Password: <input type="password" name="password" size="30" ><br></div>
<div id=formulario_boton><br>
<input type="submit" name="submit" value="Enviar"></form> </div><br><a href="restaurarpassword.php">¿Olvidaste tu contraseña?</a><br><a href="registro.php">Registrate</a>'
;

}else{

//SI se ha logeado, mostramos el nick y la opción de deslogearse
//Este sería el menú que saldría a la gente que esta logeada, se puede modificar y añadir cosas
echo '<b>Bienvenido '.$_SESSION['usuario'].'</b><br><br>';  //ej Bienvenido Juan
 //mostramos el level del user
echo '<a href="javascript:history.back(-2);" title="Ir la página anterior">Volver a la página anterior</a><br><br>';

echo 
'<a href=logout.php>Terminar sesión</a>'//link para deslogearse, iría a logout.php

}
?>

y en el autentificar.php

Código PHP:
<?php
include('conn.php'); //incluimos el config.php que contiene los datos de la conexión a la db

if( ($_POST['nick'] == "") or ($_POST['password'] == "") )//comprobamos que las variables enviadas por el form de login.php tienen contenido
{
Header("Location: index.php");
 
//estan vacías, volvemos al index
}else{

//comprobamos en la db si existe ese nick con esa pass
$con=("SELECT * FROM usuarios WHERE nick='$_POST[nick]' and password='$_POST[password]' ");
$usuarios mysql_query($con,$db) or die(mysql_error());
if(
$user_ok mysql_fetch_array($usuarios)) //si existe comenzamos con la sesion, si no, al index
{
echo 
"exito";
//session_register("usuario"); //registramos la variable usuario que contendrá el nick del user
//session_register("idusuario"); //registramos la variable idusuario que contendrá la id del user
//session_register("level"); //registramos la variable level que contendrá el level del user
//damos valores a las variables de la sesión
$_SESSION[usuario] = $user_ok["nick"]; //damos el nick a la variable usuario
$_SESSION[idusuario] = $user_ok["id"]; //damos la id del user a la variable idusuario
$_SESSION[level] = $user_ok["level"];

Header("Location:".$_SERVER['HTTP_REFERER']);  
echo 
"$_SESSION[usuario]";

}else{
//Header("Location: index.php");
echo 'Nick y pass incorrectos';
}


?>
  #4 (permalink)  
Antiguo 16/12/2015, 17:16
 
Fecha de Ingreso: octubre-2011
Mensajes: 206
Antigüedad: 12 años, 5 meses
Puntos: 1
Respuesta: Problemas de sesion

No se si puede ser algo de esto...

en el con.php

Código PHP:
if(!isset($_SESSION))  //Para que es esto?

session_start(); 

o quizás en el autentificar.php usar comilla simple

Código PHP:
$_SESSION[usuario] = $user_ok['nick']; 
  #5 (permalink)  
Antiguo 16/12/2015, 18:48
 
Fecha de Ingreso: septiembre-2009
Mensajes: 164
Antigüedad: 14 años, 6 meses
Puntos: 3
Respuesta: Problemas de sesion

Lo siento dasapa pero nada de eso ha funcionado.
  #6 (permalink)  
Antiguo 16/12/2015, 20:02
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problemas de sesion

Cita:
Tengo session_start() en el conn.php que esta en el header por lo cual esta en todas las paginas
Pues esto que comentas puede ser la razón real de tus problemas.

¿Antes de dicho header seguro que no tienes un salto de linea, algo de html o un espacio en blanco?

Si existe una salida antes de usar session_start() la sesión jamás se hará efectiva: eso lo puedes comprobar habilitando el reporte de errores en tu hosting para verificar si hubo un error.

¿Podrías investigar al respecto?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 17/12/2015, 04:55
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: Problemas de sesion

Cita:
Iniciado por dasapa Ver Mensaje
No se si puede ser algo de esto...

en el con.php

Código PHP:
if(!isset($_SESSION))  //Para que es esto?

session_start(); 

o quizás en el autentificar.php usar comilla simple

Código PHP:
$_SESSION[usuario] = $user_ok['nick']; 
Creo que los tiros van por aquí, no se entiende el condicionado para iniciar sesión, pon session_start(); al principio sin más.


Código PHP:
Ver original
  1. if(!isset($_SESSION))  //Para que es esto?
  2. {}
  #8 (permalink)  
Antiguo 17/12/2015, 07:22
 
Fecha de Ingreso: junio-2010
Mensajes: 373
Antigüedad: 13 años, 9 meses
Puntos: 11
Respuesta: Problemas de sesion

Dudo que sea esto poque si es esto no comprendo que te funcione si quiera en el local, pero no veo ningun "define" por tu codigo.

Son las "variables" usuario, idusuario y level constantes??

Si no es así y has pegado directamente tu codigo, deberían ir entrecomilladas, no crees?

Es decir:

$_SESSION['usuario']
y asi...
  #9 (permalink)  
Antiguo 17/12/2015, 07:53
 
Fecha de Ingreso: septiembre-2009
Mensajes: 164
Antigüedad: 14 años, 6 meses
Puntos: 3
Respuesta: Problemas de sesion

oms02, ya le puse las comillas a las variables pero sigue sin funcionar.
Debe ser un error de configuracion del server, otra cosa no se me ocurre.

A alguien se le ocurre algo por ese lado?
  #10 (permalink)  
Antiguo 17/12/2015, 08:01
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: Problemas de sesion

Fijate que en log.php tienes <? En lugar de <?php, a ver si va a ser una tontería de estas.
  #11 (permalink)  
Antiguo 17/12/2015, 08:38
 
Fecha de Ingreso: septiembre-2009
Mensajes: 164
Antigüedad: 14 años, 6 meses
Puntos: 3
Respuesta: Problemas de sesion

Hola! Creo que he encontrado el problema. En el conn.php agregue
Código PHP:
echo session_save_path(); 
y cuando cargue la pagina que esta en el hosting me sale como ruta de guardado de variables session C:\MAMP\bin\php\sessions\, o sea, en mi disco duro. Habria que ver como cambiar esa ruta.
  #12 (permalink)  
Antiguo 17/12/2015, 09:19
 
Fecha de Ingreso: septiembre-2009
Mensajes: 164
Antigüedad: 14 años, 6 meses
Puntos: 3
Respuesta: Problemas de sesion

Lo he solucionado cambiando la ruta que guarda las variables session, gracias a todos por la ayuda!

Etiquetas: variable
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 16:43.