Foros del Web » Programando para Internet » PHP »

Se borra el contenido de las variables al hacer session_strart()

Estas en el tema de Se borra el contenido de las variables al hacer session_strart() en el foro de PHP en Foros del Web. Hola, tengo este código: Código PHP: if ( RecibirVariables ( $Usuario ,  $Contrasenia )) {     echo  $Usuario  .  " " .  $Contrasenia ;  // Se muestran      session_start ();     echo  ...
  #1 (permalink)  
Antiguo 18/01/2009, 10:35
 
Fecha de Ingreso: octubre-2008
Mensajes: 276
Antigüedad: 15 años, 6 meses
Puntos: 1
Se borra el contenido de las variables al hacer session_strart()

Hola, tengo este código:

Código PHP:
if (RecibirVariables($Usuario$Contrasenia)) {
    echo 
$Usuario " "$Contrasenia// Se muestran
    
session_start();
    echo 
$Usuario " "$Contrasenia// No se muestran
    
$_SESSION["Usuario"] = $Usuario;
    
$_SESSION["Contrasenia"] = $Contrasenia;
}

function 
RecibirVariables(&$Usuario, &$Contrasenia) {
    
$Recibe false;                
    if (!empty(
$_POST)) {
    
$Usuario     $_POST['Usuario'];
        
$Contrasenia $_POST['Contrasenia'];           
        
$Recibe true;
    }     
    return 
$Recibe;        
}      
?> 
Al llamar a session_strart() se borra el contenido de las variables $Usuario y $Contrasenia y no veo la razón de esto. ¿A qué se debe?

Saludos.
  #2 (permalink)  
Antiguo 18/01/2009, 10:44
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Se borra el contenido de las variables al hacer session_strart()

Pon error_reporting(E_ALL); al inicio de tu script. Probablemente haya un fallo ejecutando session_start() que está deteniendo la ejecución del script.

  #3 (permalink)  
Antiguo 18/01/2009, 13:42
 
Fecha de Ingreso: octubre-2008
Mensajes: 276
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: Se borra el contenido de las variables al hacer session_strart()

okram el script se ejecuta correctamente, ya que si hago echo $Usuario . " ". $Contrasenia; antes de session_start(); las variables se muestran, pero si lo hago después no se muestran, es como si session_start(); las inicializara con valores nulos.

¿A qué se podrá deber?
  #4 (permalink)  
Antiguo 18/01/2009, 14:37
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Se borra el contenido de las variables al hacer session_strart()

Y si pones otra cosa después de session_start(), como echo 'nsnsns';, se imprime? Es muy raro, ya que no tiene que borrarse ninguna variable por el simple hecho de iniciar una sesión. Que session_start() esté generando un error que provoque la detención del script es la única explicación lógica que encuentro. Pon ese echo para verificar que el script sigue corriendo tras ejecutar esa función.

  #5 (permalink)  
Antiguo 18/01/2009, 16:32
 
Fecha de Ingreso: octubre-2008
Mensajes: 276
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: Se borra el contenido de las variables al hacer session_strart()

Cita:
Iniciado por okram Ver Mensaje
Y si pones otra cosa después de session_start(), como echo 'nsnsns';, se imprime?
Si que se imprime, el problema está relacionado con el método POST.

Código PHP:
echo "Contenido variable sesión: " $_SESSION['Usuario'] . "<br/>"// Muestra hola         
$User $_POST['User'];
echo 
$User// Muestra fgfg
echo "Contenido variable sesión: " $_SESSION['Usuario'] . "<br/>"// Muestra fgfg 
¿Qué está ocurriendo?
  #6 (permalink)  
Antiguo 18/01/2009, 16:37
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Se borra el contenido de las variables al hacer session_strart()

NO habrá sido tal vez que en algún momento antes en tu script hayas creado una referencia entre $_SESSION y $_POST?

Es muy extraño. Prueba reiniciando el servidor Apache. Tocaste algo de tu php.ini?

  #7 (permalink)  
Antiguo 18/01/2009, 16:39
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: Se borra el contenido de las variables al hacer session_strart()

Tienes register_globals activado?

Saludos
  #8 (permalink)  
Antiguo 18/01/2009, 16:42
 
Fecha de Ingreso: octubre-2008
Mensajes: 276
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: Se borra el contenido de las variables al hacer session_strart()

Cita:
Iniciado por okram Ver Mensaje
NO habrá sido tal vez que en algún momento antes en tu script hayas creado una referencia entre $_SESSION y $_POST?

No hay ninguna referencia.

Cita:
Iniciado por okram Ver Mensaje
Es muy extraño. Prueba reiniciando el servidor Apache.
Lo hice y sigue igual.

Cita:
Iniciado por okram Ver Mensaje
Tocaste algo de tu php.ini?
No que yo sepa.

Cita:
Iniciado por GatorV Ver Mensaje
Tienes register_globals activado?
No lo se. ¿Cómo lo puedo saber?

Saludos.
  #9 (permalink)  
Antiguo 18/01/2009, 16:45
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Se borra el contenido de las variables al hacer session_strart()

En un script coloca

Código PHP:
phpinfo() 
Te saldrán todas las directivas de Apache con sus respectivos valores. Busca register globals.

  #10 (permalink)  
Antiguo 18/01/2009, 16:49
 
Fecha de Ingreso: octubre-2008
Mensajes: 276
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: Se borra el contenido de las variables al hacer session_strart()

register_globals está en On tanto en Local Value como en Master Value.
  #11 (permalink)  
Antiguo 18/01/2009, 16:52
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Se borra el contenido de las variables al hacer session_strart()

Ingresa a tu php.ini y cambia este valor a Off. Es probable que tengas alguna variable enn GET o POST o COOKIE con ese mismo nombre ($Usuario) lo que hace que se reescriba tu variable de sesión.

  #12 (permalink)  
Antiguo 18/01/2009, 16:58
 
Fecha de Ingreso: octubre-2008
Mensajes: 276
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: Se borra el contenido de las variables al hacer session_strart()

¡Funciona!

Mil gracias, ¿entonces es porque hay variables con el mismo nombre?
  #13 (permalink)  
Antiguo 18/01/2009, 16:59
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Se borra el contenido de las variables al hacer session_strart()

Mejor lee algo sobre Register Globals: http://www.php.net/manual/es/security.globals.php

  #14 (permalink)  
Antiguo 18/01/2009, 19:02
 
Fecha de Ingreso: octubre-2008
Mensajes: 276
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: Se borra el contenido de las variables al hacer session_strart()

Gracias a los dos.

Saludos.
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 14:45.