Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Problem $_Get przekazywaniem
Forum PHP.pl > Forum > Przedszkole
szczalpi
Witam
Mam taki kod. Chciałbym, aby przekazywała zmienna $_GET pliki z katalogu include. Kod .htaccess mam taki:
  1. RewriteRule ^alexa_rank.html$ index.php?s=alexa_rank [L]

i kod :
  1. if (!empty($_GET['sess']) AND $_GET['sess']==1) session_start();
  2.  
  3. if (!empty($_GET['s']) AND (file_exists('/include/'.$_GET['s'].'.php')))
  4. $content=$_GET['s'];
  5. else{
  6. $content=home;
  7. }

Nie wiem, którym momencie błąd. Proszę o pomoc.
hondek
Ja kompletnie nic nie rozumiem z tego co napisałeś :/
netH
chodzi ci o to żeby zmienna $GET jeśli jest pusta pokazywała plik zdefiniowany w else, a jeśli $_GET uzyska wartość to wyświetlała wybrany plik z folderu ?
Pilsener
1. Takie wpisy w .htaccess nie mają sensu, lepiej już:
Kod
RewriteRule ^(.+).html$ ?s=$1 [L]
a najlepiej wszystko wrzucać do jednej zmiennej, jak serwis będzie miał kilka tysięcy stron to każdą będziesz w .htaccess definiował? :/

2. Coś takiego także jest bez sensu:
  1. if (!empty($_GET['s']) AND (file_exists('/include/'.$_GET['s'].'.php')))
- nie należy łączyć GET z include w żaden sposób, bo stwarza to ryzyko włamania lub co najmniej zwykłej złośliwości, zmienną należy przefiltrować a następnie odwołać się do tablicy:
  1. $tablica = array(
  2. 1=>'plik1.php',
  3. 2=>'plik2.php'
  4. );
  5. $id = (int)$_GET['id'];
  6. include($tablica[$id]);


3. Czy ta ścieżka /include/ jest poprawna? Obawiam się, że nie wszędzie coś takiego będzie działać
4.
  1. $content=home;
- jeśli home to stała, to piszmy z dużych liter (by rzucała się w oczy)
5. Dodaj echo 'coś tam' i będziesz wiedział, gdzie jest błąd.
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.