Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Hakukone sivuille?

Sivun loppuun

Pähkinä [25.03.2009 21:20:28]

#

Eli pitäisi saada hakukone sivuille joka etsii annetulta sivulta/kasiosta (esim omasivu.com/tiedostot/artikkelit) ja listaa tulokset.
Olen kokeillut täältä löytyviä, mutta niiden kanssa on tullut ongelmia....
Löytyisikö tälläistä?

Lebe80 [26.03.2009 08:22:12]

#

Googlella löytyy... eikun siis Googlelta

http://www.google.com/coop/cse/

Pähkinä [26.03.2009 17:42:39]

#

Nojuu, mitään googlen hakukonetta en viitsisi laittaa, kun sen mainoksia pukkaa hakutuloksiin..

ankzilla [26.03.2009 17:54:19]

#

Vinkit PHP:llä:
-$_GET
-explode("."); <= (Tiedostonpääte)

Tosin en sit tiedä jos tiedoston sisällöstä haluat ettii...
Explodella ja whilellä jotenki. :P

trilog [26.03.2009 19:25:39]

#

ankzilla kirjoitti:

-explode("."); <= (Tiedostonpääte)

Ennemmin vaikka regexp:llä tai pathinfolla kuin explodella.

temu92 [26.03.2009 21:30:11]

#

Ja näihin regexpeihin löytyy sitten hyvä perustutoriaali täältä putkastakin -> https://www.ohjelmointiputka.net/oppaat/opas.php?tunnus=phpsl

Pähkinä [27.03.2009 16:13:22]

#

Löysin hakukoneen, mutta ongelmana se että heittää erroria:
Warning: mysql_connect(): Access denied for user 'web00220'@'localhost' (using password: NO) in /home/web00220/public_html/sanat/class.search.php on line 12
Access denied for user 'web00220'@'localhost' (using password: NO)

Tässä kyseinen koodi johon virhe kohdistuu:

<?php

class search_engine
{
    function search_engine($mysql)
    {
        # set database connection
        $this->host = $mysql[0];
        $this->username = $mysql[1];
        $this->password = $mysql[2];
        $this->database = $mysql[3];
        $this->link = mysql_connect($this->host,$this->username,$this->password) or die(mysql_error());
        $this->db_selected = mysql_select_db($this->database,$this->link) or die(mysql_error());
        $this->found = array();
    }
    function set_table($table)
    {
        # set table
        $this->table = $table;
    }
    function set_keyword($keyword)
    {
        # set keywords
        $this->keyword = explode(" ", $keyword);
    }
    function set_primarykey($key)
    {
        # set primary key
        $this->key = $key;
    }
    function set_fields($field)
    {
        # set fieldnames to search
        $this->field =$field;
    }
    function set_dump()
    {
        # var dump objects
        echo '<pre>';
        var_dump($this->found);
        echo '</pre>';
    }
    function set_total()
    {
        # total results found
        return sizeof($this->found);
    }
    function set_result()
    {
        # find occurence of inputted keywords
        $key =  $this->key;
        for ($n=0; $n<sizeof($this->field); $n++)
        {
            for($i =0; $i<sizeof($this->keyword); $i++)
            {
                $pattern = trim($this->keyword[$i]);
                $sql = "SELECT * FROM ".$this->table." WHERE `".$this->field[$n]."` LIKE '%".$pattern."%'";
                $result = mysql_query($sql);
                while ($row = mysql_fetch_object($result) AND !empty($pattern))
                {
                    $this->found[] = $row->$key;
                }
            }
        }
        $this->found = array_unique($this->found);
        return $this->found;
    }
}

?>

Kohdan:

        # set database connection
        $this->host = $mysql[0];
        $this->username = $mysql[1];
        $this->password = $mysql[2];
        $this->database = $mysql[3];
        $this->link = mysql_connect($this->host,$this->username,$this->password) or die(mysql_error());
        $this->db_selected = mysql_select_db($this->database,$this->link) or die(mysql_error());
        $this->found = array();

tiedot olen täyttänyt.

Marbo [27.03.2009 18:06:45]

#

Niin ja tuo sinun löytämäsi hakukonehan sitten etsii vain ja ainoastaan mySQL kannasta. Onko niin tarkoituskin?

Pähkinä [27.03.2009 22:53:35]

#

On, koska kokeilin toisenlaisella joka ei hae tietokannasta, niin se ei löydä tiedostoja niin hyvin....

temu92 [27.03.2009 23:11:07]

#

Jos tiedostoista on tarkoitus katsoa niin miks ees yrität sitten jotakin tietokannasta? Vähän saman tyylistä hommaa ku avata säilykepurkkia kirveellä kun vieressä olisi purkinavaaja.

Ellei sitten tietokannassa ole tiedostolistaa tai indeksoitua informaatiota.

Ja tuohon ongelmaan...

PHP:n tulkki kirjoitti:

Warning: mysql_connect(): Access denied for user 'web00220'@'localhost' (using password: NO) in /home/web00220/public_html/sanat/class.search.php on line 12
Access denied for user 'web00220'@'localhost' (using password: NO)

... joskus saattaa ihan virheilmoituksen lukeminen auttaa. Tuossa sanotaan selvästi ettei kyseisellä käyttäjällä ole oikeuksia tietokantaan joten hommaappas jostakin esiin ne oikeat tunnukset.

Pähkinä [28.03.2009 12:49:49]

#

Oikeat tunnukset on. Mutta jostainsyystä tulee aina tuo ilmoitus.

temu92 [28.03.2009 18:50:54]

#

lainaus:

(using password: NO)

Salasana?

Pähkinä [31.03.2009 16:48:30]

#

temu92 kirjoitti:

lainaus:

(using password: NO)

Salasana?

Jep. Kaikki tarvittatat on.

Vai pitääkö tähän kohtaan $this->found = array(); laitta jotain?

temu92 [31.03.2009 16:54:42]

#

Ihan varmaan on salasana jos kyseessä ei ole omalla koneella oleva serverisi. Tuo virheilmoitus juuri tarkalleen sanoo siitä että salasanaa _ei ole_ ja tunnukset ovat väärin. Eli älä nyt ala muokkailemaan mitään eri kohtia ennen kuin olet saanut toimivat tunnukset.

Pähkinä [31.03.2009 16:59:15]

#

temu92 kirjoitti:

Ihan varmaan on salasana jos kyseessä ei ole omalla koneella oleva serverisi. Tuo virheilmoitus juuri tarkalleen sanoo siitä että salasanaa _ei ole_ ja tunnukset ovat väärin. Eli älä nyt ala muokkailemaan mitään eri kohtia ennen kuin olet saanut toimivat tunnukset.

Pitääpä tarkistaa jos on tullut kirjoitusvirhe. :P


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta