Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Prośba o sprawdzenie i objaśnienie skryptu
MysticPL
post
Post #1





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 18.10.2008

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


Więc przeszukiwałem forum i znalazłem taki skrypt:
Kod
<?php
$strona = basename($_GET["strona\"]).\".php\";

if (file_exists($strona))
    include($strona);
else
    echo \"Brak strony...\";
?>

Moja prośba: mógłby go ktoś objaśnić to znaczy jak on działa, czy jest bezpieczny i czy dzięki niemu strona będzie wyświetlana w jednym pliku. Z góry dziękuje za odpowiedź.
Go to the top of the page
+Quote Post
Skie
post
Post #2





Grupa: Zarejestrowani
Postów: 555
Pomógł: 84
Dołączył: 20.02.2008
Skąd: Małopolska

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


W zmiennej $_GET['strona'] powinien znajdować się ścieżka do pliku, lub sama jego nazwa.

Funkcja basename() zwraca samą nazwę pliku z podanego łańcucha zawierającego ścieżkę do pliku.

Następnie funkcja file_exist() sprawdza czy taki plik (podstrona) istnieje na serwerze. Jeżeli tak to go wyświetla, jeżeli nie to wypisuje błąd - "Brak Strony"

PS. Zastanawia mnie tylko dlaczego to wygląda tak:

  1. <?php
  2. $strona = basename($_GET["strona\"]).\".php\";
  3. ?>


A nie po prostu tak:

  1. <?php
  2. $strona = basename($_GET["strona"]);
  3. ?>


1. nie wiem po co jest to \ w GET'cie
2. nie wiem po co jest dodany ".php" - funkcja basename powinna zwrócić nazwę pliku już wraz z końcówką .php
Go to the top of the page
+Quote Post
MysticPL
post
Post #3





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 18.10.2008

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


Ten skrypt jest tak skonstruowany ze względów bezpieczeństwa. OK moje pytania:
1. Jak tego skryptu użyć, tzn. co utworzyć.
2. Czy linki mają wyglądać tak: index.php?strona=(jakiśplisk).php ?

Chciałbym że by ten skrypt wyglądał tak jak na tej stronie: http://www.neonsite.pdg.pl/index.php

Ten post edytował MysticPL 19.12.2008, 19:54:19
Go to the top of the page
+Quote Post
Skie
post
Post #4





Grupa: Zarejestrowani
Postów: 555
Pomógł: 84
Dołączył: 20.02.2008
Skąd: Małopolska

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


1. użyj go w miejscu gdzie się powinna pojawiać dana podstrona
2. index.php?strona=plik tak wystarczy
Go to the top of the page
+Quote Post
MysticPL
post
Post #5





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 18.10.2008

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


Dzięki.
Go to the top of the page
+Quote Post
Mize
post
Post #6





Grupa: Zarejestrowani
Postów: 84
Pomógł: 6
Dołączył: 26.03.2008
Skąd: Łódź

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


Daj jeszcze warunek, który sprawdzi czy plik to nie czasem index.php, bo Ci się zapętli w nieskończoność.

  1. <?php
  2. if (file_exists($strona) AND $strona !== 'index.php')
  3.    include($strona);
  4. else
  5.    echo "Brak strony...";
  6. ?>
Go to the top of the page
+Quote Post
MysticPL
post
Post #7





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 18.10.2008

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


Mam jeszcze jedno pytanie, gdzie i w jaki sposób umieścić ścieżke do pliku z include i jak ma wyglądać plik include?

Problem rozwiązany. Temat do zamknięcia

Ten post edytował MysticPL 19.12.2008, 20:51:53
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 15.09.2025 - 02:02