Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] strona wywolywana za pomoca zmiennej
Forum PHP.pl > Forum > Przedszkole
lnn
witam
mam pytanko, widzialem gdzies tutaj taki temat odnosnie wywolywania danej czesci strony za pomoca zmiennej, tzn chce np na stronie glownej do logowania zrobic tak:
index.php - wyswietlane domyslnie
index.php?p=register - wywoluje szablon strony + formularz rejestracyjny
index.php?p=login - logowanie

czy jest sens sie bawic w takie cos czy lepiej zrobic w oddzielnych plikach?? i co wazne jest to bezpieczne? bo cos z nasza-klasa jakis taki motyw byl ze mozna bylo sobie inna strone wywolac w ten sposob w ich oknie..

czy mozna uzyc tu isset($_GET=['register'])questionmark.gif
ze np
  1. if ($p == $_GET=['register']) {
  2. echo "rejestracja"; } elseif ($p == $_GET=['login']) {
  3. echo "logowanie"; } else {
  4. // gdy nie przekazemy zadnego get'a to sie pojawia strona domyslna czyli np glowna


jakies pomysly? opinie itp?

MateuszS
Nie ma czegoś takiego $_GET=['register'] to po 1. A po 2 można zrobić tak jak napisałeś najpierw

Cytat
index.php - wyswietlane domyslnie
index.php?p=register - wywoluje szablon strony + formularz rejestracyjny
index.php?p=login - logowanie


Tyle że includujesz odpowiednie pliki

  1. if($_GET['p']=='register') {
  2. include('register.php');
  3. }
  4. //itd
darko
a co to
$p == $_GET=['login']

i to

$_GET=['login']

robi questionmark.gif

Żeby $_GET['p'] było bezpieczne: eskejpuj, pozbywaj się znaczników html i stripuj, nie ufaj, nie ufaj, nie ufaj. Możesz sobie po tych zabiegach walnąć switch - case i w caseach inkludować czy printować, to, co chcesz, nie widzę problemu, a strzeć trzeba się przed tym: include $_GET['p'].".php";
lnn
ok dzieki smile.gif
a moglibyscie mi na jakims przykladzie wytlumaczyc o co chodzi z tym:

Cytat
Żeby $_GET['p'] było bezpieczne: eskejpuj, pozbywaj się znaczników html i stripuj


...z tym GET to z nieuwagi tak napisalem tongue.gif

a nie da sie zeby nie wywolywalo z plikow tylko z jednego pliku w zaleznosci od instrukcji??
darko
strip_tags
htmlspecialchars
htmlentities

Cytat
a nie da sie zeby nie wywolywalo z plikow tylko z jednego pliku w zaleznosci od instrukcji??


Da się, wszystko się da smile.gif po prostu nie dziel kodu na pliki (skoro sam tak chcesz) i nie rób include_once, tylko bezpośrednio w caseach wykonuj to, co chcesz.
MateuszS
i żeby Ci nikt nie zrobił jakiegoś SQL Injectiona czy XSSa. Czyli Ci strony nie haxnął. Lepiej $_GET['id'] niech będzie liczbą (integer) np.

index.php?id=2 - rejestracja
index.php?id=3 - logowanie

potem

  1. if(isset($_GET['id'] && !is_numeric($_GET['id'])) {
  2. header("Location: google.pl");
  3. }


i w sumie juz jest jakies zabezpieczenie
lnn
hmm dzieki wielkie, mam juz jakis punkt zaczepienia winksmiley.jpg gdybym mial jakies problemy z uzyciem lub dzialaniem tego to jeszcze sie odezwe winksmiley.jpg
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.