Foros del Web » Programando para Internet » PHP »

iframe y php

Estas en el tema de iframe y php en el foro de PHP en Foros del Web. alguien sabe si es incompatible los iframe con php? no se porque pero cuando inserto un iframe en mi pagina no se meten los datos ...
  #1 (permalink)  
Antiguo 02/01/2003, 10:58
 
Fecha de Ingreso: enero-2002
Mensajes: 838
Antigüedad: 22 años, 3 meses
Puntos: 1
iframe y php

alguien sabe si es incompatible los iframe con php?

no se porque pero cuando inserto un iframe en mi pagina no se meten los datos a la tabla de mysql.

un saludo


gracias
  #2 (permalink)  
Antiguo 02/01/2003, 11:03
Avatar de chalito  
Fecha de Ingreso: diciembre-2002
Ubicación: Santiago, chile
Mensajes: 221
Antigüedad: 21 años, 4 meses
Puntos: 0
claro que son compatibles, pero talves estas confundiendo algo, cuando insertas un <iframe> en tu pagina, los codigos de ambas no se juntasn y no se ven, a menos que trabajes con javasript, por lo que si en la pagina madre usas variables que tambien usa el <iframe> estas en un error, debes declarar para el iframe aparte la coneccion con la base de datos el codigo sql la consulta todo, pues nunca deja de ser una pagina aparte

Saludos
  #3 (permalink)  
Antiguo 02/01/2003, 11:09
 
Fecha de Ingreso: enero-2002
Mensajes: 838
Antigüedad: 22 años, 3 meses
Puntos: 1
no me entero...

no me entero de nada...

entonces en una misma pagina en la inserto datos a una tabla no puedo meter un iframe?

yo lo que intento hacer es q mediante un radiobutton me salga uno u otro iframe, pero tambien quiero q se me almacene el valor del radiobutton seleccionado en la tabla.

eso no se puede hacer?

alguna idea?


un saludo
  #4 (permalink)  
Antiguo 02/01/2003, 11:18
Avatar de chalito  
Fecha de Ingreso: diciembre-2002
Ubicación: Santiago, chile
Mensajes: 221
Antigüedad: 21 años, 4 meses
Puntos: 0
bueno si quieres almacenar el valor del radiobuton debes tenerlo dentro de un <form> y procesar esos datos en alguna pagina, ya sea recargando la misma pagina y psando el valor por post o get, o en el iframe, pero debes de procesar en alguna parte esos datos

Saludos
  #5 (permalink)  
Antiguo 02/01/2003, 11:23
 
Fecha de Ingreso: enero-2002
Mensajes: 838
Antigüedad: 22 años, 3 meses
Puntos: 1
no me entero

el radiobutton lo tengo dentro de un form, pero no entiendo eso de que tengo q pasar los datos a otra pagina, no se pueden insertar automaticamente en la tabla de mysql?
  #6 (permalink)  
Antiguo 02/01/2003, 11:47
Avatar de chalito  
Fecha de Ingreso: diciembre-2002
Ubicación: Santiago, chile
Mensajes: 221
Antigüedad: 21 años, 4 meses
Puntos: 0
pues calro que no.
dentro del form deves tener el action="pagina.php" donde pagina.php es la pagina que procesa los datos enviados por el formulario, si tienes un radio buton con el nombre por ejemplo, miRadio, al selecionar uno y dar submit deber llegar a la pagina del action y ahi se crea auotmaticamnte la variable $miRadio con el valor que seleciono el usuario en el form, luego ahi es donde debes ingresar los datos, claro, esto puedes hacerlo todo en una misma pagina, es decir, que al dar submir actualize finalemnte la misma, pero en ella debes tener un if preguntando si existe o no la variable y dado ello es lo que haces.

Saludos
  #7 (permalink)  
Antiguo 02/01/2003, 11:50
 
Fecha de Ingreso: enero-2002
Mensajes: 838
Antigüedad: 22 años, 3 meses
Puntos: 1
y...

no hay forma de hacerlo mas facil por el lado del iframe, en lugar de hacer tanta cosa con los datos?
  #8 (permalink)  
Antiguo 02/01/2003, 12:32
Avatar de chalito  
Fecha de Ingreso: diciembre-2002
Ubicación: Santiago, chile
Mensajes: 221
Antigüedad: 21 años, 4 meses
Puntos: 0
sea cual sea el metodo que vayas a ocupar, para procesar los datos debes hacerlo en una pagina que se cargue al dar submit, si quieres puedes hacer que la pagina que se regargue sea el ifram, pero para ello debes ocupar javascrip tambien

Saludos
  #9 (permalink)  
Antiguo 02/01/2003, 12:51
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 7 meses
Puntos: 381
Hola,

yo de php estoy pez así que no meteré aquí mi cuchara.

pero chalito, quizás te ayude ver que el tema viene de aquí

http://www.forosdelweb.com/showthrea...hreadid=109301

Hasta ahí le ayudé yo.
Ya en php me pierdo

saludos a ambos
  #10 (permalink)  
Antiguo 03/01/2003, 07:13
 
Fecha de Ingreso: enero-2002
Mensajes: 838
Antigüedad: 22 años, 3 meses
Puntos: 1
sigo igual

ok, si le pongo q en el submit carge el iframe, como le digo q dependiendo de lo q seleccionó en el radiobutton carge uno u otro?
  #11 (permalink)  
Antiguo 03/01/2003, 07:16
 
Fecha de Ingreso: enero-2002
Mensajes: 838
Antigüedad: 22 años, 3 meses
Puntos: 1
gracias

gracias tunait por echarme una mano ¡¡¡
  #12 (permalink)  
Antiguo 03/01/2003, 07:16
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 7 meses
Puntos: 381
Hola xias,

yá lo dice aquí;

<input type="radio" name="pepe" onClick="this.form.action='http://www.yahoo.es/';this.form.target='iframeUno'">
<input type="radio" name="pepe" onClick="this.form.action='http://www.yahoo.com/';this.form.target='iframeDos'">

Lo que está en negritas

Cita:
gracias tunait por echarme una mano
  #13 (permalink)  
Antiguo 03/01/2003, 07:28
 
Fecha de Ingreso: enero-2002
Mensajes: 838
Antigüedad: 22 años, 3 meses
Puntos: 1
nada...

no hay manera, el iframe me funciona a la perfeccion pero no me inserta los valores en la tabla.

q te parece lo q le he comnetado antes a chalito, te parece viable?

un saludo


muchas gracias
  #14 (permalink)  
Antiguo 03/01/2003, 07:33
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 7 meses
Puntos: 381
Bueno, si no he entendido mal a chalito lo que te propone es precisamente lo que estás haciendo.

Creo que lo que es la parte de cliente te funciona ok. Yo me fijaría en el código del lado servidor.

Pero ahí no te puedo ayuar, pues estoy pez en php, nunca lo he usado (aún)

El hecho de que el resultado te lo muestre en un iframe, en un pop-up o en la misma ventana (es decir, el target) no ha de influír para nada a la hora de mandar datos a la BD.

Creo que lo apropiado sería que pusieras el código de tu página php que te gestiona y envía a la BD tu formulario a ver si entre todos le encontrais dónde está el bug.

  #15 (permalink)  
Antiguo 03/01/2003, 07:38
 
Fecha de Ingreso: enero-2002
Mensajes: 838
Antigüedad: 22 años, 3 meses
Puntos: 1
pero..

yo no quiero mostrar en el iframe los resultado, sino otra pagina distinta.
  #16 (permalink)  
Antiguo 03/01/2003, 07:43
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 7 meses
Puntos: 381
Eso no importa, el problema debe de estar en el php a donde mandas el formulario. Algo pasa que o bien no te recoge bien los valores del formulario o bien al enviar a la BD algo pasa.

Pon el código de tu php, es mi consejo
  #17 (permalink)  
Antiguo 03/01/2003, 07:46
 
Fecha de Ingreso: enero-2002
Mensajes: 838
Antigüedad: 22 años, 3 meses
Puntos: 1
a ver... este es mi codigo.

