Foros del Web » Programando para Internet » PHP »

Como pasar datos a una pagina contenida en un iframe

Estas en el tema de Como pasar datos a una pagina contenida en un iframe en el foro de PHP en Foros del Web. Saludos, tengo una pagina php en la que tengo un input text un boton y un iframe que contiene por ejemplo buscar.php, ahora lo que ...
  #1 (permalink)  
Antiguo 08/10/2012, 14:00
 
Fecha de Ingreso: septiembre-2008
Mensajes: 257
Antigüedad: 15 años, 7 meses
Puntos: 4
Como pasar datos a una pagina contenida en un iframe

Saludos, tengo una pagina php en la que tengo un input text un boton y un iframe que contiene por ejemplo buscar.php, ahora lo que deseo es que cuando presiono el boton me mande el dato que tengo en el input text y ese dato lo reciba buscar.php y hace una consulta a la bd y se recargue el iframe mostrando lo que encontro en la bd..alguien sabe como hacer eso..gracias por su ayuda...
  #2 (permalink)  
Antiguo 08/10/2012, 14:03
Avatar de Reedyseth  
Fecha de Ingreso: enero-2009
Ubicación: Chihuahua, México
Mensajes: 419
Antigüedad: 15 años, 2 meses
Puntos: 36
Respuesta: Como pasar datos a una pagina contenida en un iframe

¿Qué es lo que has intentando hacer hasta ahora ?
  #3 (permalink)  
Antiguo 08/10/2012, 14:04
Avatar de anacona16  
Fecha de Ingreso: marzo-2010
Ubicación: Bogota DC
Mensajes: 610
Antigüedad: 14 años, 1 mes
Puntos: 52
Respuesta: Como pasar datos a una pagina contenida en un iframe

Esto lo harías mas facil con ajax...
__________________
Aprendiendo!!!
  #4 (permalink)  
Antiguo 08/10/2012, 14:20
 
Fecha de Ingreso: septiembre-2008
Mensajes: 257
Antigüedad: 15 años, 7 meses
Puntos: 4
Respuesta: Como pasar datos a una pagina contenida en un iframe

Respondiendo a Reedyseth, lo que hice fue en el evento onclick del boton llamo a buscar.php y tambien le paso una variable, pero lo que consigo es que buscar.php se me habra en el navegador y pierdo mi pagina principal...

Y respecto a lo que dice anacona16, tiene algun ejemplo sobre ajax para lo que estoy buscando, gracias....
  #5 (permalink)  
Antiguo 08/10/2012, 14:31
Avatar de anacona16  
Fecha de Ingreso: marzo-2010
Ubicación: Bogota DC
Mensajes: 610
Antigüedad: 14 años, 1 mes
Puntos: 52
Respuesta: Como pasar datos a una pagina contenida en un iframe

TE voy a ilustrar algo muy rapido.

Código HTML:
Ver original
  1. <input type='text' id='busqueda' />
  2. <input type='button' id='btn-busqueda' value='Buscar' />
  3.  
  4. <div id='resultados'></div>

Ahora el evento jQuery para enviar la petición, (esto va en el head entre etiquetas <script>)

Código Javascript:
Ver original
  1. $('#btn-busqueda').click(function(){
  2.     $.ajax({
  3.         type : 'post',
  4.         data : 'busqueda=' + $('#busqueda').val(),
  5.         url  : 'buscar.php',
  6.         success : function(data)
  7.         {
  8.             $('#resultados').html(data)
  9.         }
  10.     });
  11. });

Y tu buscar.php recibe la variable busqueda enviada por POST, hace la consulta en la BD imprime los resultados con un ciclo, y muestra los resultados.

Algo asi:

Código PHP:
Ver original
  1. <?php
  2.  
  3. $busqueda = $_POST['busqueda'];
  4.  
  5. $sql = 'SELECT * FROM tabla WHERE campo LIKE "%'.$busqueda.'%"';
  6.  
  7. $consulta = mysql_query($sql);
  8.  
  9. while($row = mysql_fetch_array($consulta)){
  10.     echo $row['campo'];
  11. }

Sin recargar la pagina la funcion ajax mostrara en el div resultados los resultados de tu consulta MySQL.
__________________
Aprendiendo!!!
  #6 (permalink)  
Antiguo 08/10/2012, 14:42
 
Fecha de Ingreso: septiembre-2008
Mensajes: 257
Antigüedad: 15 años, 7 meses
Puntos: 4
Respuesta: Como pasar datos a una pagina contenida en un iframe

Algo que no entiendo es cuando dice "Sin recargar la pagina la funcion ajax mostrara en el div resultados los resultados de tu consulta MySQL. "

Entonces solo me faltaria recargar el iframe o a que se ferier..gracias...
  #7 (permalink)  
