Yksinkertainen PHP-hakuskripti, joka hakee haku.dat-tiedostoissa määritellyistä HTML-tiedostoista.
Tiedostossa haku.dat ensin on HTML-tiedoston otsikko, joka näkyy hakutuloksissa ja toisena HTML-tiedoston nimi.
<p><b>Haku</b></p> <form action="haku.php" method="post"> <p>Kirjoita hakusana: <input type="text" name="sana"> <input type="submit" value="Hae"> </form> <?php if ($sana<>"") { $yht=0; $sana=strtolower($sana); echo "<p><b>Hakutulokset sanalle <i>".$sana."</i></b></p><p>"; $d=file("haku.dat"); for ($i=0;$i<count($d);$i=$i+2) { $tied=trim($d[$i+1]); if (file_exists($tied)) { $hd=file($tied); $hi=0; for ($j=0;$j<count($hd);$j++) { if (substr_count(strtolower($hd[$j]),$sana)>0) { $hi++; } } if ($hi<>0) { echo "<a href='".$d[$i+1]."'>".$d[$i]."</a> (".$hi.")<br>"; $yht=$yht+$hi; } } } if ($yht<>0) { echo "<p>Osumia yhteensä: ".$yht."</p>"; } else { echo "<p>(ei osumia)</p>"; } } ?> </p> <p align="right">Haun tarjoaa: <a href="https://www.ohjelmointiputka.net">Ohjelmointiputka</a></p>
haku.dat (esimerkki):
Sivun 1 sivu1.htm Sivu 2 sivu2.htm
Kansa tahtoo <b>sisennyksiä</b>
Sankari, Terzu tarkoitti, että opetelkaa sisentämään koodinne...ja kannatan tätä ehdotusta!
No nyt on sisennys. Itse asiassa vika ei ollut itse koodissa vaan sen näyttöskriptissä. No samapa tuo, joka tapauksessa toimii nyt.
Joo... Huomasin just viestin jälkeen!
ei toimikkaan...
Toimis varmaankin mulla jos toi romu serveri tekis ton .dat tiedoston :(((
Tee ite kato :)
miten ton saa hakee esim. index.php?sivu=jotaki ku toi ei toimi jos laittaa tollee toho filuu
Mitä pitäis laittaa haku.dat tiedostoon?
Joo, siis muistakaa muuten laittaa noi tietenkin niiden muiden tiedostojen sekaan, mistä se etsii... Eli siis jos laitat ne tyhjään hakemistoon, niin se ei oikee voi etsii ku ei oo paljoo mitä etsii...
kuis tän sais lukemaan piilotetut (txt)tiedostot.
ja tulostamaan koko rivin mistä haku tai haut ovat löytyneet.
Tosi hyvä, mutta sais näyttämään jotain edes tarkempia esimerkiksi toi ylläolevan
Tää ei toimi mun omalla servulla :( painaa hae niin ei tapahtu mitään muuta kun kirjotuskenttä tyhjenee...
koodi toimii oikein, kun PHP-osan alkuun lisää
$sana = $_POST['sana']
Miten sais ton tyhjän välin tossa linkin sisällä poijes? replacella?
lainaus:
Miten sais ton tyhjän välin tossa linkin sisällä poijes? replacella?
Korvaat rivillä 28 olevan $d[$i] -kohdan tällä: chop($d[$i])
Mutta mitenkä tuon scriptin sais olemaan hakematta tageja ja niiden attribuutteja (siis ylipäätään mitään tagin sisältä)? Ihan vaan periaatteessa en haluais että niitä löytyy.
Miten sais et mul on käyttäjäskripti et tää hakis käyttäjän?? ku ne on kayttaja1.dat kayttaja2.dat tiedostoissa mutta et se ei kaiva niit salasanoja ku niit ei oo md5 hashattu.
lainaus:
koodi toimii oikein, kun PHP-osan alkuun lisää
$sana = $_POST['sana']
Perään vielä puolipiste(;), niin ei tuu virheilmotusta.
Miten ton saa hakemaan tietoa määritetyistä URL:istä?
Mites ton sais silleen, että se hakis tietystä kansiosta.
Et ei tarvi haku.dat tiedostoon mitään alkaa värkätä, vaan se ettii vaikka http://emg.jouluserver.com/scriptit/ osoitteen kaikista tiedostoista sen?
Ja sit silleen et se kuvaus on sitte se sivun nimi..
Koodissa olisi hyvä, että se etsii hakemiston kaikista tiedostoista, missä on vaikka <?php include ("haku.php"); haku
?>
Ja, että se ottaa jostain meta tagista otsikon. Ei kukaan jaksa kirjoittaa sadan filen edestä mitää tiedostoo.
Aihe on jo aika vanha, joten et voi enää vastata siihen.