a ver este el codigo q tengo en mi página, excepto la cconexion con la bd-select, insert...-), y en negrita los radiobutton:

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#cccccc" leftmargin="15" topmargin="20">
<form method="post" name="form1" action="<?php echo $editFormAction; ?>">
<table width="546" border="1" align="left" bordercolor="#000000">
<tr valign="middle">
<tr valign="middle" bgcolor="#666666">
<td height="30" colspan="8" align="right" nowrap> <div align="left"> <strong><font color="#FFFFFF" face="Courier New, Courier, mono">1er
Bloque de Datos: Datos Generales</font></strong> </div>
<tr></tr>
<td height="32" colspan="2" align="right" nowrap bgcolor="#999999"> <div align="left"><font size="2" face="Courier New, Courier, mono">Nombre</font></div></td>
<td colspan="2"> <input type="text" name="nombre" value="" size="25"></td>
<td colspan="2" bgcolor="#999999"><font size="2" face="Courier New, Courier, mono">Persona
de contacto </font></td>
<td colspan="2"> <input type="text" name="contacto" value="" size="32"></td>
</tr>
<tr valign="middle">
<td height="34" colspan="2" align="right" nowrap bgcolor="#999999"> <div align="left"><font size="2" face="Courier New, Courier, mono">Domicilio</font></div></td>
<td colspan="2"> <input type="text" name="domicilio" value="" size="25"></td>
<td colspan="2" bgcolor="#999999"><font size="2" face="Courier New, Courier, mono">Poblaci&oacute;n-Provincia</font></td>
<td colspan="2"> <input type="text" name="poblacion_provincia" value="" size="32"></td>
</tr>
<tr valign="middle">
<td width="20" height="35" align="right" nowrap bgcolor="#999999"> <div align="left"><font size="2" face="Courier New, Courier, mono">Cp</font></div></td>
<td width="69" align="right" nowrap> <div align="left">
<input name="cp" type="text" >
</div>
<div align="left"> </div></td>
<td width="59" align="right" nowrap bgcolor="#999999"> <div align="left"><font size="2" face="Courier New, Courier, mono">Email</font></div></td>
<td width="76" align="right" nowrap> <div align="left">
<input type="text" name="email" value="" size="15">
</div>
<div align="left"> </div>
<div align="left"></div></td>
<td width="65" align="right" nowrap bgcolor="#999999"> <div align="left"><font size="2" face="Courier New, Courier, mono">Telfno</font></div></td>
<td width="105" align="right" nowrap> <div align="left">
<input type="text" name="telefono" >
</div></td>
<td width="50" align="right" nowrap bgcolor="#999999"> <div align="left"><font size="2" face="Courier New, Courier, mono">Fax</font>
</div></td>
<td width="116" align="right" nowrap> <div align="left">
<input type="text" name="fax" >
</div></td>
</tr>
<tr align="center" valign="middle">
<td height="9" colspan="8" nowrap bgcolor="#000066"> </td>
</tr>
<tr valign="middle">
<td height="39" colspan="3" align="right" nowrap bgcolor="#999999"> <div align="left"><font size="2" face="Courier New, Courier, mono">&iquest;La
direcci&oacute;n de </font></div>
<div align="left"><font size="2" face="Courier New, Courier, mono">la
obra es la misma?</font></div></td>
<td colspan="5" align="right" nowrap> <div align="left">
<input name="conectado" type="radio" value="si">
<font size="2" face="Courier New, Courier, mono">Sí
<input type="radio" name="conectado" value="no" >
No
<input type="text" name="otra_direccion" value="" size="32">
</font></div></td>
</tr>
<tr valign="middle">
<td colspan="3" align="right" nowrap bgcolor="#999999"> <div align="left"><font size="2" face="Courier New, Courier, mono">Nos
ha conocido por</font></div></td>
<td height="36" colspan="5" align="right" nowrap> <div align="left">
<input name="conocido" type="radio"value="qdq">
<font size="2" face="Courier New, Courier, mono">QDQ
<input type="radio" name="conocido" value="pa">
P&aacute;ginas Amarillas</font>
<input type="radio" name="conocido" value="new">
<font size="2" face="Courier New, Courier, mono">Peri&oacute;dicos</font>
<input type="radio" name="conocido" value="ot">
<font size="2" face="Courier New, Courier, mono">Otro medio</font></div></td>
</tr>
<tr valign="middle" bgcolor="#000066">
<div align="left"></div>
</tr>
<tr valign="middle">
<td height="25" colspan="8" align="right" nowrap> </tr>
<tr valign="middle" bgcolor="#666666">
<td height="30" colspan="10" align="right" nowrap> <div align="left"><strong><font color="#FFFFFF" face="Courier New, Courier, mono">2&ordm;
Bloque de Datos: Elecci&oacute;n de presupuesto</font></strong> <font color="#FFFFFF">
</font></div></td>
</tr>
<tr valign="middle">
<td height="160" colspan="10" align="right" nowrap> <p align="left"><font size="2" face="Courier New, Courier, mono">Hay
dos m&eacute;todos distintos de realizar su aviso de presupuesto:</font></p>
<p align="left"><font size="2" face="Courier New, Courier, mono">1&ordm;.
<font color="#FF0000"><strong>Tradicional.</strong></font></font></p>
<p align="left"><font size="2" face="Courier New, Courier, mono">2&ordf;.
<font color="#FF0000"><strong>Virtual. Mas r&aacute;pido y eficaz.</strong></font></font></p>
<p align="left"><font color="#000000" size="2" face="Courier New, Courier, mono">Seleccione
el que prefiera: </font> <font size="2" face="Courier New, Courier, mono">
<input type="radio" name="tipo" value="tra" onClick="this.form.action='http://www.yahoo.es/';this.form.target='iframeUno'">
Tradicional
<input type="radio" name="tipo" value="vir" onClick="this.form.action='http://www.forosdelweb.com/';this.form.target='iframeUno'">
Virtual </font></p></td>
</tr>
<tr valign="middle">
<td height="21" colspan="10" align="right" nowrap> <div align="center">
<input name="submit" type="submit" value="Aceptar">
</div></td>
</tr>
<tr valign="middle">
<td height="22" colspan="10" align="right" nowrap> <div align="left">
<iframe name="iframeUno" width="300" height="200" border="no" MARGINWIDTH=0 MARGINHEIGHT=0 FRAMEBORDER="No"></iframe>
<script language="javascript">
top.iframeUno.document.write("<html><body bgcolor='#cccccc'></body></html>")
top.iframeUno.document.close()
</script>
</div>
</div></td>

