Foros del Web » Programando para Internet » PHP »

problema sesiones en php 5

Estas en el tema de problema sesiones en php 5 en el foro de PHP en Foros del Web. Hola gente , llevo ya tiempo trabajando con php y la verdad que el tema de las sesiones cuando lo dejo un rato y lo ...
  #1 (permalink)  
Antiguo 14/08/2008, 05:53
Avatar de Dundee  
Fecha de Ingreso: junio-2002
Ubicación: El Médano
Mensajes: 1.310
Antigüedad: 21 años, 10 meses
Puntos: 8
problema sesiones en php 5

Hola gente , llevo ya tiempo trabajando con php y la verdad que el tema de las sesiones cuando lo dejo un rato y lo quiero retomar siempre me da un dolor que otro de cabeza. El problema que tengo es el siguiente:
Tengo un script con este código:

Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin t&iacute;tulo</title>
<link href="estilos.css" rel="stylesheet" type="text/css" />
<link href="capas.css" rel="stylesheet" type="text/css" />
</head>

<body>
    <?
	@session_start();
	include("fns/fns.php");

	if (  !$_SESSION['continente'] )
	$_SESSION['continente'] = $_GET['continente'];
	
	if (  !$_SESSION['country']  )
	$_SESSION['country'] = $_GET['country'];
El problema que tengo es que en otra página quiero mostrar los resultados de las variables de sesiones $_SESSION['country'] y $_SESSION['continente'] que he creado , pero no me los muestra. Pego a continuación el código de la otra página.

Código:
<?
@session_start();
require_once("fns/fns.php");
include("eu/".$_SESSION['country']."/language.php");
if ($_GET['city'])
$city=$_GET['city'];

echo $_SESSION['continente'];

echo $_SESSION['country'];


?>
Resumiendo, no muestra el continente ni el país , es decir que no puedo crear sesiones por algún motivo , y he visto la documentación de php pero no se que narices se me pasa ¿se me olvida algo?.
Un saludo y gracias de antemano a tod@s
  #2 (permalink)  
Antiguo 14/08/2008, 06:30
Avatar de Tokkara  
Fecha de Ingreso: junio-2008
Mensajes: 131
Antigüedad: 15 años, 10 meses
Puntos: 5
Respuesta: problema sesiones en php 5

Hola buenas. El SID o identificador de la sesión se guarda por defecto en una cookie. Estas son enviadas por cabeceras, y estas no funcionan si tienes ya escrito algo en la salida(Tienes escrito código HTML antes del session_start). En la primera página cambia el session_start al principio de tu código. Quita la @ de session_start, para ver si te muestra algún error al iniciar la sesión. Ten en cuenta también que para que funciona una session debes permitir las cookies en tu navegador, asegurate de ques sea así.

A ver si ahora funciona. Un saludo
  #3 (permalink)  
Antiguo 14/08/2008, 07:06
Avatar de enriqueplace  
Fecha de Ingreso: mayo-2005
Ubicación: Uruguay / Argentina
Mensajes: 1.102
Antigüedad: 18 años, 11 meses
Puntos: 32
Respuesta: problema sesiones en php 5

Dundee, como bien dice Tokkara, si deshabilitas la salida de mensajes de error (@) cómo te vas a dar cuenta que tienes un error?

No es recomendable hacer este tipo de cosas, a lo sumo, cambiar el nivel de detalle de errores o direccionar todo a un archivo error.log... pero solo, cuando está en producción, si estás en etapa de desarrollo, todos los mensajes de error tienen que estar disponibles, y si salen inmediatamente en pantalla cuando ocurren, mejor.
__________________
Blog phpsenior.com Cursos a Distancia surforce.com
  #4 (permalink)  
Antiguo 14/08/2008, 08:02
Avatar de Dundee  
Fecha de Ingreso: junio-2002
Ubicación: El Médano
Mensajes: 1.310
Antigüedad: 21 años, 10 meses
Puntos: 8
Respuesta: problema sesiones en php 5

Perfecto, gracias ya me funciona, pero ahora me surje una duda , ¿si yo trabajo usando variables de sesión puede haber muchos usuarios que no puedan ver correctamente mi web porque tienen deshabilitadas las cokies no?.

¿No es mejor que sustituya las sesiones por varibles pasadas por URL $_GET? .
El inconveniente que le veo a GET es que es muy pesado tener que poner en todos los links el dichoso GET , pero por otra parte para mi sería solución .
¿Que opinan ustedes?.
Saludos y gracias
  #5 (permalink)  
Antiguo 14/08/2008, 08:07
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: problema sesiones en php 5

Hola Dundee,

Si el usuario tiene deshabilitadas las cookies, el engine de PHP agrega el SID (Session ID) a la URL. Fijate en los parámetros de rewrite_tags de tu php.ini.

Saludos.
  #6 (permalink)  
Antiguo 14/08/2008, 09:23
Avatar de Dundee  
Fecha de Ingreso: junio-2002
Ubicación: El Médano
Mensajes: 1.310
Antigüedad: 21 años, 10 meses
Puntos: 8
Respuesta: problema sesiones en php 5

Cita:
Iniciado por GatorV Ver Mensaje
Hola Dundee,

Si el usuario tiene deshabilitadas las cookies, el engine de PHP agrega el SID (Session ID) a la URL. Fijate en los parámetros de rewrite_tags de tu php.ini.

Saludos.
Ok gracias , ahora trabajo en local ,pero cuando termine la web la subiré a un server y allí dudo que tenga acceso al php.ini.
Saludos y gracias
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 08:23.