Walidacja adresu e-mail

PHP - Tips & Tricks Komentarze (3) »

Tworząc jakikolwiek formularz rejestracyjny (bądź formularz zamówienia) zazwyczaj użytkownik musi podać swój adres e-mail. Jest to jak najbardziej zrozumiałe – jeśli jesteś właścicielem sklepu internetowego, to musisz mieć e-mail klienta, aby poinformować go o kolejnych etapach realizacji zamówienia (np. wysłać mail o tym, że właśnie wyszła przesyłka). Czasami istnieje konieczność poinformowania klienta o chwilowych problemach (np. informacja o opóźnieniu, gdyż z jakiegoś powodu towar będzie na magazynie dopiero za kilka dni itp.)

Dodatkowo w przypadku formularza zamówienia warto jest zachęcać klientów do podawania telefonu kontaktowego (w razie jakichkolwiek problemów można szybko i sprawnie się skomunikować z klientem poprzez wykonanie telefonu).

Jak widać – adres e-mail jest jedną z ważniejszych rzeczy, jaką podaje osoba wypełniająca formularz. Dlatego trzeba zadbać, aby e-mail podany przez użytkownika był prawidłowy. Jednym ze sposobów na sprawdzenie adresu e-mail jest wysłanie na owy adres specjalnego linka weryfikacyjnego. Jeśli dana osoba kliknie w link to znaczy, że otrzymała e-mail, a więc e-mail jest prawidłowy. Jednak gdy dana osoba popełni jakiś błąd, to może w nieskończoność czekać na e-mail, który nie dojdzie. Dlatego też warto jest weryfikować „z grubsza” adres e-mail, czy ma prawidłowy format (tj. jeśli ktoś wpisze np. to system przepuści taki adres pomimo, że pewnie on nie istnieje, ale za to odsieje on różnego rodzaju błędne e-maile w stylu: bla (przypadkowo dodana spacja podczas pisania w pośpiechu)).

Poniżej podaję gotową funkcję, która weryfikuje poprawność adresu e-mail. Znalazłem ją na stronie http://ocaoimh.ie Co ciekawe funkcja jest dobra, gdyż nie przepuszcza e-maili z „polskimi ogonkami” (np. czasami ktoś odruchowo zamiast nowako wpisuje nowakó). Niektóre znalezione w internecie funkcje do walidacji adresu e-mail mają tę wadę, że przepuszczają takie błędne adresy. Czytaj dalej »

Tagi: , ,

Jak zrobić przekierowanie na inną stronę?

PHP - Tips & Tricks Komentarze (4) »

Czasami zachodzi potrzeba przekierowania internauty na inną stronę. Np. piszesz prosty skrypt logowania i „formularz wysyła dane” do pliku login.php. W przypadku wpisania błędnego loginu/hasła plik login.php jeszcze raz wyświetla formularz logowania z stosownym komunikatem. Natomiast w przypadku podania prawidłowej pary login/hasło chcesz, aby użytkownik został przekierowany np. do pliku panel.php (oczywiście musisz zadbać o to, że jeśli sesja nie została poprawnie utworzona to plik panel.php się buntuje i przekierowywuje
użytkownika do formularza logowania, albo wyświetla komunikat błędu). Poniżej przedstawiam prosty sposób, na przekierowanie użytkownika na inną stronę (UWAGA: wcześniej nie może nic zostać wyświetlone na ekranie podobnie jak to ma miejsce z tworzeniem sesji czy też zapisywaniem ciasteczek)

header("Location: panel.php\n\n");

Zamiast panel.php należy podać nazwę innego pliku, na który chcemy przekierować internautę (można podać też pełną formę adresu łącznie z http:// np. http://www.onet.pl). Nie zapomnij o tym, że na końcu funkcji header powinny się znaleźć znaki przejścia do nowej linii (\n)

Tagi: , , ,

Jak włączyć register globals?

PHP - Tips & Tricks Komentarze (1) »

W PHP3, aby odwołać się do zmiennej wysłanej przez formularz (niezależnie czy metodą GET, czy metodą POST) pisało się nazwę zmiennej np.

echo($pole);

Jest to bardzo wygodne, ale okazuje się, że użytkownik może oszukiwać aplikację. Czasami można poprzez doczepienie parametru do adresu URL ustawić wartość jakiejś zmiennej w kodzie PHP co może mieć katastrofalne skutki, jeśli programista pisze niechlujny kod. Dlatego też odchodzi się od domyślnie włączonej obsługi register globals. Wtedy należy się do zmiennych odwoływać poprzez specjalne tablice tj.

dla zmiennych wysyłanych metodą post:

echo($_POST['pole']);

dla zmiennych wysyłanych metodą get:

echo($_GET['pole']);

Często sam w kodzie sobie upraszczam pisząc w pierwszych linijkach kodu instrukcje przypisania tj.

$imie=$_POST['imie'] ;
$nazwisko=$_POST['nazwisko'];

Jednak czasami istnieje konieczność włączenia register globals (np. gdy korzystamy z jakiejś starej aplikacji, która ma setki linii kodu i dość czasochłonne by było poprawienie jej tak, aby spełniała najnowsze standardy). Wtedy można się pokusić o włączenie register globals (co wiążę się z zwiększonym ryzykiem ataku) poprzez dopisanie magicznej formułki do pliku .htaccess

Czytaj dalej »

Tagi: , , , , , , , ,

WordPress - Hosting: Twój hosting - Skórka: N.Design Studio - Spolszczenie: Adam Klimowski.
RSS wpisów RSS komentarzy Zaloguj się
  • RSS
  • Newsletter
  • YouTube