si usa GET\n"; } else { $PARMS = &$_POST; echo " -> si usa POST\n"; } */ switch($_SERVER['REQUEST_METHOD']) { case 'GET': $PARMS = &$_GET; echo " -> si usa GET\n"; break; case 'POST': $PARMS = &$_POST; break; echo " -> si usa POST\n"; break; } // verifico foreach($PARMS as $key => $value) { echo "[$key] = [$value] == [".urldecode($value)."]\n"; if(stripos($value, "=") !== FALSE || // forse un po' severa stripos($value, "%") !== FALSE || // anche questa.. stripos($value, "--") !== FALSE || // anche questa.. stripos($value, "\x00") !== FALSE || // tutti i caratteri di controllo stripos($value, "\x01") !== FALSE || stripos($value, "\x02") !== FALSE || stripos($value, "\x03") !== FALSE || stripos($value, "\x04") !== FALSE || stripos($value, "\x05") !== FALSE || stripos($value, "\x06") !== FALSE || stripos($value, "\x07") !== FALSE || stripos($value, "\x08") !== FALSE || stripos($value, "\x09") !== FALSE || stripos($value, "\x0A") !== FALSE || stripos($value, "\x0B") !== FALSE || stripos($value, "\x0C") !== FALSE || stripos($value, "\x0D") !== FALSE || stripos($value, "\x0E") !== FALSE || stripos($value, "\x0F") !== FALSE || stripos($value, "\x11") !== FALSE || stripos($value, "\x12") !== FALSE || stripos($value, "\x13") !== FALSE || stripos($value, "\x14") !== FALSE || stripos($value, "\x15") !== FALSE || stripos($value, "\x16") !== FALSE || stripos($value, "\x17") !== FALSE || stripos($value, "\x18") !== FALSE || stripos($value, "\x19") !== FALSE || stripos($value, "\x1A") !== FALSE || stripos($value, "\x1B") !== FALSE || stripos($value, "\x1C") !== FALSE || stripos($value, "\x1D") !== FALSE || stripos($value, "\x1E") !== FALSE || stripos($value, "\x1F") !== FALSE || stripos($value, "\x25") !== FALSE || stripos($value, "\x2a") !== FALSE || stripos($value, "\x2b") !== FALSE || stripos($value, "\x28") !== FALSE || stripos($value, "\x29") !== FALSE || stripos($value, "*") !== FALSE || stripos($value, "+") !== FALSE || stripos($value, "%") !== FALSE || stripos($value, "(") !== FALSE || stripos($value, ")") !== FALSE || stripos($value, "+and+")!== FALSE || stripos($value, "+xor+")!== FALSE || stripos($value, "+not+")!== FALSE || stripos($value, " and ")!== FALSE || stripos($value, " xor ")!== FALSE || stripos($value, " not ")!== FALSE || /* stripos($value, "select") || stripos($value, "insert") || stripos($value, "delete") || */ stripos($value, "20and")!== FALSE || stripos($value, "20xor")!== FALSE || stripos($value, "20not")!== FALSE) { mail_visita("Ricerca (abortita)"); echo "\n RICERCA ABORTITA \n"; echo "-->"; echo ""; exit; } } echo "-->"; /* $aua_no_mail = array ( "bots\b", "bot\b", "crawler", "spider", "java", "robot", "blog search", ); foreach($aua_no_mail as $txt) { if( preg_match("/$txt/i", $useragent, $res)) { // /i = case insensitive return TRUE; } } */ ?> \n"; foreach ($_SERVER as $key => $value) { echo "$key: [".$value."]
\n"; } if(ereg("localhost", $_SERVER['HTTP_HOST'])) { $connessione = "locale"; $sql_server = "localhost"; $sql_user = "root"; $sql_pwd = MIA_PWD_LOCALE; $sql_db = DB; } else { $connessione = "remota"; $sql_server = "hostingmysql14.register.it"; $sql_user = "AV6521_root"; $sql_pwd = MIA_PWD_REMOTA; $sql_db = "quae__exstant_it_".DB; } echo "connessione: $connessione
\n"; echo "server / user / db: $sql_server / $sql_user / $sql_db
\n"; /* spostato in testa echo "count(\$_GET): ".count($_GET); if(count($_GET)) { $PARMS = &$_GET; echo " -> si usa GET\n"; } else { $PARMS = &$_POST; echo " -> si usa POST\n"; } */ if($connessione == "remota" && ereg("^https", $_SERVER['SCRIPT_URI'])) { echo "connessione remota sicura; pwd: ".$PARMS["x_pwd"]."\n"; if($PARMS["x_pwd"] == VALID_PWD) { $sessione = "si_pwd"; $bg = $bg_admin; $bg_cursor = $bg_admin_cursor; } else { echo "password invalida\n"; } echo "$sessione $bg $bg_cursor\n"; } echo "-->\n"; // fine commento mail_visita("Ricerca"); ?>
-
-
\n"; // funzione di connessione function php_do_connect($query) { global $sql_server, $sql_user, $sql_pwd, $sql_db; echo "query: [$query]\n"; echo "server / user / db: $sql_server / $sql_user / $sql_db
\n"; $conn = mysqli_connect($sql_server, $sql_user, $sql_pwd, $sql_db); if(!$conn) { echo "connessione fallita!
\n"; die; } else { $inf = mysqli_get_host_info($conn); echo "connessione: $inf
\n"; } $result = $conn->query($query); if($result) { #echo " ==> ".mysqli_num_rows($result)."
\n"; } else { echo " errore nella query: ".mysqli_error($conn)."
\n"; } // $conn->close(); return $result; } // per debug foreach ($PARMS as $key => $value) { echo "$key ==> ".$value."
\n"; } $autore = trim($PARMS["s_autore"]); $autore_tr = $PARMS["s_parole_autore"]; $parole_autore = preg_split("/\W+/", $autore); echo "\$autore: [$autore]\n"; $titolo = trim($PARMS["s_titolo"]); $titolo_tr = $PARMS["s_parole_titolo"]; $parole_titolo = preg_split("/\W+/", $titolo); $editore = trim($PARMS["s_editore"]); $editore_tr = $PARMS["s_parole_editore"]; $parole_editore = preg_split("/\W+/", $editore); $soggetto = trim($PARMS["s_soggetto"]); $soggetto_tr = $PARMS["s_parole_soggetto"]; $parole_soggetto = preg_split("/\W+/", $soggetto); $anno_min = $PARMS["i_anno_min"]; $anno_max = $PARMS["i_anno_max"]; $prezzo_min = $PARMS["i_prezzo_min"]; $prezzo_max = $PARMS["i_prezzo_max"]; $prima_edizione = $PARMS["b_prima_edizione"]; echo "autore: [$autore]\n"; echo "autore_tr: [$autore_tr]\n"; echo "parole_autore: [$parole_autore]\n"; echo "titolo: [$titolo]\n"; echo "titolo_tr: [$titolo_tr]\n"; echo "parole_titolo: [$parole_titolo]\n"; echo "editore: [$editore]\n"; echo "editore_tr: [$editore_tr]\n"; echo "parole_editore: "; foreach($parole_editore as $parola_editore) { echo "[$parola_editore]"; } echo "\n"; echo "soggetto: [$soggetto]\n"; echo "soggetto_tr: [$soggetto_tr]\n"; echo "parole_soggetto: [$parole_soggetto]\n"; echo "anno min - max: [$anno_min - $anno_max]\n"; echo "prezzo min - max: [$prezzo_min - $prezzo_max]\n"; if($prima_edizione) echo "prima edizione\n"; else echo "ed. qualunque\n"; //$query = "select autore, cognome_autore, titolo, editore, soggetti_ricerca, anno_edizione, anno_ed_min, anno_ed_max, prezzo, progressivo_edizione, id from libri "; $query = "select * from libri "; if($sessione == "no_pwd") $query = $query . " where scheda_provvisoria = false AND isnull(data_vendita)"; switch ($PARMS["ordinamento"]) { case "": break; case "Data inserimento": $query = $query . "order by data_invio_maremagnum desc"; break; case "Autore A-Z": $query = $query . "order by cognome_autore"; break; case "Autore Z-A": $query = $query . "order by cognome_autore desc"; break; case "Titolo A-Z": $query = $query . "order by titolo"; break; case "Titolo Z-A": $query = $query . "order by titolo desc"; break; case "Editore A-Z": $query = $query . "order by editore"; break; case "Editore Z-A": $query = $query . "order by editore desc"; break; case "Soggetto A-Z": $query = $query . "order by soggetti_ricerca"; break; case "Soggetto Z-A": $query = $query . "order by soggetti_ricerca desc"; break; case "Per anno ed. cresc.": $query = $query . "order by anno_edizione"; break; case "Per anno ed. decresc.": $query = $query . "order by anno_edizione desc"; break; case "Prezzo crescente": $query = $query . "order by prezzo"; break; case "Prezzo decrescente": $query = $query . "order by prezzo desc"; break; } $query = $query . ";"; $result = php_do_connect($query); echo ""; // fine sezione invisibile if(!result) { echo "

ERRORE NELLA RICERCA

\n"; exit(); } echo "\n"; echo "\n"; echo "\n"; echo "\n"; /* echo " "; */ echo " "; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo "\n"; echo "\n"; echo "\n"; $prima_riga = 1; while($row = $result->fetch_array()) { if((strlen($anno_min) && ($row["anno_ed_min"] < $anno_min)) || (strlen($anno_max) && ($row["anno_ed_max"] > $anno_max))) continue; if((strlen($prezzo_min) && ($row["prezzo"] < $prezzo_min)) || (strlen($prezzo_max) && ($row["prezzo"] > $prezzo_max))) continue; if(strlen($autore)) { if(!$autore_tr || $autore_tr == "parziali") { foreach($parole_autore as $parola_autore) if(!preg_match("/$parola_autore/i", $row["autore"])) continue 2; //} else if($parole_autore_tr == "complete") { } else if($autore_tr == "complete") { foreach($parole_autore as $parola_autore) if(!preg_match("/\b$parola_autore\b/i", $row["autore"])) continue 2; } } if(strlen($titolo)) { $titolo_piu_codice = $row["titolo"]." ".$row["codice"]; if(!$titolo_tr || $titolo_tr == "parziali") { foreach($parole_titolo as $parola_titolo) if(!preg_match("/$parola_titolo/i", $titolo_piu_codice)) continue 2; } else if($titolo_tr == "complete") { foreach($parole_titolo as $parola_titolo) if(!preg_match("/\b$parola_titolo\b/i", $titolo_piu_codice)) continue 2; } else if($titolo_tr == "frase") { if(!preg_match("/\b$titolo\b/i", $titolo_piu_codice)) continue; } } if(strlen($editore)) { if(!editore_tr || $editore_tr == "parziali") { foreach($parole_editore as $parola_editore) if(!preg_match("/$parola_editore/i", $row["editore"])) continue 2; } else if($editore_tr == "complete") { foreach($parole_editore as $parola_editore) if(!preg_match("/\b$parola_editore\b/i", $row["editore"])) continue 2; } } if(strlen($soggetto)) { if(!$soggetto_tr || $soggetto_tr == "parziali") { foreach($parole_soggetto as $parola_soggetto) if(!preg_match("/$parola_soggetto/i", $row["soggetti_ricerca"])) continue 2; } else if($soggetto_tr == "complete") { foreach($parole_soggetto as $parola_soggetto) if(!preg_match("/\b$parola_soggetto\b/i", $row["soggetti_ricerca"])) continue 2; } } if($prima_edizione && $row["progressivo_edizione"] != 1) continue; echo "\n"; echo " \n"; echo " \n"; echo " \n"; echo " \n"; if($row["anno_ed_min"] == $row["anno_ed_max"]) echo " \n"; else echo " \n"; echo " \n"; echo " \n"; echo "\n"; $n_schede += 1; } echo "\n"; echo "
"; echo " 65 idCognome autore"; echo "  Autore \n"; echo " "; echo "  Titolo \n"; echo " "; echo "  Anno \n"; echo " "; echo "  Editore \n"; echo " "; echo "  € \n"; echo "
".($n_schede+1)."".$row["cognome_autore"]."".$row["autore"]."".$row["titolo"]."".$row["anno_ed_min"]."".$row["anno_ed_min"]." - ".$row["anno_ed_max"]."".$row['editore']."".$row['prezzo']."
\n"; echo "
\n"; // memorizzo qui il numero di schede; andrà utilizzato dalla do_initialize al caricamento echo ""; echo "\n"; //echo "prova
"; echo "
\n"; ?>