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
| |||
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 |
| ||||
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 |
| ||||
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 |
| ||||
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 |
| ||||
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 |
| ||||
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 |
| |||
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 |
| ||||
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. |
| ||||
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 |
| |||
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ó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">¿La direcció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áginas Amarillas</font> <input type="radio" name="conocido" value="new"> <font size="2" face="Courier New, Courier, mono">Perió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º Bloque de Datos: Elecció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étodos distintos de realizar su aviso de presupuesto:</font></p> <p align="left"><font size="2" face="Courier New, Courier, mono">1º. <font color="#FF0000"><strong>Tradicional.</strong></font></font></p> <p align="left"><font size="2" face="Courier New, Courier, mono">2ª. <font color="#FF0000"><strong>Virtual. Mas rá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> </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 |
| |||
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 |
| ||||
¿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í. |