Foros del Web » Programando para Internet » Javascript »

Paso de variables entre marcos

Estas en el tema de Paso de variables entre marcos en el foro de Javascript en Foros del Web. Hola! Estoy comenzando con el proyecto final de carrera, que consiste en una aplicacion de comercio electronico basda en php y mysql. Tengo una página ...
  #1 (permalink)  
Antiguo 16/07/2004, 11:15
Avatar de Rosimaj  
Fecha de Ingreso: febrero-2003
Ubicación: Valencia
Mensajes: 61
Antigüedad: 21 años, 3 meses
Puntos: 0
Pregunta Paso de variables entre marcos

Hola!
Estoy comenzando con el proyecto final de carrera, que consiste en una aplicacion de comercio electronico basda en php y mysql.
Tengo una página principal dividida en marcos (a partir de ahora PAGINA1). En el marco izquierdo tengo el menú, y en el marco principal es donde se cargan las respectivas páginas correspondientes a la opción pulsada.
Al pulsar sobre una opción de menú paso dos variables (tipo y tipop) a una nueva página (PAGINA2) que se cargará en el marco principal.
Esta nueva página a su vez está dividida en dos marcos (SUPERIOR e INFERIOR).
En el marco INFERIOR ha de aparecer un listado correspondiene a una consulta en la base de datos, comprobando coincidencias con las dos variables que le he pasado a la página (tipo y tipop).
En el marco SUPERIOR tengo unos combobox y un boton LISTAR, el cual, al ser pulsado, tiene que recargar de nuevo la página del marco inferior, pasandole las dos variables iniciales (tipo y tipop), además del valor seleccionado en los combos.
Para conseguir que las dos páginas que se cargan en INFERIOR y en SUPERIOR puedan hacer referencia las variables tipo y tipop se las paso desde la página de marcos (PAGINA2) como variables de sesion (<frame src="paginasuperior.php?tipo=............" ...).
Esto funciona bien, por lo que inicialmente cuando se carga PAGINA2 en el marco principal de PAGINA1, el listado de INFERIOR se muestra correctamente.
El problema es cuando he de pulsar sobre el boton LISTAR del marco SUPERIOR, ya que he de pasarle a INFERIOR el valor de tipo y tipop, es decir, el valor de $HTTP_GET_VARS["tipo"] y $HTTP_GET_VARS["tipop"]
Y no consigo que esto funcione, he probado desde onClick del boton, poniendolo dentro de una etiquea <a href=... , haciendo uso de una funcion javascript a la que le paso el valor de $HTTP_GET_VARS["tipo"] y $HTTP_GET_VARS["tipop"] y despues hago la llamada a INFERIOR pasandole las nuevas variables de la funcion... y nada.
¿Alguien puede decirme como puedo hacer que en el marco inferior se cargue la página que quiero (al pulsar sobre un botón), pasándole a esta página variables que contengan el valor de $HTTP_GET_VARS["tipo"] y $HTTP_GET_VARS["tipop"] ?
Muchas gracias
  #2 (permalink)  
Antiguo 16/07/2004, 11:21
Avatar de Rosimaj  
Fecha de Ingreso: febrero-2003
Ubicación: Valencia
Mensajes: 61
Antigüedad: 21 años, 3 meses
Puntos: 0
Perdonar que haya puesto el post aqui, me he equivocado.
Pasarme al foro general de PHP, gracias
  #3 (permalink)  
Antiguo 16/07/2004, 11:53
Avatar de sism82  
Fecha de Ingreso: octubre-2003
Ubicación: Guadalajara
Mensajes: 865
Antigüedad: 20 años, 6 meses
Puntos: 1
seria buena idea si incluyeras el código pertientente sobre como estas pasando las variables. La forma de cargar la pagina inferior pasandole, o no pasandole variables es la misma, el target tiene que hacer referencia al marco inferior. Si deseas enviarle variables, entonces lo puedes hacer como mencionas, con GET.

este sería el código para el link que manda llamar el boton del frame que tiene los combos:

Código:
<a href="paginadeabajo.php?var1=esto&var2=estootro" target="frameabajo">
entonces la página deber cargarse en el frame de abajo con las variables enviadas...

si tienes problemas es por que en algun lado estas errando el procedimiento.

un saludo
  #4 (permalink)  
Antiguo 16/07/2004, 11:55
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
Todo paso de variables entre frames/iframes lo deves resolver desde Javascript no desde PHP ..

