PHP - Problemas variables session

   
Vista:

Problemas variables session

Publicado por xfrancis (6 intervenciones) el 16/12/2015 23:43:42
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!
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 xve

Problemas variables session

Publicado por xve (5522 intervenciones) el 17/12/2015 08:40:04
Hola, la verdad es que si en el inicio de tu código esta el session_start(), debería de mantenerte las variables de sesión... sin ver el código, no se como te podemos ayudar mas.
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

Problemas variables session

Publicado por xfrancis (6 intervenciones) el 17/12/2015 12:35:21
Esto es el codigo que tengo. En el conn.php:
1
2
3
4
5
6
7
8
9
10
11
12
<?php
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:
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
<?
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:
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
28
29
30
<?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';
}
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

Problemas variables session

Publicado por Jose (1 intervención) el 17/12/2015 13:00:51
Prueba a ponerle nombre a la sesión con la función session_name('nombre');
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

Problemas variables session

Publicado por xfrancis (6 intervenciones) el 17/12/2015 14:45:54
#jose, en que parte del codigo pongo el session_name('nombre');?
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

Problemas variables session

Publicado por xfrancis (6 intervenciones) el 17/12/2015 15:40:42
Hola! Creo que he encontrado el problema. En el conn.php agregue

1
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.
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

Problemas variables session

Publicado por xfrancis (6 intervenciones) el 17/12/2015 16:15:39
Lo he solucionado ya, gracias a ambos por la ayuda! :)
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 xve

Problemas variables session

Publicado por xve (5522 intervenciones) el 17/12/2015 20:30:14
Nos puedes comentar como lo has solucionado?? o donde estaba el problema?
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