Foros del Web » Programando para Internet » PHP »

Paso de variables SESION

Estas en el tema de Paso de variables SESION en el foro de PHP en Foros del Web. Chicos buenas tardes me colaboran con una duda que tengo por favor Tengo el siguiente script, el cual utilizo para abrir una capa. Me funciona ...
  #1 (permalink)  
Antiguo 17/09/2012, 17:51
 
Fecha de Ingreso: noviembre-2010
Mensajes: 204
Antigüedad: 13 años, 5 meses
Puntos: 1
Paso de variables SESION

Chicos buenas tardes me colaboran con una duda que tengo por favor

Tengo el siguiente script, el cual utilizo para abrir una capa. Me funciona muy bien.

El problema que tengo es que no logro pasar las variables de sesion (id_usuario, nombre_usuario) a la capa que abro con el boton. No entiendo por que no pasan si esta comprobado que estan definidas

En el script uso dos variables (id_usuario, nombre_usuario) de SESION que defino cuando cargo el script. Las variables estan bien definidas.

Código HTML:
Ver original
  1. function mostrar_capa()
  2. {
  3.     var ventana = document.getElementById('solicitud');
  4.     ventana.style.marginTop = "40px";
  5.     ventana.style.marginLeft = ((document.body.clientWidth-540) / 2) +  "px";
  6.     ventana.style.display = 'block';
  7. }
  8.  
  9. <a href="javascript:mostrar_capa();">Abrir Capa</a>
  10.  
  11. <div id="solicitud" style="width: 330px; height: 200px; display:none;">
  12.  
  13.   <?php include('formulario.php');?>
  14.  
  15. </div>
  #2 (permalink)  
Antiguo 17/09/2012, 17:58
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: Paso de variables SESION

No veo ninguna variable de session, de que estamos hablando?
Las variables de session de pasan de request en request solamente si primero que nada existen y si en la primera linea del script contiene session_start() sino olvidate.

http://www.php.net/manual/es/function.session-start.php
  #3 (permalink)  
Antiguo 17/09/2012, 17:59
Avatar de abimex
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: ~
Mensajes: 751
Antigüedad: 17 años, 1 mes
Puntos: 137
Respuesta: Paso de variables SESION

estas seguro que inicias la session en el archivo formulario.php
session_start(), esta en ese archivo??
  #4 (permalink)  
Antiguo 17/09/2012, 18:12
 
Fecha de Ingreso: noviembre-2010
Mensajes: 204
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: Paso de variables SESION

Chicos gracias su tiempo

No coloque todo el script por que es muy largo.

En la primera linea del script defini el session_start(); y luego las varibles de sesion
y funcionan bien, de hecho lo uso para controlar el paso de los usuarios de pagina a pagina (ese control de pagian en pagina lo logro gracias a que las variables de sesion estan bien definidas), por eso no entiendo por que no me pasan a capa.
  #5 (permalink)  
Antiguo 17/09/2012, 18:23
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: Paso de variables SESION

Es medio raro lo que intentas hacer no termino de entender, si estas recibiendo las variables de session desde otro script y tenes todo bien inicializado con session_start, deberías de poder usarlas en cualquier momento, no termino de entender que queres hacer, que contiene formulario.php? mostra el codigo a ver si entendemos mejor
  #6 (permalink)  
Antiguo 17/09/2012, 19:37
 
Fecha de Ingreso: noviembre-2010
Mensajes: 204
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: Paso de variables SESION

rodrigo791, gracias por colaborarme

Te cuento como funciona.

1. Cuando cargo el script prinicipal el sistema pregunta al usuario dos variables de sesion id_usuario y nombre_usuario.

2. En el mismo script principal hay un boton que me abre una capa que tambien esta definida en el script principal.

3. Cuando la capa se abre se activa fomulario.php.

4. Cuando se abre la capa el script formulario valida que las variables id_usuario y nombre_usuario esten definidas para que el usuario entre al formulario, en caso de que no esten definidas genera un mensaje que dice "usuario no registrado".

formulario.php

Código HTML:
Ver original
  1. <?php
  2. session_start();
  3.  
  4. if (isset($_SESSION['k_username'])) {
  5. lineas formulario
  6. }else{
  7. Mensaje "debe registrarse"
  8. }
  9. ?>