Antiguo 08/10/2012, 14:46
Avatar de anacona16  
Fecha de Ingreso: marzo-2010
Ubicación: Bogota DC
Mensajes: 610
Antigüedad: 14 años, 1 mes
Puntos: 52
Respuesta: Como pasar datos a una pagina contenida en un iframe

En el ejemplo que te mostre no uso ningún iframe, ahora te pregunto necesitas el iframe para algo especial o solo para mostrar los resultados?

En mi ejemplo cambio el iframe por el div resultados.

Y si, la función ajax envia lo que haya digitado el campo de texto cuando se de click en el boton, una vez se envie, la funcion ajax recibe un resultado de esa llamada por eso lo de success: function(data) en la variable data esta la informacion que se imprime el buscar.php esta informacion se toma y se pone en ese div.
__________________
Aprendiendo!!!
  #8 (permalink)  
Antiguo 08/10/2012, 14:52
Avatar de Reedyseth  
Fecha de Ingreso: enero-2009
Ubicación: Chihuahua, México
Mensajes: 419
Antigüedad: 15 años, 2 meses
Puntos: 36
Respuesta: Como pasar datos a una pagina contenida en un iframe

La propuesta de anacando16 es lo primero que pense y es la mas acertada para cargar contenido por Ajax, pero que tal si en realidad lo quisieras en un iframe ?? digo no es para hechar tierra pero esta interesante para seguir con el tema y aprender :D
  #9 (permalink)  
Antiguo 08/10/2012, 15:00
 
Fecha de Ingreso: septiembre-2008
Mensajes: 257
Antigüedad: 15 años, 7 meses
Puntos: 4
Respuesta: Como pasar datos a una pagina contenida en un iframe

Si en realidad el iframe lo puse solo para mostrar el buscar.php..pero si lo reemplazo por el div q menciona anacona16 deberia funcionar igual, aunq lo implemente y me lanza una este error..

Error en query: , el error es: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

Creo q es algun campo de la base voy a revisar..
  #10 (permalink)  
Antiguo 08/10/2012, 15:03
Avatar de anacona16  
Fecha de Ingreso: marzo-2010
Ubicación: Bogota DC
Mensajes: 610
Antigüedad: 14 años, 1 mes
Puntos: 52
Respuesta: Como pasar datos a una pagina contenida en un iframe

Si, lo que te puse es un ejemplo ya tendras que adaptarla a tus necesidades.
__________________
Aprendiendo!!!
  #11 (permalink)  
Antiguo 08/10/2012, 15:08
Avatar de Reedyseth  
Fecha de Ingreso: enero-2009
Ubicación: Chihuahua, México
Mensajes: 419
Antigüedad: 15 años, 2 meses
Puntos: 36
Respuesta: Como pasar datos a una pagina contenida en un iframe

De todos modos para agregar mas a tu post te voy a poner como hacerlo con el iframe si es así que es lo que deseas hacer o si tu cabeza esta dando vueltas con jQuery, pero si te recomiendo que aprendas jQuery que te va a quitar muchos problemas de encima.

Bueno pasando a tu pregunta, supongamos que tenemos un html donde esta el input donde se va a hacer el post que luce como el siguiente:

toIframe.html:

Código HTML:
Ver original
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  2. "http://www.w3.org/TR/html4/loose.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4.     <head>
  5.         <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  6.         <title>SITE</title>
  7.         <style type="text/css" media="screen">
  8.             html, body {
  9.                 background-color: #000;
  10.             }
  11.         </style>
  12.     </head>
  13.     <body>
  14.         <h1>no text file</h1>
  15.        <form action="buscar.php" method="post" target="buscar">
  16.             <input type="text" name="contenido"/>
  17.         <input type="submit" name="setvideo" Value="buscar"/>
  18.        </form>
  19.        <br>
  20.         <iframe id="buscar" src="buscar.php"></iframe>
  21.     </body>
  22. </html>

y este es el código del iframe, buscar.php:
Código HTML:
Ver original
  1. <?php
  2.      if (isset($_POST['contenido'])){
  3.         echo$_POST['contenido'];
  4.     };
  5. ?>
  6. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  7. "http://www.w3.org/TR/html4/loose.dtd">
  8. <html xmlns="http://www.w3.org/1999/xhtml">
  9.     <head>
  10.         <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  11.         <title>SITE</title>
  12.        <style type="text/css" media="screen">
  13.             html, body {
  14.                 background-color: #fff;
  15.             }
  16.         </style>
  17.     </head>
  18.     <body>
  19.         <h1>Este es mi iframe</h1>
  20.        
  21.     </body>
  22. </html>

Con este código cuando te hagas el post se ira a tu iframe y se refrescará con la nueva información.

