Cristalab

Cómo realizar una búsqueda de Google con PHP y JavaScript

Por: Jatrix13 + 29.10.2007

En este Tip, veremos como hacer que un campo de texto en nuestra página utilizado para buscar, se redireccione al buscador de google y nos arroje los resultados allí encontrados.

Utilizaremos 2 documentos (campo.php y resul.php).

Para ello abrimos un documento nuevo en php, el cual yo he llamado campo.php, en donde incluiremos un formulario con un campo de texto y un botón (buscar).

Nos quedará algo como esto:



Algo muy sencillo, ahora, en las propiedades del formulario, en la parte “acción” vinculamos nuestro segundo documento llamado resul.php, debe quedar así:



Nota: nuestro campo de texto se llama textfield y esa será la variable que pasaremos por medio POST, llevando hasta resul.php el valor que ella guarda, es decir lo que el usuario ha digitado.

Ahora vamos a programar, creamos nuestro documento resul.php y pondremos este código:

En la primer línea de nuestro código php transformamos nuestra variable post y ahora se llamara $a.

Código :


$a=$_POST[textfield];


En la segunda línea la variable $url1, la utilizaremos para guardar lo siguiente: http://www.google.com.co/search?hl=es&q=

Esta parte es la que se encuentra en cualquier búsqueda que hagamos en google, de hecho no cambia y es por eso que podemos hacer esto.

Quedara así:

Código :


$url1="http://www.google.com.co/search?hl=es&q=";


Ahora la variable $url2, me almacenará el segundo valor constante en una búsqueda, el cual es el siguiente.

Código :


$url2="&btnG=Buscar&meta=";


Si nos damos cuenta, en cualquier búsqueda que hagamos en google, siempre irán estas dos composiciones, pero las separa la palabra que hemos ingresado para nuestra búsqueda, dicha palabra la hemos almacenado en la variable $a. Lo que haremos, será concatenar estas tres cadenas y crear una sola, para luego abrir nuestra página. La concatenación es muy sencilla, basta con separar cada variable con un punto ‘.’, dicho código será en su orden así:

Código :


$url=$url1.$a.$url2;


Ahora nuestro JS, el cual ira debajo de nuestro código php

Primero creamos una variable llamada pagina, en donde almacenaremos mediante php, nuestra url concatenada, así:

Código :


var pagina="<?php echo $url; ?>"


Ahora crearemos una función que cargará nuestra url para luego mostrarla

Código :


function redireccionar()
{
location.href=pagina
}


Ahora utilizaremos la funcion setTimeout la cual al hacer un llamado a nuestra funcion llamada redireccionar, mostrar la url que ella contiene.

El numero es el intervalo de tiempo que tardará nuestro resultado

Código :


setTimeout ("redireccionar()", 10);


Al final nuestro código quedara así:

Código :


<?php
$a=$_POST[textfield];
$url1="http://www.google.com.co/search?hl=es&q=";
$url2="&btnG=Buscar&meta=";
$url=$url1.$a.$url2;
?>
 


Código :


<script LANGUAGE="JavaScript">
var pagina="<?php echo $url; ?>"
function redireccionar()
{
location.href=pagina
}
setTimeout ("redireccionar()", 10);
</script>



La idea de ponerlo línea por línea era explicar paso a paso como se hacia, espero les sirva.

Saludos[/code]

Etiquetas javascript php

Comentarios | Enviar un comentario
muy buen e interesante tip Jatrix!
Por: penHolder
excelente miau
Por: eldervaz
Bueniiisimo!!!!!
Por: pabletein_blog
Excelente Jatrix!
Por: The Fricky!
Bien.. $a=$_POST[textfield]; está mal. debería ir así: $a=$_POST['textfield'];

También se podría hacer un form con los campos hidden para meta = "", hl = es, btnG=buscar .. y el text input para la busqueda, llamado Q y el form sea de método GET... quedando...

<form method="get" action="http://www.google.com.co/search">
Su busqueda: <input type="text" name="q" />
<input type="hidden" name="meta" value="" />
<input type="hidden" name="hl" value="es" />
<input type="submit" name="btnG" value="Buscar" />
</form>

probar y comentar =)
Por: Loon_logged_out_blog
mmm, a mi me funciono tal como lo puse.

Pero bien por tu intervencion, es valido Thumbs up
Por: Jatrix13
De todas las cosas que he visto esto me parece lo mas ridículo. Una cosas es tener buenas intenciones y otra cosas es hacer bien las cosas.

Primero que nada para hacer la búsqueda solo necesitas un formulario de la siguiente forma:

<form method="get" action="http://www.google.com/search">
Buscar: <input type="text" name="q" />
<input type="hidden" name="meta" value="" />
<input type="hidden" name="hl" value="es" />
<input type="submit" name="btnG" value="Buscar" />
</form>

Segundo, suponiendo que lo hacemos con PHP (que obviamente no es necesario) una vez recogida la variable a buscar y armado el URL por que no usar un header para redireccionar a Google?.

header("Location: ".$url);

Es decir si ya estas trabajando en PHP para que cargar una pagina con un javascript para luego recién redireccionar a Google.

No dudo de las buenas intenciones del autor, pero sinceramente con este tipo de "tips" lo que hace es confundir mas a los usuarios que recién están aprendiendo. Con este tipo de información se contribuye a perjudicar el desarrollo web de habla hispana.
Por: Moises_blog
Muy bien dicho, Moisés.
Por: Menulio_blog
Esto es solo para google o tambien para otros buscadores.. por ejemplo www.doceos.com, que es un buscador de eduación....

..No se si es factible hacerlo, mis conocimientos de programacion son un poco excasos..

De todas maneras Gracias por vuestra ayuda
Por: Raul Garcia_blog
moises me parece q lo puse yo mas arriba no ?
Por: Loon_blog
lo mismo digo, no me parece un gran tip
Por: Marko_blog
Necesito ayuda para redireccionae pagines de google erroneas

atentamente

Horacio Taricco
Por: anfitop@gmail.com_blog
estoy desde cero y quiero aprender a crear una base de dato que sea una busque de libros como hago
Por: manuel_blog
Deja un comentario
IMPORTANTE

Recuerda ser respetuoso, no insultes a otras personas, ni uses palabrotas, hay una persona al otro lado de la pantalla.

Habla bien, NO ESCRIBAS EN MAYUSCULA TODO, no escribas como en un SMS, evita cosas como "ke", "x q" y demás abreviaciones.

Aquí funcionan las etiquetas de los foros, puedes usar [b] para negrita, [img] para las imágenes, [url] para los enlaces, etc.

Si tienes preguntas técnicas, envíalas mejor al foro.