Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: menu i isset()
Forum PHP.pl > Forum > Przedszkole
hmmm
problem moze sie wydac troche smieszny, no ale ...
sam zawsze jak dotad, do menu i wyswietlenia odpowiedniej strony w zaleznosci od watosci przesylanej zmiennej, stosuje switch(), ale w jakims poscie, juz nie pamietam, znalazlem cos takiego:
  1. <?php
  2. if (isset($_GET['strona'])) {
  3. include('inc/' . $_GET['strona'] . 'inc');
  4. } else {
  5. echo 'ERROR 404: Dana strona nie istnieje';
  6. }
  7. ?>
moje pytanie - to jest poprawne? jezeli tak, to czemu nie dziala?

na poziomie pliku index.php, w ktorym mam zemiszczony ten kod, mam katalog o nazwie inc, a w nim umieszczony plik o nazwie plik.inc.
jezeli w naglowku mam index.php?strona=plik to zwraca mi blad ...
Kod
Warning: main(inc/plikinc): failed to open stream: No such file or directory in c:\inetpub\wwwroot\kuba2\index.php on line 45

Warning: main(): Failed opening 'inc/plikinc' for inclusion (include_path='.;c:\php4\pear') in c:\inetpub\wwwroot\kuba2\index.php on line 45
o co chodzi?
nospor
hihi, zjadles kropke. czytaj komunikaty bledów. powinnno byc
  1. <?php
  2.  
  3. include('inc/' . $_GET['strona'] . '.inc');
  4.  
  5. ?>
hmmm
rzeczywiscie, ale zonk tongue.gif
juz poprawilem, dzieki.

a swoja droga, jak uniknac wyrzucania bledow?
bo chcialbym zrobic tak, ze jezeli ktos sam wpisze wartosc zmiennej $strona w naglowku i takiego pliku nie bedzie, to zeby wowczas wywalilo tez jakis tam tekst ustalony przeze mnie, a nie kilka linijek automatycznie o bledzie.
nospor
W tym wypadku to jest proste. zanim includujesz plik, sprawdzaj czy on istnieje poprzez funkcję file_exist. jesli nie ma to wywal sam błąd.

A ogólnie to chyba mozna przechwytywać komunikaty o błędach,ale ja się tym nie bawiłem. poczytaj,albo popytaj kogoś kto się na tym zna
hmmm
file_exist() mi wystarczy, dzieki smile.gif
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.