Puntos importantes a remarcar:
  • el post se hace a tu iframe en action="buscar.php"
  • para que tu información se vaya al iframe usamos el atributo target="buscar" donde buscar es el id de tu iframe.

espero que con eso sea respondida tu pregunta, ya que preguntaste como enviar la información a un iframe.
  #12 (permalink)  
Antiguo 08/10/2012, 15:12
Avatar de anacona16  
Fecha de Ingreso: marzo-2010
Ubicación: Bogota DC
Mensajes: 610
Antigüedad: 14 años, 1 mes
Puntos: 52
Respuesta: Como pasar datos a una pagina contenida en un iframe

Es una solución mas facil, y totalmente valida.
__________________
Aprendiendo!!!
  #13 (permalink)  
Antiguo 08/10/2012, 15:18
 
Fecha de Ingreso: septiembre-2008
Mensajes: 257
Antigüedad: 15 años, 7 meses
Puntos: 4
Respuesta: Como pasar datos a una pagina contenida en un iframe

Gracias voy a revisar ya que en mi buscar.php tengo diseñado para que se cargue ahi toda la informacion...gracias creo q es justo lo que buscaba...
  #14 (permalink)  
Antiguo 08/10/2012, 15:47
Avatar de Reedyseth  
Fecha de Ingreso: enero-2009
Ubicación: Chihuahua, México
Mensajes: 419
Antigüedad: 15 años, 2 meses
Puntos: 36
Respuesta: Como pasar datos a una pagina contenida en un iframe

Cita:
Iniciado por sheshito Ver Mensaje
Gracias voy a revisar ya que en mi buscar.php tengo diseñado para que se cargue ahi toda la informacion...gracias creo q es justo lo que buscaba...
Pero no olvides checar jQuery, así como anaconda16 se fue por ese camino, yo también lo hubiera tomado.
  #15 (permalink)  
Antiguo 08/10/2012, 15:55
Avatar de anacona16  
Fecha de Ingreso: marzo-2010
Ubicación: Bogota DC
Mensajes: 610
Antigüedad: 14 años, 1 mes
Puntos: 52
Respuesta: Como pasar datos a una pagina contenida en un iframe

Cita:
Iniciado por Reedyseth Ver Mensaje
Pero no olvides checar jQuery, así como anaconda16 se fue por ese camino, yo también lo hubiera tomado.
Es anacona16
__________________
Aprendiendo!!!
  #16 (permalink)  
Antiguo 08/10/2012, 16:18
Avatar de Reedyseth  
Fecha de Ingreso: enero-2009
Ubicación: Chihuahua, México
Mensajes: 419
Antigüedad: 15 años, 2 meses
Puntos: 36
Respuesta: Como pasar datos a una pagina contenida en un iframe

A si si, jejeje :p sin la 'd'
  #17 (permalink)  
Antiguo 08/10/2012, 16:47
 
Fecha de Ingreso: septiembre-2008
Mensajes: 257
Antigüedad: 15 años, 7 meses
Puntos: 4
Respuesta: Como pasar datos a una pagina contenida en un iframe

Estuve revisando el codigo que puso anacona16, y lo que veo es que el dato que ingreso en el input text no se esta pasando a buscar.php, ya estuve trando de modificar el code para lograr enviar la variable para hacer la busqueda pero la variable esta vacia...cual podra ser el problema...si en el form action de la pagina pricincipal le pongo action="buscar.php" pasa la variable pero este buscar.php se me habre en el navegador y eso no es lo que quiero...espero su ayuda...gracias...
  #18 (permalink)  
Antiguo 08/10/2012, 16:50
Avatar de anacona16  
Fecha de Ingreso: marzo-2010
Ubicación: Bogota DC
Mensajes: 610
Antigüedad: 14 años, 1 mes
Puntos: 52
Respuesta: Como pasar datos a una pagina contenida en un iframe

En el código que te puse el campo de texto y el boton no están dentro de un form.
__________________
Aprendiendo!!!
  #19 (permalink)  
Antiguo 08/10/2012, 17:16
 
Fecha de Ingreso: septiembre-2008
Mensajes: 257
Antigüedad: 15 años, 7 meses
Puntos: 4
Respuesta: Como pasar datos a una pagina contenida en un iframe

Si ya lo puse dento del form pero nada q envia..la variable llega vacia..alguna idea..
  #20 (permalink)  
Antiguo 08/10/2012, 17:28
Avatar de anacona16  
Fecha de Ingreso: marzo-2010
Ubicación: Bogota DC
Mensajes: 610
Antigüedad: 14 años, 1 mes
Puntos: 52
Respuesta: Como pasar datos a una pagina contenida en un iframe

No lo tienes que poner dentro del form...
__________________
Aprendiendo!!!
  #21 (permalink)  
Antiguo 08/10/2012, 17:34
 