</tr>
</table>


<input type="hidden" name="MM_insert2" value="form1">
<input type="hidden" name="MM_insert" value="form1">
</form>
<p>&nbsp;</p>
</body>
</html>
<?php
mysql_free_result($Recordset1);
?>



antes de meter el iframe me envia todos los datos a la tabla perfectamente, pero al meter el iframe, el iframe me funciona correctamente pero no me envia nada.

un saludo


gracias
  #18 (permalink)  
Antiguo 03/01/2003, 07:49
 
Fecha de Ingreso: enero-2002
Mensajes: 838
Antigüedad: 22 años, 3 meses
Puntos: 1
y este el codigo php.

<?php require_once('Connections/aviso.php'); ?>
<?php
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;

switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}

$editFormAction = $HTTP_SERVER_VARS['PHP_SELF'];
if (isset($HTTP_SERVER_VARS['QUERY_STRING'])) {
$editFormAction .= "?" . $HTTP_SERVER_VARS['QUERY_STRING'];
}

if ((isset($HTTP_POST_VARS["MM_insert"])) && ($HTTP_POST_VARS["MM_insert"] == "form1")) {
$insertSQL = sprintf("INSERT INTO datos_temporal (nombre, contacto, domicilio, poblacion_provincia, cp, email, telefono, fax, direccion_misma, otra_direccion, conocido_por, tipo_pto, fecha_hora) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, '$conectado', '$otra_direccion', '$conocido', '$tipo', now())",

GetSQLValueString($HTTP_POST_VARS['nombre'], "text"),
GetSQLValueString($HTTP_POST_VARS['contacto'], "text"),
GetSQLValueString($HTTP_POST_VARS['domicilio'], "text"),
GetSQLValueString($HTTP_POST_VARS['poblacion_provincia'], "text"),
GetSQLValueString($HTTP_POST_VARS['cp'], "int"),
GetSQLValueString($HTTP_POST_VARS['email'], "text"),
GetSQLValueString($HTTP_POST_VARS['telefono'], "int"),
GetSQLValueString($HTTP_POST_VARS['fax'], "int"),
GetSQLValueString($HTTP_POST_VARS['direccion_misma'], "text"),
GetSQLValueString($HTTP_POST_VARS['otra_direccion'], "text"),
GetSQLValueString($HTTP_POST_VARS['conocido_por'], "text"),
GetSQLValueString($HTTP_POST_VARS['tipo_pto'], "text"),
GetSQLValueString($HTTP_POST_VARS['fecha_hora'], "date"));


mysql_select_db($database_aviso, $aviso);
$Result1 = mysql_query($insertSQL, $aviso) or die(mysql_error());
}

mysql_select_db($database_aviso, $aviso);
$query_Recordset1 = "SELECT * FROM datos_temporal";
$Recordset1 = mysql_query($query_Recordset1, $aviso) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
?>


un saludo


gracias
  #19 (permalink)  
Antiguo 15/11/2003, 06:30
Avatar de peleo  
Fecha de Ingreso: noviembre-2003
Ubicación: Madrid
Mensajes: 37
Antigüedad: 20 años, 5 meses
Puntos: 0
¿Has probado a incluir un hidden con el nombre del iframe sin valor? Así la página que recibe la info identifica el contenido del iframe con una variable.
<input type="hidden" name="iframeUno" value="">
A mi me pasó algo parecido y lo solucioné así.
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:30.