Modyfikacja skryptu

Języki, których efekty są wykonywane po stronie serwera. PHP, ASP czy CGI w połączeniu z bazami danych SQL dają niezwykłe możliwości budowy i zarządzania stron WWW. Tu zadajemy pytania oraz demonstrujemy kod, z którym mamy problem.
Zbłąkany
Nowy
Nowy
Posty: 22
Rejestracja: pt mar 26, 2004 1:49 pm

Modyfikacja skryptu

Post autor: Zbłąkany »

[php]<?PHP
if (empty($_GET['id'])){
Header('Location: ?id=sg');
}elseif (!(isset($_GET['id']))){
Header('Location: ?id=sg');
}
?>[/php]
Pytanie jak zmodyfikowac taki skrypt aby dodatkowo jeszcze sprawdzal liste zmiennych ktore ja zadeklaruje i gdy te dwa przypadki i dajmy na to pozostale wartosci id nie beda sie zgadzaly to ma przeladowac strone? chodzi o to ze strona pobiera info z parametru id i jesli ktos wpisze cos innego to wyswietli sie kaszana a tego nie chce:)
Przykladowa lista zmiennych:

Kod: Zaznacz cały

$id="sg";
$id="pa";
$id="sz";
$id="of"
Z gory dziekuje za pomoc:)
one_eddie
Nowy
Nowy
Posty: 106
Rejestracja: sob sty 17, 2004 11:48 am
Lokalizacja: Polska

Re: Modyfikacja skryptu

Post autor: one_eddie »

Zrob tablice prawidlowych parametrow. POtem sprawdz czy podany parametr jest w tej tablicy jesi jest wszystko ok jesli nie informuj o beldzie.

Kod: Zaznacz cały

$arTablica = array("ab", "bc", "cd", "ef");
if (in_array($arTablice, $strID))
{
 // jest ok
}
else
{
// jakas kaszana
}
Zbłąkany
Nowy
Nowy
Posty: 22
Rejestracja: pt mar 26, 2004 1:49 pm

Re: Modyfikacja skryptu

Post autor: Zbłąkany »

Skrypt po modyfikacji wyglada tak:
[php]<?php
$wid=$_GET['id'];
$zmienne=array("sg","sz","pa","of");
if (empty($_GET['id'])){
Header('Location: ?id=sg');
}elseif (!(isset($_GET['id']))){
Header('Location: ?id=sg');
}elseif (!in_array($wid, $zmienne)){
Header('Location: ?id=sg');
}
?>[/php]
Funkcje:
  • sprawdza czy zmienna id zostala w zadeklarowana
    sprawdza czy zmienna id zostala w ustawiona
    sprawdza czy zadeklarowana zmienna nalezy do tych ktore wpisalismy
Nastepna modyfikacje chcialbym zrobic w ten sposob ze jesli jakis osobnik podejrzy np nazwe pliku strony i wpisze adres w przegladarce podstaci:
http://www.abcd.pl/index.php?id=sg to ma wykonywac akcje Header jw.
Mogly ktos napisac jak cos takiego mogloby wygladac?? ewentualnie jaka funkcja zwraca protokol polaczenia, adres serwera, nazwe dokumentu i wszytko co znajduje sie po "?" ???
one_eddie
Nowy
Nowy
Posty: 106
Rejestracja: sob sty 17, 2004 11:48 am
Lokalizacja: Polska

Re: Modyfikacja skryptu

Post autor: one_eddie »

Chlopie odblakaj sie i zajrzyj na www.php.net
ODPOWIEDZ