Fecha de Ingreso: septiembre-2008
Mensajes: 257
Antigüedad: 15 años, 7 meses
Puntos: 4
Respuesta: Como pasar datos a una pagina contenida en un iframe

si no lo pongo en el form no hace nada...
  #22 (permalink)  
Antiguo 08/10/2012, 17:37
Avatar de anacona16  
Fecha de Ingreso: marzo-2010
Ubicación: Bogota DC
Mensajes: 610
Antigüedad: 14 años, 1 mes
Puntos: 52
Respuesta: Como pasar datos a una pagina contenida en un iframe

Si lo hace, tienes firebug, mira la peticion que se hace al presionar el boton, la idea de hacerlo con ajax es que no te recargue la pagina, muestra tu codigo para poder ayudarte mejor.
__________________
Aprendiendo!!!
  #23 (permalink)  
Antiguo 08/10/2012, 17:49
 
Fecha de Ingreso: septiembre-2008
Mensajes: 257
Antigüedad: 15 años, 7 meses
Puntos: 4
Respuesta: Como pasar datos a una pagina contenida en un iframe

Bueno algo q no mencione es que tengo un joomla y dentro de el estoy metiendo paginas php, es decir en un articulo cargo una pagina php...quiza sera es el problema...??
  #24 (permalink)  
Antiguo 08/10/2012, 17:54
 
Fecha de Ingreso: septiembre-2008
Mensajes: 257
Antigüedad: 15 años, 7 meses
Puntos: 4
Respuesta: Como pasar datos a una pagina contenida en un iframe

este es el codigo en mi pagina donde tengo el iframe


Cita:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<script type="text/javascript">
$('#busca').click(function(){
$.ajax({
type : 'post',
data : 'busqueda=' + $('#busqueda').val(),
url : 'buscar.php',
success : function(data)
{
$('#resultados').html(data)
}
});
});
</script>
<body>
<form name="buscar" method="POST" action="">

<div id='resultados'></div>

<div class="divcentro">
Seleccione un campo para la búsqueda: <p>
<select name="categoria">
<option>Nombre</option>
<option>Apellido</option>
<option>Cédula</option>
</select>

<input type="text" value="" name="busqueda" id="busqueda" />
<input type="submit" id="busca" value="buscar" />
</div>


<div id="capadiv" style="display:block;">
<iframe src="buscar.php" id="ver" style="border-width: 0px;width: 680px; height: 500px;background: #4F6497;"AllowTransparency>
</iframe>
</div>

</form>
</body>

</html>
</head>
  #25 (permalink)  
Antiguo 08/10/2012, 17:55
Avatar de anacona16  
Fecha de Ingreso: marzo-2010
Ubicación: Bogota DC
Mensajes: 610
Antigüedad: 14 años, 1 mes
Puntos: 52
Respuesta: Como pasar datos a una pagina contenida en un iframe

Pues no deberia pasar, lo tiene online?
__________________
Aprendiendo!!!
  #26 (permalink)  
Antiguo 08/10/2012, 17:56
Avatar de anacona16  
Fecha de Ingreso: marzo-2010
Ubicación: Bogota DC
Mensajes: 610
Antigüedad: 14 años, 1 mes
Puntos: 52
Respuesta: Como pasar datos a una pagina contenida en un iframe

Mirando tu codigo, primero que todo no tiene un div resultados y tambien el buscar.php tiene que estar en la misma ruta que tu archivo.
__________________
Aprendiendo!!!
  #27 (permalink)  
Antiguo 08/10/2012, 22:04
 
Fecha de Ingreso: septiembre-2008
Mensajes: 257
Antigüedad: 15 años, 7 meses
Puntos: 4
Respuesta: Como pasar datos a una pagina contenida en un iframe

No lo tengo online....y si tengo puesto el div resultado, y algo x mencionar, q en el div resultado no m muestra nada pero el iframe q tengo se actualiza y ahi m carga datos pero los que corresponden a un criterio q le pongo si dicho campo esta vacio cargue esos datos y carga eso...entonces ahi lo raro cuando digo q la variable no se esta pasando por eso me coje vacio y carga segun el criterio en mi consulta..
  #28 (permalink)  
Antiguo 09/10/2012, 10:39
 
Fecha de Ingreso: septiembre-2008
Mensajes: 257
Antigüedad: 15 años, 7 meses
Puntos: 4
Respuesta: Como pasar datos a una pagina contenida en un iframe

Les comento amigos que ya solucione el problema, y si en realidad el codigo q me paso anacona16 si funciona, el problema era que en mi pagina buscar.php tenia otras funciones las cuales estaban dando conflictos y por eso me daba error, hice una limpieza de codigo y todo de maravilla...gracias a todos...

Etiquetas: iframe
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 01:33.