Skocz do zawartości

Pewien problem z PHP


Maximal

Rekomendowane odpowiedzi

Niestety ostatnio zostałem zmuszony do babrania się w PHP i oczywiście juz napotkałem błędy B) Mam taki kod:

<? if(!isset($plik)) { $plik="index";} if(file_exists("moje_artykuly/$plik.inc")) {include "moje_artykuly/$plik.inc";} else { echo "Strona niedostępna!";
} ?>

Nie będę tłumaczyć jak on ma działać, bo osoby znające się na tym na pewno się zorientują. Chodzi z grubsza o to że jak dam linka do np. index.php?plik=dane, w miejscu gdzie wklepałem kod powinno wyświetlić zawartośc odpowiedniego pliku INC. Ale zamiest tego na każdej stronie wyświetla się plik domyślny określony w kodzie (tu akurat index.inc). A z plikami na pewno wszystko OK, linki też dobre. O co więc chodzi? :huh: Mógłby mi ktoś pomóc?

 

PS. Mam nadzieję, że ktoś zrozumiał to, co tu napisałem ;)

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

<?php
$plik=(isset($_GET['plik'])) ? $_GET['plik'] : 'index';
if(file_exists('moje_artykuly/'.$plik.'.inc'))
{
include ('moje_artykuly/'.$plik.'.inc');
}
else
{
echo
"404: Strona niedostępna!";
}
?>

 

warto dodać, że:

$plik=(isset($_GET['plik'])) ? $_GET['plik'] : 'index';

jest równoważne z:

if (isset($_GET['plik'])) {$plik=$_GET['plik'];} else {$plik='index';}

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

Nie trzeba, to było zbyt proste zagadnienie. Z drugiej jednak strony nic dziwnego że miałeś z tym problem, część serwerów traktuje $_GET['plik'] jako $plik i wtedy wszystko działa (zazwyczaj jak zainstalujesz krasnala na swoim kompie to tak właśnie działa, a potem na innych serwerach już nie).

Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 tygodnie później...
  • Administratorzy

Ja teraz zawsze robię tak:

 

$xxx=$_GET['xxx']; żeby mieć pewnośc, a jeszcze często robię int($_GET['xxx']) jak są cyferki bo wiadomo, crackerzy nie śpią :P Oczywiście należy pamiętać o SQL Injection :P

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...