Do tej pory poruszanie się po stronie było możliwe dzięki linkom typu: www.adresstrony.pl/?a=costam
Za pomocą metody GET przekazywałam wartość i w zależności od niej, includowane są do strony różne pliki,
np:
switch($opcja) { case($opcja == $_GET['a']): if($_GET['a'] == 'zaloguj'){ naglowek_logow(''); wyswietl_zawartosc_www(); wyswietl_form_logow(); stopka_logow(); } elseif($_GET['a'] == 'wyloguj') { require_once('./wyloguj.php'); } elseif($_GET['a'] == 'przypomnij'){ require_once('./form_zapomHaslo.php'); } else { } break; case($opcja == $_GET['c']): if($_GET['c']=='home'){ require_once( './zaloguj.php'); exit; } elseif($_GET['c']=='opcje'){ require_once('./admin/opcje.php'); exit; } elseif($_GET['c']=='zmienHaslo'){ require_once('./admin/form_zmianyhasla.php'); exit; } elseif($_GET['c']=='raporty'){ require_once('./admin/raporty.php'); exit; } else { exit; } break; } ...
Powiedzmy, że chcę usunąć z bazy danych informacje o produkcie o id = x...
Niech skrypt do usuwania danych o produkcie jest dostepny pod linkiem www.mojastrona.pl/?d=usunProdukt (metodą GET pobierana jest wartość d=usunProdukt i dołączany jest plik obsługujący skrypt)...chcę też, żeby ten plik za pomocą metody GET pobierał również parametr id produktu, który ma usunąć
Przykładowo, klikam link o postaci www.mojastrona.pl/?d=usunProdukt&id=9
I tu właśnie pojawia się problem....
Skrypt działa i wykonuje polecenie poprawnie, ale :
1. chcę, żeby skrypt nie obsługiwał wartości wpisanych w adresie przeglądarki, a tylko wartości przekazane wcześniej metodą GET
2. Gdyby jednak nie udało się spełnić założenia 1, to chcę, aby skrypt rozpoznawał, czy istnieje produkt o podanym id i jeśli w adresie www.mojastrona.pl/?d=usunProdukt&id=9 będzie nieprawidłowy id, to pokaże komunikat, że jest zły adres lub nie ma produktu o takim id i nie można uruchomić usuwania produktu.
3. jaki warunek powinnam napisać, żeby sprawdzał czy jest wpisany prawidłowy adres www i wybierał odpowiednią opcję?
czy:
if($_GET['d'] == 'usunProdukt'){ //to wywołaj skrypt }
czy może
if($_GET['d'] == 'usunProdukt' && $_GET['id']){ //to wywołaj skrypt }
Zależy mi też na tym, żeby nawet po ręcznej zmianie wartości zmiennych w adresie www, skrypt nie wykonywał żadnych poleceń, tylko wywalał od razu błąd (zeby było zabezpieczone przed czymś takim, jak np. zmiana wartości zmiennych lub ich nazw
www.mojastrona.pl/?d=usunProdukt&zmienna=XXX
)
Chcę oczywiście uwzględnić fakt, że skrypt jest uruchamiany dopiero po sprawdzeniu, czy istnieje sesja zalogowanego użytkownika i czy użytkownik ten jest administratorem systemu.
Czy ewentualnie nie będzie problemu, jesli jednocześnie w skrypcie użyję metody i GET i POST, np. do linków GET, do wysyłania danych POST?