Foros del Web » Programando para Internet » PHP »

Por favor ayuda con $_SESSION

Estas en el tema de Por favor ayuda con $_SESSION en el foro de PHP en Foros del Web. Hola que tal, tengo un sistema de Loging que cuando inicia sesión es así: Código PHP: $_SESSION [ 'SUNy_Login' ] =  $usuario [ 'ID' ];  La ...
  #1 (permalink)  
Antiguo 07/04/2009, 13:23
 
Fecha de Ingreso: agosto-2008
Mensajes: 52
Antigüedad: 11 años, 9 meses
Puntos: 1
Pregunta Por favor ayuda con $_SESSION

Hola que tal, tengo un sistema de Loging que cuando inicia sesión es así:

Código PHP:
$_SESSION['SUNy_Login'] = $usuario['ID']; 
La cosa funciona bien, pero sucede que esta sesión es registrada en una cookie bajo estos parametros:

Nombre: PHPSESSID
Servidor: www.dominio.com
Ruta: /
Expira: al finalizar la sesión

Mi pregunta es:

¿Cómo puedo determinar que la cookie tenga otro nombre y que además el Servidor sea .dominio.com y de esa forma pueda usar la misma sesion en todos mis subdominios de dominio.com?

Muchas gracias de antemano por la ayuda :)
  #2 (permalink)  
Antiguo 07/04/2009, 13:26
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.712
Antigüedad: 15 años, 1 mes
Puntos: 836
Respuesta: Por favor ayuda con $_SESSION

Puedes usar las directivas de configuración session.name y session.cookie_domain

Véase: http://www.php.net/manual/es/session.configuration.php
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 07/04/2009, 14:54
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 11 años, 10 meses
Puntos: 416
Respuesta: Por favor ayuda con $_SESSION

Tambien hay una funcion para modificar estas directivas sin necesidad de acceder al php.ini:
http://www.php.net/manual/en/functio...kie-params.php
  #4 (permalink)  
Antiguo 07/04/2009, 17:29
 
Fecha de Ingreso: agosto-2008
Mensajes: 52
Antigüedad: 11 años, 9 meses
Puntos: 1
Respuesta: Por favor ayuda con $_SESSION

Cita:
Iniciado por Ronruby Ver Mensaje
Tambien hay una funcion para modificar estas directivas sin necesidad de acceder al php.ini:
http://www.php.net/manual/en/functio...kie-params.php
Gracias Ron, ya habia intentado esta funcion pero la verdad no entiendo como usarla...

Tampoco tengo idea de donde colocar esta funcion, etc...

Habia intentado asi:

Código PHP:
<?php
session_start
();
include(
'dbSUN.php');
if(isset(
$_POST['submit'])) :
    
$username strip_tags($_POST['username']);
    
$password strip_tags($_POST['password']);
    
$query sprintf("SELECT * FROM miembros WHERE username = '%s' AND user_password = '%s' LIMIT 1;"mysql_real_escape_string($username), mysql_real_escape_string($password));
    
$result mysql_query($query);
    if(
!= mysql_num_rows($result)) :
        
header('Location: ../login.php?msg=datos_incorrectos');
    else :
        
$row mysql_fetch_assoc($result);
        
session_set_cookie_params(0'/''.dominio.com');
            
session_name('SUNy_Login');
        
$_SESSION['SUNy_Login'] = $row['ID'];
        
header('Location: ../portal.php?zona=welcome');
    endif;
endif;
?>
pero no me funcionó, pues aun asi se registró la cookie como lo expuse al inicio...


Posteriormente en la sección de Login habia puesto asi:


Código PHP:
session_set_cookie_params(0'/''.dominio.com');
session_name('SUNy_Login');
session_start();
if(!
session_is_registered('SUNy_Login')) :
    echo 
"NO ESTAS LOGEADO";
exit;
endif; 
Pero sucede que crea la cookie pero me da error de login, y si quito:

Código PHP:
session_set_cookie_params(0'/''.dominio.com');
session_name('SUNy_Login'); 
Si funciona, claro, considerando que dominio.com lo reemplazo por el correcto...
  #5 (permalink)  
Antiguo 07/04/2009, 18:00
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 12 años, 1 mes
Puntos: 2534
Respuesta: Por favor ayuda con $_SESSION

el manual dice algo al respecto..

Cita:
Set cookie parameters defined in the php.ini file. The effect of this function only lasts for the duration of the script. Thus, you need to call session_set_cookie_params() for every request and before session_start() is called.
osea, que: "El efecto de esta funcion solo es mientras dura el script... tu necesitas llamar a session_set_cookie_params() por cada peticion, y antes de que session_start() sea llamado"

espero sirva de algo....
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 07/04/2009, 20:59
 
Fecha de Ingreso: agosto-2008
Mensajes: 52
Antigüedad: 11 años, 9 meses
Puntos: 1
Respuesta: Por favor ayuda con $_SESSION

Cita:
Iniciado por pateketrueke Ver Mensaje
el manual dice algo al respecto..



osea, que: "El efecto de esta funcion solo es mientras dura el script... tu necesitas llamar a session_set_cookie_params() por cada peticion, y antes de que session_start() sea llamado"

espero sirva de algo....

Y eso hice en mi ultimo ejemplo, lo pise antes del session_start() y si crea la cookie pero cuando hago referencia a ella no la reconoce

Yo antes de abrir este post hice esas instrucciones, si tan solo me ayudan a decirme donde tengo la falla lo agradecería mucho, ya que lo que hasta el momento me han dicho ya lo he hecho .

Gracias de nuevo
  #7 (permalink)  
Antiguo 07/04/2009, 21:05
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 11 años, 10 meses
Puntos: 416
Respuesta: Por favor ayuda con $_SESSION

http://www.idealog.us/2006/09/php_session_coo.html
En ese blog muestran como hacerlo, pero ya esas alternativas te las hemos dado. ¿Configuraste correctamente el php.ini?

Configurando correctamente las directivas que te menciono David el Grande todo deberia funcionar bien.
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 04:29.