Foros del Web » Programando para Internet » PHP »

Variable de sesion vacia

Estas en el tema de Variable de sesion vacia en el foro de PHP en Foros del Web. Buenos Dias. Tengo un problema con una aplicacion en donde se logea el usuario y guarda en variables de sesion su udentidad y nombre, pero ...
  #1 (permalink)  
Antiguo 24/04/2017, 09:22
 
Fecha de Ingreso: agosto-2014
Ubicación: barranquilla
Mensajes: 93
Antigüedad: 9 años, 8 meses
Puntos: 0
Variable de sesion vacia

Buenos Dias.

Tengo un problema con una aplicacion en donde se logea el usuario y guarda en variables de sesion su udentidad y nombre, pero cuando hace el login por primera vez no muestra el contenido de la variable de sesion nombre_usuario que la uso para mosrtar el nombre del usario logeado, peroa cuando salgo del sistema e ingreso nuevamente si aparece la variable de sesion. usando la variable de sesion de identidad realizo una consulta para mostrar en una tabla uno valores asociados.

Código PHP:

/*cabecera de pagina */
<?php
session_start
();
?>

/*cuando se logea el usuario y exitosa la busqueda de usaurio y clave */
                                            $_SESSION['cedula']=$fila['cedula'];
$_SESSION['nombre']=$fila['nombre_apellidos'];
$_SESSION['cedaso']=$fila['cedaso'];


/*el menu principal lo incluyo en la pagina de inicio de la aplicacion */

  <li class="dropdown user user-menu">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown">
                  <span class="hidden-xs"><?php echo 'Bienvenido:'.' '.$_SESSION['nombre']; ?></span>
                </a>
             </li> 

/* en la pagina de consulta en la cabecera */

<?php
session_start
();
?>



                    <div class="box-body">
                        <?php
                        $n1
=1;$i=1;
                        
$sql=mysqli_query($con,"select * from datos where datos.cedaso='".$_SESSION['cedula']."' and estado='FIDELIZADO'");
                        
?>  
                        <table class="table table-bordered">
                        <th class="bg-green">No</th>
                        <th class="bg-green">Nombre - Apellidos</th>
                        <th class="bg-green">Correo</th>
                        <th class="bg-green">Direccion</th>
                        <th class="bg-green">Tel&eacute;fono</th>
                        <th class="bg-green">Estado</th>
                        <tr></tr>
                        <?php
                        
while ($row=mysqli_fetch_array($sql))
                        {
                        
?>
                        <td><?php echo $i ?></td>
                        <td><?php echo strtoupper($row['nombre_apellidos']) ?></td>
                        <td><?php echo strtoupper($row['correo']) ?></td>
                        <td><?php echo strtoupper($row['direccion']) ?></td>
                        <td><?php echo strtoupper($row['telefono']) ?></td>
                        <td><?php echo strtoupper($row['estado']) ?></td>
                        <tr></tr>
                         <?php
                        $i
++;                        
                        }
                        
?>
                        </table>
                        </div>
  #2 (permalink)  
Antiguo 24/04/2017, 17:30
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 10 meses
Puntos: 379
Respuesta: Variable de sesion vacia

Esto que te pasa es muy común y se debe a que la info en la sesión estará disponible en el siguiente petición, asi que cuando haces login tu usuario debe de ser enviado a otra pagina mediante un header location.
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #3 (permalink)  
Antiguo 24/04/2017, 19:48
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Variable de sesion vacia

El problema es que estás enviando contenido antes de session_start(); y por eso no se puede iniciar la sesión.

Difiero de lo que dice hhs, pues todas las variables de sesión están disponibles desde el mismo momento de crearlas, lo único que se necesita es que la cookie de sesión se pueda propagar para que estén disponibles en las siguientes peticiones.
__________________
- León, Guanajuato
- GV-Foto
  #4 (permalink)  
Antiguo 26/04/2017, 10:40
 
Fecha de Ingreso: agosto-2014
Ubicación: barranquilla
Mensajes: 93
Antigüedad: 9 años, 8 meses
Puntos: 0
Respuesta: Variable de sesion vacia

Buenos dias amigos, gracias por su respuestas y comentarios.

El problema que tengo es que en ocasiones si carga las variables de sesiones cuando me logeo y muestra el nombre del usuario logeado y hace la consulta con la variables de $_Session['cedulla'], pero en ocasiones no.

Cuando el usuario se logea y es exitosa la busqueda de usuario contraseña, cargo la siguiente pagina mediante la siguiente instruccion.

Código PHP:
Ver original
  1. echo '<meta http-equiv="refresh" content="3;url=apps/inicio">';
  #5 (permalink)  
Antiguo 26/04/2017, 11:03
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Variable de sesion vacia

Quieres evitarte problemas de sesiones? Entonces debes cambiar esto:

Código PHP:
Ver original
  1. /*cabecera de pagina */
  2. <?php
  3. ?>

Por esto:
Código PHP:
Ver original
  1. <?php
  2. ?>
  3. /*cabecera de pagina */

No importa si unas veces funciona y otras no, porque session_start(); necesita crear/consultar una cookie para identificar al usuario y no podrá hacerlo si envías cualquier otra cosa al navegador.

Resulta que los navegadores son muy tercos e insisten en procesar la información recibida en determinado orden:
1- Encabezados: Para redireccionar, crear cookies, identificar contenido (HTML, descarga de archivos, etc.)
2- Contenido: Ya sea código HTML o contenido de archivo a descargar.
__________________
- León, Guanajuato
- GV-Foto
  #6 (permalink)  
Antiguo 26/04/2017, 12:05
 
Fecha de Ingreso: agosto-2014
Ubicación: barranquilla
Mensajes: 93
Antigüedad: 9 años, 8 meses
Puntos: 0
Respuesta: Variable de sesion vacia

Gracias por tu respuesta, tenia el codigo php de session_start() debajo de un codigo html, probe con varios registro de entrada y esta funcionando bien, pero me creo en el servidor un ErrorLog

Código HTML:
Ver original
  1. [26-Apr-2017 13:02:55 America/Bogota] PHP Warning:  session_start(): Cannot send session cache limiter - headers already sent (output started at /home/xxxxx/public_html/xxxx.php:1) in /home/xxxxx/public_html/xxxxx.php on line 2

Última edición por josegaitan123; 26/04/2017 a las 12:15
  #7 (permalink)  
Antiguo 02/05/2017, 11:07
 
Fecha de Ingreso: agosto-2014
Ubicación: barranquilla
Mensajes: 93
Antigüedad: 9 años, 8 meses
Puntos: 0
Respuesta: Variable de sesion vacia

Gracias por tu ayuda lo pude solucionar!!

Etiquetas: select, sql, tabla, 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 12:28.