Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyszukiwarka, adresy: index.php?id=nazwa_dzialu
scretch
post
Post #1





Grupa: Zarejestrowani
Postów: 63
Pomógł: 0
Dołączył: 27.06.2006

Ostrzeżenie: (20%)
X----


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??
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Ziels
post
Post #2





Grupa: Zarejestrowani
Postów: 235
Pomógł: 2
Dołączył: 30.06.2006

Ostrzeżenie: (0%)
-----


Bez konkretnej odpowiedzi, ale nigdy, przenigdy nie includuj plików przez GET'a....
Go to the top of the page
+Quote Post
scretch
post
Post #3





Grupa: Zarejestrowani
Postów: 63
Pomógł: 0
Dołączył: 27.06.2006

Ostrzeżenie: (20%)
X----


darować mogłeś sobie tą wypowiedź...
Go to the top of the page
+Quote Post
Ludvik
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 698
Pomógł: 3
Dołączył: 28.03.2004
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


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...

Ten post edytował Ludvik 20.08.2006, 10:17:57


--------------------
Go to the top of the page
+Quote Post
elem84
post
Post #5





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 25.07.2005

Ostrzeżenie: (0%)
-----


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. ?>


--------------------
Grupa programistyczna (EvilTeam)
Hotele w Polsce TwojHotel.info
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 22:58