Vie Sep 30, 2005 6:11 pm
|
|
|
| No me funciona el Buscador del tutorial... |
|
|
Hola!
Estoy intentando poner un buscador para un sitio pequeño, leí y use el tutorial que hay en este sitio pero no logro que funcione... solucione varias cosas que se me presentaron pero ahora no se como seguir...
En la pág donde deberían aparecer los resultado solo aparece la frase:
Para la búsqueda $query, estos resultados se encontraron:
En $query si aparece la palabra que puse en el buscador, pero no aparece el listado de los resultados...
alguna idea?
este es el link al tutorial http://perlenespanol.baboonsoftware.com/archives-tut/000138.html |
|
|
|
Vie Sep 30, 2005 8:40 pm
|
 |
kidd
Creador de Perl en Español

|
Registrado: 15 Oct 2003
Mensajes: 1389
Ubicación: México
|
|
|
|
|
Hola:
Lo que se me ocurre es que tengas una problema en la ruta y no encuentre ningún archivo. Intenta con palabras que sepa existen dentro del algún archivo e intenta de nuevo.
SALUDOS |
|
Vie Sep 30, 2005 11:35 pm
|
|
|
|
|
|
| estuve probando cosas y basandome en lo que me dice el log, me parece que el buscador fuciona bien... pero como no tiene un mensaje para cuando no encuentra nada directamente me lo deja vacio... ya probé ponendo palabras que se que estan, asi que creo que tenes razón, debe ser que esta mal la ruta... mañana voy a verificar que la ruta sea la correcta y les cuento.... GRACIAS! |
|
Lun Oct 03, 2005 7:04 am
|
|
|
|
|
|
Sigue sin funcionar . Me fijé y la ruta estaba bien escrita, pero sigue sin encontrar nada, obviamente puse a buscar palabras que sé que están.
Osea despues de que pongo buscar me aparece el cartelito de "Los resultads para la busqueda xxxx son los siguientes:" y ahí se queda.
Que puede ser?? |
|
Lun Oct 03, 2005 7:22 am
|
 |
kidd
Creador de Perl en Español

|
Registrado: 15 Oct 2003
Mensajes: 1389
Ubicación: México
|
|
|
|
|
Hola:
Se me ocurre la solución, cambia la parte que dice:
| Código: |
| return unless($_ =~ /\.html/i); |
por
| Código: |
| return unless($_ =~ /\.htm(l)?/i); |
Lo que suecede es que en la manera en la que está ahorita, solamente busca archivos .html, con este cambio va a buscar tanto archivos .html como los que son .htm.
SALUDOS |
|
Lun Oct 03, 2005 7:40 am
|
|
|
|
|
|
CAPO!!!!
ese era el problema!!
Ahora tengo otro.... me da los resultados, pero estan mal linkeados, osea en ves de linkearse a
"http://www.tu-pagina.com/el_archivo_que_corresponda.htm"
, mete en el medio el path que puse para que busque... asi...
"http://www.tu-pagina.com/home/domains/tu-pagina.com/web/el_archivo_que_corresponda.htm"
Pero si le saco el path no busca en donde debería... |
|

Lun Oct 03, 2005 11:18 am
|
 |
kidd
Creador de Perl en Español

|
Registrado: 15 Oct 2003
Mensajes: 1389
Ubicación: México
|
|
|
|
|
Hola:
Ya ví cual es el problema. Corregí el código, y así es como queda:
| Código: |
#!perl -w
use strict;
use File::Find;
use CGI qw(:standard);
my $query = param("query");
#VARS DE CONFIGURACIÓN
#LUGAR DONDE QUIERES BUSCAR. NO USES EL / FINAL
my $root_dir = '/home/user/public_html';
#URL DEL DIRECTORIO QUE VAS A BUSCAR. SIN EL / FINAL
my $url_dir = 'http://misitio.com';
print header();
print start_html();
print "\n<p>Para la búsqueda $query, estos resultados se encontraron:</p>\n<ol>\n";
undef $/;
find( sub {
return if($_ =~ /^\./);
return unless($_ =~ /\.htm(l)?/i);
stat $File::Find::name;
return if -d;
return unless -r;
open(FILE, "< $File::Find::name") or return;
my $string = <FILE>;
close (FILE);
return unless ($string =~ /\Q$query\E/i);
my $page_title = $_;
if ($string =~ /<title>(.*?)<\/title>/is){
$page_title = $1;
}
my $int_dir = $File::Find::dir;
$int_dir =~ s/$root_dir//i;
my $url = $url_dir . $int_dir . "/" . $_;
print "<li><a href=\"$url\">$page_title</a></li>\n";
}, $root_dir);
print "</ol>\n";
print end_html();
exit(1);
|
Lo que tienes que cambiar son las dos variables de configuración.
$root_dir - Aquí debes de poner la ruta al directorio que quieres buscar. Debes de checar que no pongas el / final.
$url_dir - El URL al directorio que vas a buscar. De igual manera no debes de poner el / final.
SALUDOS |
|

Lun Oct 03, 2005 11:43 am
|
 |
kidd
Creador de Perl en Español