Tienes que "recolectar" tus variables desde los frames implicados al que necesitas para inicar un "redireccionamiento" con esas variables montadas en el URL que redirecionas ante el evento que necesitas (tu pulsación de tu botón).

Piensa que PHP se ejecuta en el servidor .. el resultado será tu "frame-set" en tu caso donde "pre-estableces" valores a los frames (páginas que llamas en ellos) como ya lo haces con eso que llamas "sesión" (que no es sesión .. esas variables las propagas por el URL). Y ese "frame-set" que has generado será lo que tenga que interpretar el navegador. Ahora, estás hablando de "sin intervención" del servidor . .decir al "cliente" (navegador) que cambie cierta página de un frame concreto y además que propage a este ciertas variables que llegaron a otro frame.

Muevo tu pregunta al foro de Javascript para que te orienten al respecto.

Un saludo,
  #5 (permalink)  
Antiguo 16/07/2004, 12:15
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola a todos:

Rosimaj: en las FAQs javascript hay una forma de leer las variables pasadas por url (o método get de formularios)...

Supongo que tendrías que volverlas a pasar desde el botón... si es otro formulario, create un par de campos (que pueden ser ocultos) para las variables antiguas (que también podrías hacerlo con php) y sumale las variables que quieras.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #6 (permalink)  
Antiguo 17/07/2004, 06:24
Avatar de Rosimaj  
Fecha de Ingreso: febrero-2003
Ubicación: Valencia
Mensajes: 61
Antigüedad: 21 años, 3 meses
Puntos: 0
Hola
Gracias por vuestras sugerencias, pero por mas que lo intento no consigo solucionar el problema. Voy a adjuntaros mejor el código, ya que ayer no lo tenia encima (por desgracia no dispongo de internet en mi casa y me habia dejado los archivos).

En el marco lateral en el que tengo el menú, al pulsar sobre un botón, por ejemplo, tengo el siguiente código:

onClick="parent.mainFrame.location='productos.php? tipo=niña&tipoprod=ropa'"

En productos.php, que es otro documento de marcos hago lo siguiente para poder pasarle las variables tipo y tipoprod a las páginas que se cargan en los marcos superior e inferior:

<frame src="psuperior.php?tipo=<?=$HTTP_GET_VARS["tipo"]?>&tipoprod=<?=$HTTP_GET_VARS["tipoprod"]?>" name="topFrame" scrolling="NO" noresize >

<frame src="listadoprod.php?tipo=<?=$HTTP_GET_VARS["tipo"]?>&tipoprod=<?=$HTTP_GET_VARS["tipoprod"]?>" name="mainFrame">

Y mi ultimo intento para resolver el que al pulsar sobre el boton que se encuentra en psuperior.php, se recargue listadoprod.php en el marco inferior de productos.php, es lo siguiente:

<?php
$tipoper= $HTTP_GET_VARS["tipo"];
$tipoprodu= $HTTP_GET_VARS["tipoprod"];
echo "<input name='Listar' type='button' value='Listar' onClick='cargardatos(".$tipoper.",".$tipoprodu.")' >";
?>
y la funcion cargardatos es una funcion javascript. Esto me falla ya que me dice 'niña' no esta definido.

En principio quería ver si se podía hacer sin utilizar javascript, pero viendo que ninguna de las cosas que probaba funcionaba corectamente, intente hacer uso de esa funcion javascript, pasandole el valor de dos variables a las que le asigno el valor de $HTTP_GET_VARS["lo que sea"]; , metiendo el código del botón dentro de una instruccion ECHO.
¿Alguien sabe como puedo hacer que esto funcione sin utilizar javascript o qué código debo poner para que los valores que le paso a la funcion javascript sean los correctos?
En otra aplicacion que hice hace tiempo tengo algo parecido a esto, pero no me falla, asi que no se donde puedo estar cometiendo el error.
Pondre tb mi duda en javascript, pero si sabeis como puedo hacer esto os agradeceria vuestra ayuda.
Saludos
  #7 (permalink)  
Antiguo 17/07/2004, 06:34
Avatar de Rosimaj  
Fecha de Ingreso: febrero-2003
Ubicación: Valencia
Mensajes: 61
Antigüedad: 21 años, 3 meses
Puntos: 0
Jeje, acabo de ver que ya me habeis pasado al foro javascript. Gracias
Pues eso, ¿como puedo recargar la página del marco inferior pasandole el valor de $HTTP_GET_VARS["lo que sea"]; ?

;)
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 00:05.