Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Pomocy! Nie działa prosty skrypt
Forum PHP.pl > Forum > Przedszkole
maykee
Witam serdecznie, mam spory problem. Otóż na swojej stronie mam taki oto skrypcik:

  1. <?
  2. $rozsz=".php";
  3. if(file_exists("$id$rozsz")){include("$id$rozsz");
  4. }
  5. else {
  6. include("main$rozsz");
  7. }
  8. ?>


który do tej pory działał bez problemu pod PHP 5, ostatnio jednak byłem zmuszony przeniesc stronę na inny serwer gdzie również jest PHP5 (a konkretnie wersja 5.2.12) i skrypt ten przestał działać, a mianowicie za każdym razem, gdy jest wywolywany za pomoca linka np. index.php?id=inne/kontakt skrypt za kazdym razem wyswietla plik main.php tak jakby plik inne/kontakt.php nie istnial.

Pilnie prosze o pomoc, moze ktos z Was ma jakis pomysl na rozwiazanie problemu?
adam882
  1. <?
  2. $rozsz=".php";
  3. if(file_exists("$id.$rozsz")){include("$id.$rozsz");
  4. }
  5. else {
  6. include("main.$rozsz");
  7. }
  8. ?>


btw: jeśli to moduł do podstron to lepiej użyć switcha
Spawnm
Odbieraj dane przez $_GET
czyli
$id=$_GET['id'];

I poczytaj o bezpieczeństwie skryptów.
Np. o LFI.
Fifi209
Cytat(adam882 @ 3.06.2010, 13:25:22 ) *
  1. <?
  2. $rozsz=".php";
  3. if(file_exists("$id.$rozsz")){include("$id.$rozsz");
  4. }
  5. else {
  6. include("main.$rozsz");
  7. }
  8. ?>

Wiesz sam co za bzdety napisałeś?

@topic
Poczytaj o register_globals - wyłączone i dobrze, tylko kod musisz przerobić.
maykee
Cytat(adam882 @ 3.06.2010, 12:25:22 ) *
  1. <?
  2. $rozsz=".php";
  3. if(file_exists("$id.$rozsz")){include("$id.$rozsz");
  4. }
  5. else {
  6. include("main.$rozsz");
  7. }
  8. ?>


btw: jeśli to moduł do podstron to lepiej użyć switcha


teraz juz nawet main.php nie wyswietla, tylko warning.

Zgadza sie to ma być moduł do podstron.
Fifi209
Cytat(maykee @ 3.06.2010, 13:41:06 ) *
teraz juz nawet main.php nie wyswietla, tylko warning.

Zgadza sie to ma być moduł do podstron.

Było przeczytać mój post.
maykee
Cytat(fifi209 @ 3.06.2010, 12:46:33 ) *
Było przeczytać mój post.


Przeczytałem, poczytałem i zmieniłem kod na cos takiego:

  1. <?
  2. $rozsz=".php";
  3. $strona=$_GET['id'];
  4. if(file_exists("$id$rozsz")){include("$id$rozsz");
  5. }
  6. else {
  7. include("main$rozsz");
  8. }
  9. ?>


ale niestety nic to nie dalo, efekt jest dokladnie ten sam sciana.gif
croc
maykee -> twój kod jest nie do przyjęcia. Aż prosi się o atak. Posłucham adama882 i użyj switcha do wyznaczenia dozwolonych podstron.
Fifi209
  1.  
  2. <?php
  3. $rozsz=".php";
  4. $id=$_GET['id'];
  5.  
  6. if(file_exists("$id$rozsz")){include("$id$rozsz");
  7. }
  8. else {
  9. include("main$rozsz");
  10. }
  11. ?>


tak trudno przeczytać posty?
maykee
Cytat(croc @ 3.06.2010, 13:01:15 ) *
maykee -> twój kod jest nie do przyjęcia. Aż prosi się o atak. Posłucham adama882 i użyj switcha do wyznaczenia dozwolonych podstron.



Cytat(fifi209 @ 3.06.2010, 13:12:08 ) *
  1.  
  2. <?php
  3. $rozsz=".php";
  4. $id=$_GET['id'];
  5.  
  6. if(file_exists("$id$rozsz")){include("$id$rozsz");
  7. }
  8. else {
  9. include("main$rozsz");
  10. }
  11. ?>


tak trudno przeczytać posty?


Dziekuje serdecznie. Przepraszam za klopot ale jestem totalnym laikiem jesli chodzi o php, posty czytalem, ale najwidoczniej nie do konca zrozumialem...

pozdrawiam wszystkich uzytkownikow forum!
adam882
Cytat(fifi209 @ 3.06.2010, 13:27:28 ) *
Wiesz sam co za bzdety napisałeś?

@topic
Poczytaj o register_globals - wyłączone i dobrze, tylko kod musisz przerobić.

Bzdety? Sam napisałeś to samo. Nie uwzględniałem $_GET bo myślałem, że to fragment ze skryptu.
Fifi209
Cytat(adam882 @ 3.06.2010, 14:45:03 ) *
Bzdety? Sam napisałeś to samo. Nie uwzględniałem $_GET bo myślałem, że to fragment ze skryptu.

Nie kompromituj się, chyba sam do końca nie wiesz co napisałeś i jaki byłby wynik z połączenia stringów w Twoim kodzie.
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.