30/10/2006, 09:25
|
| | | Fecha de Ingreso: diciembre-2002 Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 21 años, 11 meses Puntos: 1 | |
Este es el codigo completo del buscador Código PHP: <?
/********************************************************************
buscador.php - Programado por carlos arjona - [email protected]
Notas:
el buscador pide 2 variables pasadas por GET, y son las siguientes:
$sec -> esta define la seccion en la que buscaremos. Si se desea
buscar en todas las secciones hay que pasarle $sec = "TODAS"
$q -> esta variable es una cadena que contiene el texto de busqueda
Espero que este codigo te sea de ayuda, y si tienes algun problema no
dudes en contactar conmigo o simplemente en dejar un comentario en mi
pagina. De todos modos debo decirte que el codigo que aquí ves es
exactamente el mismo que utilizo para mi buscador, así que si a ti
te falla en alguna parte es probable que a mi tambien.
Debo hacer un apunte, y es que si el valor de $q es '%' lo que pasara
es que el buscador sacara todos los registros de todas las tablas en las
que tu permitas buscar, asi que te aconsejo que controles esto :)
********************************************************************/
$q=$_GET['q'];
$sec=$_GET['sec'];
// nombre de la base de datos
$DBNAME = "XXXXX";
// esta variable conecta con la base de datos, y requiere el nombre del host al que se desea
// conectar, el usuario y el password (sustituye las 3 variables por el valor correspondiente)
$link = mysql_connect("localhost", "root", "");
// variable que contara las coincidencias
$coincidencias = 0;
// caracteres minimos permitidos para la busqueda
$num_car_minimo = 2;
// estas variables se usan para enviar un email cuando se ha realizado una búsqueda
// Si $notificar es TRUE enviara el email.
$notificar = FAlSE;
$email_dest = "[email protected]";
$asunto = "Búsqueda en byte1024";
if(strlen($q) <= $num_car_minimo)
{
?>
<script type="text/javascript">
alert('El texto de consulta debe superar los <?echo $num_car_minimo;?> carácteres');
history.back();
</script>
<?
}
else
{
// enviamos el email si $notificar es cierto
if($notificar == TRUE)
mail($email_dest,$asunto,$q);
?>
<table width="100%" cellpadding="0" cellspacing="2">
<tr>
<td><!--<img src="imagenes/icono_buscar.gif" border="0">-->
<td width="90%">
<p class="titulo" align="center">Buscando "<i><?echo $q?></i>" en <b><?echo strtoupper($sec);?></b></p>
</td>
<td><!--<img src="imagenes/icono_buscar.gif" border="0">-->
</tr>
</table>
<br>
<?
/**************************************************************************************************/
// en este array guardaremos las tablas en las que permitiremos que se realice la busqueda
// por si los hackers... :o
$tablas = array("nacionales","regionales","politica");
// este array guarda simplemente las carpetas en las que el buscador puede acceder. Si al comprobar
// todos los elementos no encuentra ninguno igual a $sec, no busca
// esta variable solo la utiliza la funcion fileSearch()
//$dirs = array("sistemas","agronomia","directorio");
// en esta variable definiremos argumentos especiales que requiera la pagina php encontrada
// por ejemplo en las noticias siempre direccionaremos a noticias.php?sec=2&id=lokesea
// pues bien, tenemos que definir ese $sec de alguna forma
// el id=lokesea lo añade el buscador al generar el enlace
$paginas = array("articulos.php?sec=1&", "comentarios.php?sec=1&", "codfuente.php?sec=ALL&", "noticias.php?sec=2&");
// esta otra variable definira (con un valor numerico) que campo es el que define la descripcion
// que saldra en el enlace final que genera el buscador
$descs = array(1,4,2,2);
// esta variable definira cual es el identificativo de toda tabla. Por lo normal siempre sera
// el 0, pero pueden darse casos contrarios
$keys = array(0,0,0,0);
// aqui guardamos las extensiones de los ficheros que dejaremos que el buscador lea.
// Es recomendable restringir los ficheros .php o los que guarden cosas que no queremos que se vean
// pongo un ejemplo: si alguien busca "mysql_db_query" y aqui permitimos buscar en los ficheros .php
// nos habrán capturado el password
/*$valid_ext = array("html");
__________________ Miguel Padrón :cool:
Última edición por 8461277; 30/10/2006 a las 09:39 |