Ringrazio Gm e Caciara, sicuro che mi metteranno in rilievo...
Dunque ragazzi, a grande richiesta riprendo l'argomento trattato in un thread di poco tempo fa
che sicuramente interesserà molti utenti: Come creare un motore di ricerca in PHP per il
proprio sito? Innanzitutto premetto che il mio script é qualcosa di molto rudimentale, che
non sfrutta le potenzialità di MySQL (ma questo può anche essere un pregio...), e che é
adatto solo a siti di dimensioni non esagerate, dato che l'indicizzazione delle pagine va
fatat a mano... Detto questo passiamo alla creazione dello script...
Iniziamo a creare la pagina web che conterrà il form di richiesta...
Il codice dovrà essere tipo questo:
Codice PHP:
<form name="cerca" action="motore.php" method="get">
<input type="text" name="cerca" value="Cosa vuoi cercare?">
<input type="submit" name="" value="Cerca!">
</form>
Salviamo la pagina come form.htm e passiamo oltre...
Creiamo ora un'altra pagina, quella che conterrà le parole chiave delle varie pagine, e la
chiamiamo definizioni.php...
Il codice dovrà essere tipo questo:
Codice PHP:
<?
$pc_index = array("index.php","Index","hfish","index","home","principale","indice");
$pc_altro = array("altro.php","Altro","hfish","altro","ancora","dipiu","evai");
...
?>
Passiamo ora alla spiegazione...
Dovrete scrivere una variabile per ogni pagina del vostro sito ($pc_index, $pc_altro...)
e dare i valori nel seguente modo:
Il primo elemento dovrà essere il percorso, relativo o assoluto, fate voi, della pagina in
questione...
Il secondo elemento dovrà essere ciò che comparirà stampato a schermo se la ricerca avrà
esito positivo...
Ho inserito un terzo elemento, uguale in ogni pagina (il mio nick...) per poter
torturare lo script, farlo lavorare a pieno regime ed avere un indicizzazione
completa di tutte le pagine: se volete, potete anche ometterlo...
Tutti gli altri elementi dovranno contenere le parole chiave della pagina, e dovranno essere
scritti tutti in minuscolo, capirete dopo il perché...
Passiamo ora a creare la pagina del motore vero e proprio: creiamo una nuova pagina
e la chiamiamo motore.php (vi ricordate l'action del file form.htm???).
Il codice dovrà essere simile a questo
Codice PHP:
<?
require ("definizioni.php"); //Dico allo script di leggere le variabili dal file di prima
$cerca = strtolower($cerca) //Rendiamo la variabile $cerca in sole minuscole...
$apertura = "La ricerca nel sito utilizzando la parola chiave [b]$cerca[/b] ha prodotto i
seguenti risultati..."; // La frase che comparirà nella pagina della ricerca in ogni caso
if (in_array($cerca,$pc_index)) { $ris1 = "<a href=\"$pc_index[0]\">$pc_index[1]</a>
\n"; }
if (in_array($cerca,$pc_altro)) { $ris2 = "<a href=\"$pc_altro[0]\">$pc_altro[1]</a>
\n"; }
...
$ris = $ris1 . $ris2; //Settiamo la variabile $ris come un insieme di variabili...
if ($ris == "") { $ris = "Nessun risultato..." } //Se non ci sono risultati, mostra questo messaggio
echo $ris;
Spieghiamo oa qualcosina...
if (in_array($cerca,$pc_index)) { $ris1 = "<a href=\"$pc_index[0]\">$pc_index[1]</a>
\n"; }
Questa riga si può commentare in questo modo... Se $cerca é contenuto nell'array $pc_index, allora
setta la variabile $ris1 come segue... Noterete il richiamo a $pc_index[0] nel collegamento (infatti
il primo elemento dell'array doveva essere il percorso della pagina), e a $pc_index[1] (infatti il
elemento dell'array doveva essere ciò che veniva stampato a video...
Inutile dire che dovete aggiungere una riga di questo tipo per ogni pagina del vostro sito, facendo
attenzione a cambiare il numero progressivo di $risn...
La variabile $ris viene costruita come una somma di tante variabili: dovrete costruirla in questo modo
$ris = $ris1 . $ris2 . $ris3 . $ris4 . $ris5; ecc...
La riga successiva dello script setta la variabile $ris = a "Nessun risultato" se la variabile $ris vale
nulla... Cerco di essere un po' più chiaro... Se nel form di ricerca scrivete una parola che non é presente
nella'array di nessuna pagina, la Variabile $ris assume il valore 0 (meglio "", nulla), e per questo
interveniamo cambiandone il valore in cosa volgiamo noi...
Beh, io ho finito... Ringrazio tutti quanti mi hanno ascoltato e aggiungo che potete vedere questo script al
lavoro sul mio sito, users.netcat.it/hfish (gm non arrabbiarti per la pubblicità, credo di essermela
guadagnata...)
Per qualunque tipo di chiarimento o domanda. non esitate a scrivere sul forum o ad hfish@libero.it
Ciao e alla prossima...