Siempre se va al mensaje, no entra al formulario.
  #7 (permalink)  
Antiguo 17/09/2012, 20:28
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: Paso de variables SESION

session_start definilo solo en el documento principal, no en formulario.php.
comproba que realmente que exista esa session porque no veo errores de código, si es que realmente la variable de session esta creada en el archivo del cual proviene entonces no deberias de tener problemas.
  #8 (permalink)  
Antiguo 17/09/2012, 20:52
 
Fecha de Ingreso: septiembre-2012
Ubicación: Argentina
Mensajes: 9
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Paso de variables SESION

mandale var_dump($_SESSION)
  #9 (permalink)  
Antiguo 18/09/2012, 21:02
 
Fecha de Ingreso: noviembre-2010
Mensajes: 204
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: Paso de variables SESION

rodrigo791, estuve probando varias cosas el dia de hoy de acuerdo a las sugerencias pero no logro que me funcione.

El script que coloco a continuacion es el script (simpificado) en el cual tengo el problema.

La idea es ejecutar la opcion 1 para crear la variable y luego correr la opcion 2 para mostrar la variable creada.

El porblema es que la opcion 2 no muestra la variable, solo lo hace si recargo el script y ejecuto nuevamente la opcion 2

Código HTML:
Ver original
  1. <?php
  2. session_start();
  3. ?>
  4.  
  5.  
  6. <script type="text/javascript">
  7.  
  8. function crear_variable()
  9. {
  10.     var ventana = document.getElementById('crearvariable');
  11.     ventana.style.marginTop = "200px";
  12.     ventana.style.marginLeft = ((document.body.clientWidth-300) / 2) +  "px";
  13.     ventana.style.display = 'block';
  14. }
  15.  
  16. function mostrar_variable()
  17. {
  18.     var ventana = document.getElementById('mostrarvariable');
  19.     ventana.style.marginTop = "40px";
  20.     ventana.style.marginLeft = ((document.body.clientWidth-540) / 2) +  "px";
  21.     ventana.style.display = 'block';
  22. }
  23.  
  24.  
  25.  
  26. <br>
  27. <br>
  28. <br>
  29.  
  30. <a href="javascript:crear_variable();">1-Crear variables de sesion</a>
  31.  
  32. <br>
  33. <br>
  34. <br>
  35.  
  36. <a href="javascript:mostrar_variable();">2-Visualizar variables de sesion</a>
  37.  
  38. <br>
  39. <br>
  40. <br>
  41.  
  42.  
  43.  
  44. <div id="crearvariable" style="width: 330px; height: 200px; display:none;">
  45.  
  46. <?php
  47.  
  48. $_SESSION['nombre_usuario'] = "pedrito";
  49. echo "Variable definida";
  50.  
  51. ?>
  52.  
  53. </div>
  54.  
  55. <div id="mostrarvariable" style="width: 330px; height: 200px; display:none;">
  56.  
  57. <?php
  58.  
  59. $nombre_usuario = $_SESSION['nombre_usuario'];
  60. echo "Mostrar contenido variable:";
  61. echo $nombre_usuario;
  62.  
  63. ?>
  64.  
  65. </div>

Gracias

Última edición por isabelramirezmontoya; 18/09/2012 a las 21:16
  #10 (permalink)  
Antiguo 18/09/2012, 22:22
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: Paso de variables SESION

Creo que no te ha quedado claro que las variables de sesión se manejan en el servidor y no están disponibles en el navegador, lo que debes hacer es:

1- Mostrar tu menú
2- Cuando haces click en "1- Crear variables..." debes ejecutar una llamada a tu script PHP para que cree las variables
3- Cuando haces click en "2- Visualizar..." debes ejecutar otra llamada a tu script PHP para que muestre las variables

Cómo logras esto?, con AJAX, porque lo que estás haciendo ahora es asignar variables y mostrarlas dentro del mismo script, lo cual no tiene sentido, porque la principal ventaja de las sesiones es guardar y compartir datos entre diferentes páginas tu sitio.
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: formulario, paso, variables, usuarios
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:44.