motore di ricerca interno al sito

mediasteno

Utente Attivo
25 Gen 2010
120
0
0
Ci ho perso tutta la giornata ma non sono riuscita a tirar nulla di buono. Ho bisogno di inserire nel mio sito un motore di ricerca, il classico CERCA NEL SITO con la casella di testo ma non ho ben capito come si fa. Ho visto alcuni script ma presentavano dei problemi. Qualcuno può suggerirmi una soluzione?
 
il tutorial suggerito da Eliox l'avevo trovato e credo che vada bene per un altro lavoro. Nel mio caso penso che la soluzione migliore è lo script proposto da neo996sps... se funzionasse :confused:
La documentazione è in inglese ma non penso di essermi persa in dei passaggi. Ho seguito tutto fino al punto da inserire nell'url
http://www.miosito.it/search/install.php dove search è la cartella con lo script. A questo punto ho l'errore:
---------------------------------------
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, [email protected] and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.
--------------------------------------
Se ho ben capito non devo cambiare nulla, tranne impostare la username e password nel file config.php.
L'unico dubbio su ciò che può aver causato l'errore è che nella documentazione si richiedono come requisiti:
safe_mode is off and allow_url_fopen is on

Ho controllato le mie impostazioni e risulta
allow_url_fopen on
mentre safe_mode è on il local value e off in master value. E' qui il problema?
Io mi sa che non posso modificare queste impostazioni e devo contattare direttamente il mio provider.
Qualcuno mi illumini
 
Ho provato ad impostare i permessi ma ho la stessa schermata. Tra l'altro nella documentazione si parla di una struttura suddivista in cartelle mentre la versione di script che ho installato ha tutti i file in unica cartella :confused: Da quanto ho capito le versioni precedenti presentavano la suddivisione in cartelle (meglio), tuttavia mi domando perchè non è stata aggiornata la documentazione :mad:.
Provo a farmi modificare safe_mode e vediamo
 
no un attimo. Io l'ho scaricato e c'erano anche delle sottocartelle con i vari file. Controlla di non aver scaricato una versione differente
 
Ho notato che avevo sbagliato ad estrarre i file dal file .zip. Ho cancellato tutto. Ho di nuovo scaricato lo script e ho estratto tutti i file con cartelle e sottocartelle. Ho settato username e psw in config.php. Ho settato i permessi e ho chiesto al provider di modificare safe_mode in OFF ma alla fine ho sempre lo stesso messaggio:
Dove è l'errore? :incazz: :confused:
Ora non so dove mettere mani :book:
 
Riprendo questa discussione visto che da un verso è lo stesso argomento

L'articolo https://www.mrw.it/php/articoli/motore-ricerca-interno-php-mysql_838.html riguarda la ricerca di un termine inserito in una sola casella input su una unica tabella di un database. Ora vorrei adattare questo esempio al mio caso. Ho quattro caselle input (autore - titolo - edizione - ricerca libera) e devo effettuare la ricerca in più tabelle dello stesso database. La prima parte del codice riguarda se l'utente non inserisce nessun termine, in questo caso ho modificato il codice nel seguente modo:
PHP:
include 'connessione.php';

          $autore = htmlspecialchars(addslashes($_POST['autore']));
          $titolo = htmlspecialchars(addslashes($_POST['titolo']));
          $edizione = htmlspecialchars(addslashes($_POST['edizione']));
          $riclibera = htmlspecialchars(addslashes($_POST['riclibera']));
          
          if (((isset($autore) == false || $autore == ""))&&((isset($titolo) == false || $titolo == ""))&&((isset($edizione) == false || $edizione == ""))&&((isset($riclibera) == false || $riclibera == "")))
          {
            echo "Non hai inserito nessuna chiave di ricerca";
          }
          else
          {
...
da questo punto in poi ho difficoltà. Ciò che voglio è che
se l'utente inserisce un nome di autore nella casella autore, la ricerca venga fatta nella tabella autori e/o
l'utente inserisce un titolo nella casella titolo, la ricerca venga fatta nella tabella titolo
e/o
l'utente inserisce un editore nella casella edizione, la ricerca venga fatta nella tabella edizione.
Infine se viene inserito un qualsiasi termine nella casella ricerca libera, la ricerca venga fatta nelle varie tabelle.

Ora le varie SELECT sono in grado di realizzarle, il mio problema è metterle insieme. In sostanza devo risolvere questo problema:
Prendi i termini inseriti dall'utente, ricerca il termine della casella autore nella tabella autore e contemporaneamente ricerca il termine titolo nella tabella titolo, e il termine della casella edizione nella tabella edizione. Le possibilità sono diverse che sia inserito un solo termine oppure due termini o più termini.
spero di aver reso bene l'idea di ciò che voglio fare. Qualcuno sa darmi indicazioni?

-- Un altro caso del tutorial è come fare anzichè effettuare la ricerca solo nella tabella articoli estenderla a tutte le tabelle dello stesso database. Non ci ho provato ma devo vedere usando una Join delle tabelle?
 

Discussioni simili