|
Registrado: 15 Oct 2003
Mensajes: 1389
Ubicación: México
|
|
|
|
Lun Oct 03, 2005 12:48 pm
|
|
|
|
|
|
GRACIAS!!!!
funciona perfecto! |
|
Dom Nov 27, 2005 2:05 pm
|
|
|
| No BUSCA NADA :( |
|
|
| amigos tengo un problema el buscador no busca nada no se que pasa pero lo hize todo y sale estos son la busdas y nada mas mi URL es http://www.ashton.yuukis.com ayudaneme ps lo necesito sy gracias por el Scripts |
|
Dom Nov 27, 2005 7:48 pm
|
 |
kidd
Creador de Perl en Español

|
Registrado: 15 Oct 2003
Mensajes: 1389
Ubicación: México
|
|
| Re: No BUSCA NADA :( |
|
|
| Juniors escribió: | | amigos tengo un problema el buscador no busca nada no se que pasa pero lo hize todo y sale estos son la busdas y nada mas mi URL es http://www.ashton.yuukis.com ayudaneme ps lo necesito sy gracias por el Scripts |
Intente probarlo pero parece que el CGI no existe, estás seguro es que la ruta correcta?
También checa que hayas hecho el upload del archivo como tipo ASCII y que los permisos estén en 755.
SALUDOS |
|

Jue Dic 22, 2005 9:20 am
|
|
|
| A mi tampoco me funciona |
|
|
Hola:
Ya también instalé el buscador y no me funciona, me da el mismo mensaje de que "se encontraron los siguientes resultados", creo tener todo en orden, esta es mi liga http://www.artecinema.com.mx/buscador.html
Mi proveedor de hosting me dio esta información:
Your site is hosted on clust03.powweb.com.
ServerName: http://artecinema.com.mx
Temp URL: http://arte1623.temp.powweb.com
Secure URLs: https://arte1623.secure.powweb.com
https://artecinemacommx.secure.powweb.com
Use the SSL URL you prefer. Both URL's go to your site.
CGI: Enabled User: arte1623
CGI allows you to run scripts written in perl, php, or another program language to create dynamic content for your website.
Document Root: /www/a/r/artecinema.com.mx/htdocs
Actual Path: /www/a/arte1623/htdocs
The Document Root/actual path is useful to know when configuering CGI scripts and cron jobs.
Logs: This information is now in site tools.
FrontPage: [ Install ]
*****
Y mi código del cgi es el siguiente:
#!/usr/bin/perl -w
use strict;
use CGI qw(:standard);
my $query = param("query");
my $root_dir = '/www/a/artecinema.com.mx/htdocs';
my $url_dir = 'http://artecinema.com.mx';
print header();
print start_html();
print "\n<p>Para la búsqueda $query, estos resultados se encontraron:</p>\n<ol>\n";
undef $/;
find( sub {
return if($_ =~ /^\./);
return unless($_ =~ /\.htm(l)?/i);
stat $File::Find::name;
return if -d;
return unless -r;
open(FILE, "< $File::Find::name") or return;
my $string = <FILE>;
close (FILE);
return unless ($string =~ /\Q$query\E/i);
my $page_title = $_;
if ($string =~ /<title>(.*?)<\/title>/is){
$page_title = $1;
}
my $int_dir = $File::Find::dir;
$int_dir =~ s/$root_dir//i;
my $url = $url_dir . $int_dir . "/" . $_;
print "<li><a href=\"$url\">$page_title</a></li>\n";
}, $root_dir);
print "</ol>\n";
print end_html();
exit(1);
****
Ojalá alguien me pueda orientar pues el buscador nomás no arroja ningún resultado |
|

Jue Dic 22, 2005 11:46 am
|
|
|
| ya pude pero... |
|
|
Hola:
Ya pude hacerlo funcionar, ahora tengo dos dudas:
1.- Cómo cambio el formato del texto, digamos que ponerle tamaño y fuente.
2.- Cómo hago para que los resultados los muestre en una ventana nueva o en algún otro frame |
|

Jue Dic 22, 2005 1:22 pm
|
 |
kidd
Creador de Perl en Español

|
Registrado: 15 Oct 2003
Mensajes: 1389
Ubicación: México
|
|
| Re: ya pude pero... |
|
|
| Pepe escribió: | Hola:
Ya pude hacerlo funcionar, ahora tengo dos dudas:
1.- Cómo cambio el formato del texto, digamos que ponerle tamaño y fuente.
2.- Cómo hago para que los resultados los muestre en una ventana nueva o en algún otro frame |
Para cambiar el formato todo lo que tienes que hacer es poner un CSS y en el puedes cambiar el estilo de los list items li, por ejemplo:
| Código: |
LI{
color:blue;
font-size:9pt;
}
|
Para lo otro busca la línea que dice:
| Código: |
| print "<li><a href=\"$url\">$page_title</a></li>\n"; |
Y cambiala por:
| Código: |
| print "<li><a href=\"$url\" target=\"_blank\">$page_title</a></li>\n"; |
SALUDOS |
|
Jue Dic 22, 2005 3:24 pm
|
|
|
| No jaló |
|
|
| Muchas gracias por la respuesta, pero qué crees?, nomás no me jala eso de que me abra en página nueva |
|
Powered by phpBB © 2001, 2005 phpBB Group
|