Foros del Web » Programando para Internet » PHP »

Paso de variables

Estas en el tema de Paso de variables en el foro de PHP en Foros del Web. La pregunta es algo tonta: Tengo un formulario donde el usuario ingresa dos datos y puede escojer si eliminar una cuenta o modificarla(modificar los datos ...
  #1 (permalink)  
Antiguo 21/10/2003, 11:19
Avatar de edwinandlozano  
Fecha de Ingreso: octubre-2003
Mensajes: 272
Antigüedad: 14 años, 1 mes
Puntos: 0
Paso de variables

La pregunta es algo tonta:
Tengo un formulario donde el usuario ingresa dos datos y puede escojer si eliminar una cuenta o modificarla(modificar los datos existentes), despues de escoger la opcion modificar, la forma le pasa las variables a un script donde se reviza si la cuenta existe o no, si existe, se debe de desplegar una forma con los datos ya cargados (para hacer desplegar los datos existentes debo de darle a una funcion los datos que el usuario ingreso al principio ).......

Pregunta : como guardo o paso las variables que solicite al principio..... he pensado en guardala como las secciones pero no me funciona.......

De antemano gracias por el favor.
  #2 (permalink)  
Antiguo 21/10/2003, 11:47
Avatar de sism82  
Fecha de Ingreso: octubre-2003
Ubicación: Guadalajara
Mensajes: 865
Antigüedad: 14 años, 1 mes
Puntos: 1
que onda, no tengo mucho a experiencia, pero creo que no es tan difícil. Puedes usar variables de sesión, las variables de sesión se almacenan en el servidor mientras dure la sesión, por lo que las puedes mandar llamar cuando desees.
Para iniciar la sesión debes poner session_start(); en la primer linea del documento, antes que nada, antes que <html>, antes que cualquier espacio en blanco. Esa es la manera explícita de iniciar sesión, pero tengo entendido que la sesión se inicializa implicitamente si defines una variable de sesión con session_register(´nombrevariable´). Una vez registrada la variable basta con que la mandes llamar de cualquier documento posterior con $nombrevariable.
Espero te haya sido de ayuda, busca en php.net todas las opciones con sesiones. Hasta pronto
  #3 (permalink)  
Antiguo 21/10/2003, 15:03
Avatar de edwinandlozano  
Fecha de Ingreso: octubre-2003
Mensajes: 272
Antigüedad: 14 años, 1 mes
Puntos: 0
Ahora el problema es que cuando inserto el codigo de session_start();
me sale el siguiente error:
Warning: open(/tmp\sess_1bead7f4ce0a3134701e1604ff1ffc78, O_RDWR) failed: No such file or directory (2) in d:\ts web server\projectts_1.0\ejemploseccion3.php on line 2
1bead7f4ce0a3134701e1604ff1ffc78

junto con otros dos......

Me pueden colaborar con eso...

De antemano muchas gracias
  #4 (permalink)  
Antiguo 21/10/2003, 15:11
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
No tienes configurado el directorio donde PHP va a crear tus sesiones ..

Debes editar tu php.ini y apuntar en session.save_path= un directorio que exista (ruta completa absoluta) en tu servidor ..

Reinicia tu servidor cuando tengas ese cambio hecho en tu php.ini

A su vez si vas a trabajar con sesiones .. te recomiendo que leas la documentación oficial al respecto ..

www.php.net/session

y las FAQ's de este foro .. hay un par de FAQ's que tratan el tema. A ser posible NO uses session_register() usa los arrays superglobales $_SESSION ..

También fijate como piensas propagar el SID (.. se que ahora no sabes que es eso .. por eso te remito a la documentación oficial para que veas alto de la teoría básica)...

Para tomar contacto con sesiones .. te recomendaría que usases
session.use_trans_sid = 1 (si es que no lo tienes así ya .. en tu php.ini)

Así propagaras el SID de forma automática que .. junto con session.use_cookies (y navegadores que las acepten) .. podrás ir trabajando con sesiones de forma "comoda". Cuanta más teoría leas al respecto .. mejor sabras como se comportan las sesiones.

Tal vez .. las "sesiones" sea una de las cosas de PHP que más require uno saber su configuración... pues de esta depende como debes "programar" (o a la inversa).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 21/10/2003, 19:54
Avatar de edwinandlozano  
Fecha de Ingreso: octubre-2003
Mensajes: 272
Antigüedad: 14 años, 1 mes
Puntos: 0
Cluster muchas gracias por la ayuda, estoy leyendo sobre las sessiones (por decirlo asi), aunque el tema es de mucho cuidado por lo de usar la variable register_globals = off, aunque todavia hay cositas que no entiendo.....
Ahora las sessiones se utilizan para guardar las variables de los usuarios (login y password generalmente), este mismo metodo lo puedo utilizar para guardar cualquier variable que necesite para pasar a una funcion en especifico????

Cualquier cosa te puedo enviar un email sobre lo que quiero hacer en concreto para aque me puedas dar algo de orintacion.....

De nuevo muchas gracias por tu informacion.......
  #6 (permalink)  
Antiguo 22/10/2003, 18:03
Avatar de edwinandlozano  
Fecha de Ingreso: octubre-2003
Mensajes: 272
Antigüedad: 14 años, 1 mes
Puntos: 0
Utileze otro metodo para enviar las variables el cual es el siguiente:
echo "<meta http-equiv=\"refresh\" content=\"0;url=$_PROJECTTS_URL/mod/datapag/src/php/Modificar_cuenta.php?strNumcuenta=$strNumcuenta&in tEntFinanciera=$intEntFinanciera\">\n";

el cual trabaja sin problemas, aunque muestra cierto retardo en el algoritmo que revisa si las variables existen o no...

Cualquier sujerencia o ayuda se los agradeceria.......
  #7 (permalink)  
Antiguo 22/10/2003, 20:43
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Bueno ... Propagar variables lo puedes hacer por vários métodos .. uno de ellos son las mencionadas sesiones, otro por el URL (Como la solución que usastes al final) .. otros por cookies .. y algunos otros más complejos (como usar cURL haciendo conexiones por sockets directo) ..

El caso que cada método tiene sus fin más optimo.

Las sesiones te dan más seguridad y versatilidad, sobre todo si dichas variables las vas a requerir en más de una página .. Si tan sólo són para propagar X variabels entre 1 a 1 página .. no vale la pena usar sesiones salvo que las variables que propagas sean suceptibles de ser modificadas y ello implique algún tipo de riesgo (ejemplo .. ver un password por el URL .. o similares).

Con variabels de sesión .. se hace dificil crear "favoritos" o "linkear" directamente hacia tal o cual contenido .. pues tus variables permanecen en el servidor y no en el URL como en tu ejemplo .. las cuales (el URL) si me guardo en mis "favoritos" (o pones ese link en cualquier sitio) .. voy a ir directamente a donde indique.

De todas formas .. tu solución "URL" .. en PHP debería ser:

Código PHP:
header("Location: $_PROJECTTS_URL/mod/datapag/src/php/Modificar_cuenta.php?strNumcuenta=$strNumcuenta&intEntFinanciera=$intEntFinanciera");
exit; 
Así no hay ningún retardo. Las cabeceras HTTP se procesan antes incluso que el resto de HTML que pudiera existir en esa página. He de ahí que .. requisito importante es que esa página de proceso que acaba con ese redireccionamiento NO tenga nada de HTML por delante de tu <? .. o al final de tu ?> (si lo llamases bajo un "include" desde otro script).

(El "retardo" que mencionas no es de que si las variables existen o no .. sino de que estás enviado una "pagina" con ese código HTML para que lo procese el navegador y .. esto no sucede hasta que se carga completamente.

El "problema" de seguridad se plantea usando register_gloabals a ON ... donde se tratan las variables como globales sin distinción del método por el cual entren a un script (sea POST/GET .. o incluso si es una variable de sesión/cookies .. etc .. En las FAQ's de este foro tienes una explicación al respecto).

Un saludo,
).
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 11:34.