Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Jak zabezpieczyć się przed pustą zmienną
Forum PHP.pl > Forum > Przedszkole
ichu
Mam następujący skrypt:

  1. <?
  2. $id=$_GET['id'];
  3. include('data/'.$id.'.php');
  4. ?>

Zmienna $id pobierana jest z paska adresu: index.php?id=zmienna.
Chciałbym uchronić się przed sytuacją, gdyby ktoś wpisał tylko nazwę pliku index.php, bez deklaracji zmiennej. Sytuacja taka owocuje wyświetleniem komunikatów:

Warning: main(data/.php): failed to open stream: No such file or directory in c:\usr\krasnal\www\rozklad\rozklad.php on line 27
Warning: main(): Failed opening 'data/.php' for inclusion (include_path='.') in c:\usr\krasnal\www\rozklad\rozklad.php on line 27

Próbowałem popełnić coś takiego:
  1. <?php
  2. if ($id='') { $id=zmienna; }
  3. ?>

ale niestety, nie dało to żadnych efektów sad.gif
bełdzio
empty + file_exists
ichu
Wyszło mi takie coś:
  1. <?
  2. $id=$_GET['id'];
  3. if (empty($id))
  4. {
  5. $id=zmienna;
  6. }
  7. $filename = 'data/'.$id.'.php'; 
  8. if (file_exists($filename)==false)
  9. {
  10. $id=zmienna;
  11. }
  12. include('data/'.$id.'.php');
  13. ?>

Działa! smile.gif Prosiłbym jednak jeszcze o sprawdzenie i ewentualne wskazówki.
Dziękuję za pomoc!!!
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.