Problema con un formulario METHOD=POST

Hola, buenas tardes!
Mira, tengo un problemilla con una especie de buscador web que quiero hacer. Te comento...
Tengo una página web normal, con un formulario normal llamado así:
<form name="formulario" method="POST" action="http://www.cualquiercosa.com/PorEjemplo/SearchRedirect.aspx?country=EN-GB&lc=EN-GB" target="_blank">
Lo que me hace esto es mandar los datos desde mi formulario a la web www.cualquiercosa.com (esta hace una búsqueda utilizando mis datos), y se abre esta web con los resultados de la búsqueda. Hasta aquí todo bien.
Ahora bien, lo que yo quiero es: NO abrir la web www.cualquiercosa.com y mostrar el resultado de la búsqueda. Porque quiero mostrar YO, desde mi propia web, solamente algunos resultados, pero que no se abra la web del action.
Yo había pensado en que seguramente habrá alguna manera de capturar en un String por ejemplo todo el contenido de esa web sin abrirla, y luego ir parseándola como yo quiera. No se como, a partir el target o no se, la verdad, ando muy perdido.
¿Tu cómo lo ves? ¿Cómo crees que podría hacerlo?
Cualquier orientación me sería de gran ayuda!
Muchísimas gracias de antemano!

1 respuesta

Respuesta
1
Mm, ¿tienes acceso a la base de datos remota?
Pues no, no tengo acceso. Por eso tengo que hacer el POST a
http://www.cualquiercosa.com/PorEjemplo/SearchRedirect.aspx?country=EN-GB&lc=E 
sino pues trataría directamente con la bd remota. Ahí está el problema, pero ya te digo, haciendo el post que te digo, la página que se abre es correcta, con la búsqueda bien hecha.
Pero lo que yo quiero es tratar la información antes de mostrarla.
Muchas gracias!
A ver, ¿quieres tratar la info que te envía el formulario? Si es así, primero tendrías que enviártelo a un archivo php en tu servidor, procesarla generando un formulario con inputs ocultos usando el mismo php la info la puedes alterar, supongamos, que recibo en este php una info de un name=("nombre") y de input("apellido") y quiero meterlos como fullname
<?php
if(!isset($_GLOBALS['fullname'])){
    $_GLOBALS['fullname'];
}
$_GLOBALS['fullname'] = $_POST['nombre'] . " " . $_POST['apellido'];
?>
<for action="htp://www.cualquiercosa.com/proceso.php" method="POST" name="form1">
    <input type="hidden" name="fullname" value="<?php echo $_GLOBALS['fullname']; ?> ">
</form>
<script> document.fom1.submit();</script>
// Este código no ha sido probado pero la idea es esa
La verdad es que no es eso lo que yo necesito. Digamos que el formulario está en mi servidor. Luego con el post se envían los datos de ese formulario a un servidor externo.
Allí se realiza una búsqueda en una bd que yo ignoro totalmente como hace la búsqueda ni como trata los datos, porque ni tengo acceso a la bd ni se como recoge los datos ni nada, pero me da igual. Yo solo se que le mando los datos del formulario y me devuelve una página web con el resultado de la búsqueda.
Entonces, lo que yo necesito es que NO se abra esta página con los resultados. Necesito capturar esos datos y mostrarlos yo a mi manera.
Lo que no consigo hacer es que NO se abra la página con los resultados. Debería poder capturar TODA la página tal cual y meterla en un String por ejemplo.
Mm, creo que te metes en camisas de oncev aras, mira, la info que te da como resultado el servidor es una respuesta del servidor traducida en html para ser mostrada, puedes solo tomar el contenido que te regresa en html, pero así nomas estaría en chino tomar la info automáticamente de la página si no tienes referencia a "de donde tomarla", al menos que cada fila tuviera un id, peor si es muy complejo, existe el objeto innerHTML ue te retorna todo el contenido de la página Web y puedes cambiarlo, esto te permitiría tomar el archivo resultante y transformarlo pero creme que no sera tan fácil, bueno, ya con el objeto innerHTML podrías accesar por ejemplo a las tablas existentes utilizando funciones como getElementByTag() de javascript y obtendrías los valores en un objeto DOM, por ejemplo, ya que tienes el objeto que contienen todo el html utilizas getElementsByTagName("table") para retornar todas las tablas existentes
y si la tabla tiene nombre pues aun más fácil, utilizas getElementById() con el nombre de la tabla
ya de ahí ya podrás accesar a cada fila y a cada columna, no se exactamente el procedimiento pero se que solo así podrías accesar a la página sin accesar a la db

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas