Foros del Web » Programando para Internet » PHP »

Problemas con formulario

Estas en el tema de Problemas con formulario en el foro de PHP en Foros del Web. Tengo un formulario que a través del método post le envías unos parámetros y te devuelve una página en XML con la respuesta correspondiente. El ...
  #1 (permalink)  
Antiguo 27/12/2011, 09:16
 
Fecha de Ingreso: junio-2011
Mensajes: 36
Antigüedad: 13 años, 5 meses
Puntos: 1
Problemas con formulario

Tengo un formulario que a través del método post le envías unos parámetros y te devuelve una página en XML con la respuesta correspondiente. El problema es el siguiente, cuando utilizo AJAX, ingreso al PHP de nombre formul.php.
Este archivo PHP es de la siguiente manera:

--------------------------------------formul.php-----------------------------------

<iframe src="formul.php" width=300 height=300></iframe>

<form style="display:none;" name="form" method="post" action="http://www.empreapi.php">
<input type="text" name="clave"><br>
<input type="text" name="user"><br>
<input type="submit" value="Enviar">

<script>
document.getElementById("form").submit();
</script>

---------------------------------------------------------------------------------------

Y el HTML que utiliza AJAX para llamar al formulario es el siguiente:

--------------------------------------inicio.html-------------------------------------

<html>
<head>

<script src="prototype.js" type="text/javascript"></script>

<script>

function recibirAjaxActualizar(){
new Ajax.Updater('contenidoajax', 'formul.php');
}

</script>

</head>

<body>
<div id="contenidoajax">Respuesta del formulario</div>
<p>
- <a href="javascript: recibirAjaxActualizar();">Formulario</a>
</body>
</html>

--------------------------------------------------------------------------------------

Si se ingresa directamente a formul.php manda esto como respuesta:

---------------------------------inicio.html-----------------------------------------

This XML file does not appear to have any style information associated with it. The document tree is shown below.
<files>
<infor>
<code>155736</code>
<datin>vendedor id=345 - ventas= 125</datin>
</infor>
</files>

---------------------------------------------------------------------------------------

Y por el action del formulario la dirección de la página que tiene como respuesta el XLM es "http://www.empreapi.php".

Por otro lado, esto manda la respuesta del AJAX:

--------------------------------------------------

155736
vendedor id=345 - ventas= 125

--------------------------------------------------

Esto mismo en un iframe dentro de inicio.html. En este caso se presenta sin las etiquetas que se encuentran en el XML. Lo que me gustaría es extraer la información que se encuentra dentro de "datin" y guardarla en una variable pero no lo consigo. Alguna idea de cómo se podría hacer?
  #2 (permalink)  
Antiguo 27/12/2011, 09:34
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 10 meses
Puntos: 288
Respuesta: Problemas con formulario

fijate que le falta el cierre del form
<iframe src="formul.php" width=300 height=300></iframe>

<form style="display:none;" name="form" method="post" action="http://www.empreapi.php">
<input type="text" name="clave"><br>
<input type="text" name="user"><br>
<input type="submit" value="Enviar">
</form>
<script>
document.getElementById("form").submit();
</script>

vos decis que obtenes el xml sin problemas pero queres extraer un datos en particular?

es muy largo tu post, hagamoslo breve
  #3 (permalink)  
Antiguo 27/12/2011, 10:15
 
Fecha de Ingreso: junio-2011
Mensajes: 36
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: Problemas con formulario

Sí, tienes razón me olvidé de ponerle "</form>"... En el original lo tengo puesto...
Si bien, soy nuevo en el foro por eso creí que siendo lo más explicativo posible sería lo mejor (por eso tan largo el post).

Lo que yo quisiera en realidad es que aparezca en una pagina (sin salir de ella) el resultado de un formulario que se presenta en este caso en XML. Y extraer de ella el dato "datin" que es lo que me interesaría para guardarlo en una variable.
  #4 (permalink)  
Antiguo 27/12/2011, 10:45
Avatar de fishdesign  
Fecha de Ingreso: abril-2011
Ubicación: Málaga
Mensajes: 389
Antigüedad: 13 años, 8 meses
Puntos: 95
Respuesta: Problemas con formulario

Échale un vistazo a esto, puede que te sea de ayuda:
http://blog.unijimpe.net/xml2array-php-xml-parser/
__________________
Web Designer.
Themes-Up!, próximamente
  #5 (permalink)  
Antiguo 27/12/2011, 14:55
Avatar de alguienmas  
Fecha de Ingreso: mayo-2009
Mensajes: 62
Antigüedad: 15 años, 7 meses
Puntos: 8
Respuesta: Problemas con formulario

Me parece que tu problema es que no haz puesto los header de xml en php por lo que el navegador cree que es html lo que esta recibiendo.
Espero esto te ayude.Saludos
  #6 (permalink)  
Antiguo 27/12/2011, 20:53
 
Fecha de Ingreso: junio-2011
Mensajes: 36
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: Problemas con formulario

fishdesign -> estuve leyendo la pagina que me recomendaste pero por lo visto es necesario saber el nombre del xml (o sea, archivo.xml) para poder utilizar la función que brinda o por lo menos eso fue lo que entendí...

alguienmas -> header de xml en php??? Cuál sería la modificación que tendría que hacer?
  #7 (permalink)  
Antiguo 27/12/2011, 21:20
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: Problemas con formulario

Para que el navegador interprete el xml tal vez bastaría con agregar al inicio:

<?xml version="1.0"?>

Y, para obtener el contenido de la etiqueta que deseas puedes usar expresiones regulares (PCRE) o PHP DOM
__________________
- León, Guanajuato
- GV-Foto
  #8 (permalink)  
Antiguo 30/12/2011, 08:14
 
Fecha de Ingreso: junio-2011
Mensajes: 36
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: Problemas con formulario

Amigos del foro, estuve verificando el colocar al comienzo del archivo "<?xml version="1.0"?>" pero aún así no lo resuelvo. Utilizo Ajax para que haga una petición a un archivo PHP y me muestre en pantalla el resultado de un form. Algo que me di cuenta es que al querer extraer el contenido del iframe con DOM me aparece:

<form action="..."
....
</form>

O sea el formulario sin cambios. Sin embargo, en la pantalla me está mostrando el resultado XML que me dio el formulario.

Me explico nuevamente por las dudas que no se haya entendido. Tengo en pantalla el resultado XML que devuelve el formulario dentro de un iframe. Intento extraer la información dentro del iframe con document.getElementById("......") y que se muestre en un alert pero se muestra el <form>...</form> en vez del resultado XML. A qué se puede deber?

Etiquetas: ajax-php, javascript
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 12:52.