Foros del Web » Programando para Internet » PHP »

Problema con SESSION

Estas en el tema de Problema con SESSION en el foro de PHP en Foros del Web. Hola. Quisiera saber si alguien me puede colaborar con esto. Resulta que estoy haciendo varios formularios. El principal inicia una session: Código PHP: <?php session_start ...
  #1 (permalink)  
Antiguo 19/04/2003, 21:52
 
Fecha de Ingreso: abril-2003
Mensajes: 150
Antigüedad: 21 años
Puntos: 1
Problema con SESSION

Hola.

Quisiera saber si alguien me puede colaborar con esto.

Resulta que estoy haciendo varios formularios. El principal inicia
una session:

Código PHP:
<?php
session_start
();
session_register("usuario");
$usuario = array();
session_register("Nombres" "Apellidos""Cedula" "Email" "CBUbicacion");
?>
En este primer formulario se guarda el valor del nombre, apellidos, cedula, email, cbubicacion.

Pero como hago la validación en otro formulario, cuando los datos se van vacíos desde la primera session. Más delante no me guarda los datos.

Por ejemplo, en el formuario principal se llenó: nombre, apellido, cedula... pero faltó Email y cbubicacion.
Entonces en el otro formulario le anuncia el usuario que por favor ingrese email y cbubicacion.

Pero ya no me guarda lo que el usuario digita. Como desde el primer formulario email y cbubicacion se quedaron vacíos, así permanecen hasta que destruya la session.

Es esto un problema de actualización de variables? no se supone que en cada session si se cambia el valor de la variable así se guarda o me falta algo?.

Les agradecería su ayuda!!
GRACIAS DE ANTEMANO!!

Liz
  #2 (permalink)  
Antiguo 19/04/2003, 23:03
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Podrías poner la secuencia de formularios que usas .. Pero en principio, para que la sesion permanezca has de propagar el SID automatico o manual.

Dicho de otra forma .. todos tus formulario tendran que tener al menos un:
<?
session_start();
?>

Y si modificas el valor de alguna variable de sesion .. deberas usar (en tu caso):
<?
session_start();
session_register("variable_que_modifiques");
?>


Y si a todo esto te es posible (usas PHP 4.1 en adelante?) usa los arrays supergloables $_SESSION (en una de las FAQ's de este foro se habla de ello) .. Es mas seguro el acceso a variables de sesión así.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 20/04/2003, 17:38
 
Fecha de Ingreso: abril-2003
Mensajes: 150
Antigüedad: 21 años
Puntos: 1
Problemas con sesiones

Hola.

Son nueva en sesiones y me ha costado entender el concepto del paso de variables a otras páginas.

Es posible que alguein me colabore con esto?.

Aunque he leído en las FAQ, no he encontrado ejemplos en donde se use una variable en varias páginas.

Quiero saber si en la pagina1.php inicio una sesion

Código PHP:
session_start(); 
es ahí donde declaro las variables globales de esta forma?

Código PHP:
<?php
session_start
();
session_register("usuario");
$usuario = array("Nombres" "Apellidos""Cedula");
?>


y si en la página3.php necesito de nuevo las variables solo debo agrgarle

Código PHP:
session_start(); 
En esta página3.php no necesito volver a declarar nada?

Mi problema es que tengo una sesión, y al pasar de la pagina1.php a la pagina2.php me muestra el valor de las variables. Pero para la pagina3.php no me las toma. (pagina3.php viene de la pagina2.php).

Me apareceun error:

Cita:
Warning: Undefined variable: Nombres in c:\archivos de programa\apache group\apache\htdocs\pagina3.php on line 9

en la linea 9 tengo echo "$Nombres";


Les agradezco su ayuda a una principiante.
Liz
  #4 (permalink)  
Antiguo 20/04/2003, 18:00
 
Fecha de Ingreso: noviembre-2002
Ubicación: Barcelona - España
Mensajes: 270
Antigüedad: 21 años, 4 meses
Puntos: 0
pagina 1

session start();
// Registramos la sesion
$pepito=array();




pagina 2, 3, etc.

session start();
if (!session_is_registered ("pepito")) die ("<h1>Debes entrar correctamente por la página 1</h1>");
  #5 (permalink)  
Antiguo 20/04/2003, 18:00
 
Fecha de Ingreso: noviembre-2002
Ubicación: Barcelona - España
Mensajes: 270
Antigüedad: 21 años, 4 meses
Puntos: 0
desde luego cambiando pepito por lo que quieras
  #6 (permalink)  
Antiguo 20/04/2003, 20:02
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Se te olvidó registrar la variable en la sesion via session_register() .. A todo esto no recuerdo si a su vez hay que serializar el array (creo que sí .. por lo menos en $_SESSION hace falta)

pagina1.php
Código PHP:
<?session start();
// Registramos la sesion
$pepito=array();
session_register('pepito');
?>
Por cierto .. leean estas FAQ del foro PHP .. Es ALTAMENTE recomendable que usen los arrays superglobales .. en el caso de sesiones $_SESSION

http://www.forosdelweb.com/showthrea...998#post238998
http://www.forosdelweb.com/showthrea...989#post238989

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #7 (permalink)  
Antiguo 20/04/2003, 20:06
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
(lizfranco: NO hace falta que repitas las pregunas varias veces .. y si fué un error .. acuerdate de usar el boton "responder" en lugar del de "tema nuevo" si vas a Responder un tema).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #8 (permalink)  
Antiguo 21/04/2003, 04:04
 
Fecha de Ingreso: noviembre-2002
Ubicación: Barcelona - España
Mensajes: 270
Antigüedad: 21 años, 4 meses
Puntos: 0
Tienes razón, Cluster, se me olvidó registrar la 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 03:47.