ciao a tutti!
come ho visto da una ricerca tra i post del forum la compatibilità tra browser affligge pure gli script in php...
ecco, io sono un'altra voce che si aggiunge al coro (anche perché non mi sembra di aver trovato un problema simile al mio..)
Dunque, ho installato lo script per motore di ricerca che ho trovato su freephp, il link è questo:
http://freephp.html.it/script/view_script.asp?id=525
Fatto il database, compare come primo problema questo notice:
La linea 83 è la seguente:Notice: Undefined index: search in search.php on line 83
Ho cercato un pò in giro nel forum e ho provato le varie soluzioni proposte, purtoppo senza successo, finché non ho trovato questa "scorciatoia" che alcuni hanno definito immorale e altri consigliavano, ovvero quella di disabilitare i notice...if ($_POST['search']){
Ho preferito fare suddetta vigliaccata per procedere con il motore di ricerca, il quale funziona egregiamente su Firefox ma non su Explorer..
Questo è il codice:
Su explorer visuazlizza correttamente il form, l'immancabile notice ma non elabora nessun risultato, cosa che ff fa semza problemi anche con il notice abilitato...<?php include "init.php"; ?>
<form method="POST" action="<?php echo $_SERVER['PHP_SELF'] ?>">
<input type="Text" size="15" maxlength="50" name="keywords">
<input type="submit" name="search" value="Cerca">
</form>
<?php
if ($_POST['search']){
if (!empty($_POST['keywords'])) {
$searchStr = $_POST['keywords'];
if (ereg("^[a-zA-Z ]+$", $searchStr)) {
$db = connect();
if ($db) {
print "
Risultati per\"$searchStr\"</p>
";
$keys = explode(" ", $searchStr);
for ($x = 0; $x < count($keys); $x++) {
$querystr = "SELECT * FROM " . $db_table . " WHERE (((keywords = \"$keys[$x]\") OR (keywords LIKE \"%$keys[$x]%\")) && site = \"$website\")";
$result = mysql_query($querystr,$db);
if ($frow = mysql_fetch_array($result)) {
$found = true;
do {
echo "<div class=\"risultato\"><a href=\"" . $frow["file_location"] . "\">" . $frow["file_name"] . "</a>
Descrizione:" . $frow["description"] . "</div>";
} while ($frow = mysql_fetch_array($result));
}
}
if (!$found) {
print("
Nessun risultato trovato.</p>");
}
}
else {
print("
Attenzione. Il database non è disponibile al momento.</p>");
}
}
else {
print("
Il testo da ricercare non può contenere caratteri speciali</p>");
}
}
else {
print("
Inserire almeno 2 lettere</p>");
}
}
?>
Sto pensando che forse il problema è proprio nel problema che genera il notice, ovvero - da quello che ho capito da altri thread - il fatto che il form non passi la variabile allo script.
Chiedo scusa per il post prolisso - e magari per l'ovvietà del problema - e ringrazio chiunque mi dia anche solo uno spunto per risolvere!!!