Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyszukiwarka
Forum PHP.pl > Forum > Przedszkole
scretch
Witam, mam stronę, która ma plik index.php, a do niego includuje inne pliki poprzez
Kod
index.php?id=nazwa_dzialu


Mam również skrypt wyszukiwarki, który wyszukuje po tytułach:

Kod
<?
if (isset($_POST["zapytanie"])) $zapytanie=strtolower($_POST["zapytanie"]);
                                else $zapytanie="";

$zakazane_pliki=array("szukaj.php");
$dozwolone_rozszerzenia=array("php");

if ($zapytanie!="") {
    echo "Wyniki wyszukiwania frazy <b>$zapytanie</b>:<br>";
    przeszukuj(".",$zapytanie, $zakazane_pliki,$dozwolone_rozszerzenia);
}
    else echo "Nie wpisales zadnej frazy!";


function przeszukuj($nazwa_folderu,$zapytanie,$zakazane_pliki,$dozwolone_rozszerzenia)
{

    if (!isset($nazwa_folderu)) $nazwa_folderu=".";

    $folder=opendir($nazwa_folderu);
    
    while ($plik=readdir($folder))
    {
        if ((!in_array($plik, $zakazane_pliki)) && in_array(substr($plik,strrpos($plik,".")+1),$dozwolone_rozszerzenia))
            {
            $zawartosc=implode("",file($nazwa_folderu."/".$plik));
            $zawartosc2=strip_tags(strtolower($zawartosc));
            $pozycja=strpos($zawartosc2, $zapytanie);
            $start=strpos($zawartosc, "<title>")+7;
            $stop=strpos($zawartosc, "</title>");

            if ($start===false || $stop===false)
                $tytul="brak tytułu strony";
            else
                $tytul=substr($zawartosc,$start,($stop-$start));
            

            if ($pozycja!==false)
            {
                echo "<a href=".$nazwa_folderu."/".$plik.">".$tytul."</a><br>";
            }
        }
        
        if ($plik!="." && $plik!=".." && is_dir($nazwa_folderu."/".$plik))
                przeszukuj($nazwa_folderu."/".$plik, $zapytanie, $zakazane_pliki, $dozwolone_rozszerzenia);
    }

    closedir($folder);
}

?>


A w pliku index.php mam kod:

Kod
<?php $tytul = strip_tags( $_GET['id'] );
echo "Moja strona || Dział:  $tytul";  ?>
czyli tytuł zmienia się wraz z nazwą pliku pobraną z adresu przeglądarki.

I problem powstaje tu: jak przerobić przeglądarkę, aby wyników nie pokazywała jako strona.pl/horoskop.php tylko strona.pl/index.php?id=horoskop i żeby pobierała z tytułów nazwy dynamiczne podstron??
Ziels
Bez konkretnej odpowiedzi, ale nigdy, przenigdy nie includuj plików przez GET'a....
scretch
darować mogłeś sobie tą wypowiedź...
Ludvik
yyy... nie wiem o co chodzi w drugim pytaniu, ale co do pierwszego, to przecież wystarczy zmienić ścieżkę odnośnika...
  1. <?php
  2. echo "<a href=index.php?id=".$nazwa_folderu."/".$plik.">Moja Strona || ".$tytul."</a><br>";
  3. ?>

Cytat
darować mogłeś sobie tą wypowiedź...

Życzę powodzenia...
elem84
jak includujesz przez GET-a to dorzucaj sobie jeszcze taki teścik zawsze to większy bezpieczeństwo :)

  1. <?php
  2. if(file_exists($_GET['page'].'.php') && preg_match("/^[a-zA-Z0-9_]+$/",$_GET['page']) ) 
  3. include $_GET['page'].'.php';
  4. else
  5. echo 'ERROR ;(';
  6. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.