• User Newbie

    Motore di ricerca interno al sito

    Ciao a tutti!
    sto imparando ha creare i siti e oggi volevo a tutti i costi trovare un modo per inserire un motore di ricerca nel mio sito.. ci sono riuscita, ma il problema è che i risultati della ricerca escono su una nuova pagina e non è quello che voglio.

    Questi sono i codici che ho usato (trovati in rete):

    <script language="JavaScript" type="text/javascript">
    var item = new Array();
    
    c=0; item=new Array("nuovaossessionesubsonica.html","","Nuova Ossessione - Subsonica","nuova,ossessione,subsonica","Tablatura basso Nuova Ossessione dei Subsonica");
    
    c++; item=new Array("index.html","","primi passi","iniziare,principianti,come,fare","Corso html per principianti.");
    
    c++; item=new Array("index.html","","Guida html","html,links,pagina,web","Guida html.");
    
    c++; item=new Array("scripting.htm","main/","Scripting","script,scripting,javascript,dhtml","Scripting per tutti.");
    
    c++; item=new Array("lewebcen.gif","main/images/","Link Logo","link,image,logo,graphic,immagine","Il logo del mio sito in formato gif. Potete fare un link adoperando questo.");
    
    page="<html><head><title>Search Results</title><\/head><body bgcolor='white'><center><table border=0 cellspacing=10 width=80%>";
    
    function search(frm) {
    win = window.open("","","scrollbars");
    win.document.write(page);
    txt = frm.srchval.value.split(" ");
    fnd = new Array(); total=0;
    for (i = 0; i < item.length; i++) {
    fnd* = 0; order = new Array(0, 4, 2, 3);
    for (j = 0; j < order.length; j++)
    for (k = 0; k < txt.length; k++)
    if (item*[order[j]].toLowerCase().indexOf(txt[k]) > -1 && txt[k] != "")
    fnd* += (j+1);
    }
    for (i = 0; i < fnd.length; i++) {
    n = 0; w = -1;
    for (j = 0;j < fnd.length; j++)
    if (fnd[j] > n) { n = fnd[j]; w = j; };
    if (w > -1) total += show(w, win, n);
    fnd[w] = 0;
    }
    win.document.write("<\/table><\/center><\/body><\/html>");
    win.document.close();
    }
    function show(which,wind,num) {
    link = item[which][1] + item[which][0]; 
    line = "<tr><td><a href='"+link+"'>"+item[which][2]+"</a> <br>";
    line += item[which][4] + "<br>"+link+"<\/td><\/tr>";
    wind.document.write(line);
    return 1;
    }
    
    
    </script>
    
    
    <form method=get action="javascript:void(0)" onsubmit="search(this); return false;" style="padding: 200px">
    <input type=text name=srchval value=""><input type=submit value="Cerca">
    </form>
    
    

    cosa devo cambiare per fare in modo che i risultati della ricerca "escano" nella stessa pagina? come fa google insomma.


  • Moderatore

    a) Google non stampa i risultati nella stessa pagina e lo puoi notare dalla url
    b) questo motore di ricerca, dove cerca? Testo delle pagine html/php/py/asp O cerca all'interno del database?

    Anche perchè quello che hai scritto è molto poco comprensibile. Prova ad inserire il tutto all'interno dei tag [ CODE ]