Comunidad de diseño web y desarrollo en internet online

problemas con sesiones php

Citar            
MensajeEscrito el 09 Nov 2012 08:44 pm
Cordial saludo,

Se me ha presentado un problema que no he podido resolver.

Tengo una página web en php que inicia sesiones en php pero solo una de ellas retiene el valor, el resto no.

La página inicia de la siguiente forma:

Código PHP :

<?php
   session_start();
   if(!isset($_SESSION['s_accion']))
   {
      $_SESSION['s_accion'] = 'Nuevo';
      $_SESSION['codigo'] = ' '; 
      $_SESSION['nombre'] = ' '; 
   }
   elseif(strlen($_SESSION['s_accion']) == 0)
   {
      {
         $_SESSION['s_accion'] = 'Nuevo';
         $_SESSION['codigo'] = ' '; 
         $_SESSION['nombre'] = ' ';  
      }
   }
?>


Más adelante, dentro del body, tengo el siguiente código:

Código HTML :

<h4><?php echo $_SESSION['s_accion'].$_SESSION['codigo'] ?> Registro</h4>


Pero solo me muestra "s_accion" y la otra me genera un error "Notice: Undefined index: codigo"

Una pequeña observación: No sé si eso pueda afectar, pero antes tenía esta página que comento cargada dentro de frames en una página base, pero ahora la cargo dentro de un div, según recomendaciones en otro tema de foro. Pero si ese fuera el tema, no funcionaria ninguna variable de sesión (Creo yo).

Agradezco de antemano toda la colaboración posible.

Por cdrafael

18 de clabLevel



 

firefox
Citar            
MensajeEscrito el 10 Nov 2012 01:27 am
Es posible que el mismo php elimine las variables de sesion que no tengan valor, puedes suprimir los WARNIGS colocando esta funcion al principio de tu archivo de php:

error_reporting(E_ERROR);

Esto hará que solo te despliege mensajes en caso de haber errores y no advertencias de este tipo :)

Por horxpig

19 de clabLevel



Genero:Masculino  

Diseñador Digital Freelance

firefox
Citar            
MensajeEscrito el 10 Nov 2012 03:50 am
Lo que me preocupa del código es qué pasa cuando strlen($_SESSION['s_accion']) devuelve un valor distinto de cero.

Haz un var_dump($_SESSION) inmediatamente después del if.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 11 Nov 2012 02:14 am
Muchas gracias a todos por responder a la pregunta.

Hice todo lo que recomiendas pero nada, a lo último reinstale el xampp (sobre windows :twisted: ) y se arregló el problema.

Nuevamente, muchas gracias.

Por cdrafael

18 de clabLevel



 

chrome
Citar            
MensajeEscrito el 11 Nov 2012 02:56 am
Seguramente te paso eso porque seteaste $_SESSION['s_accion'] y no las otras dos antes de poner en el código el If.... Entonces estaba definido $_SESSION['s_accion'] y cumplia el If pero no tenias definidas las otras dos variables.
Deberias haber hecho un unset($_SESSION) para borrarlo y que se definan de nuevo las 3.
Saludos!

Por SinSemilla

Claber

336 de clabLevel



Genero:Masculino  

i am that i am...

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.