Witaj, Gościu O nas | Kontakt | Mapa
Wortal Forum PHPEdia.pl Planeta Kubek IRC Przetestuj się!
Kategorie

Kategorie

Kategoria wyżej
O autorze

O autorze

Michał (Xarr) Zieliński
Reklama

Reklama

Podobne Artykuły

Poniżej znajduje się lista podobnych artykułów:
Brak powiązanych artykułów

Weryfikacja adresu e-mail w PHP

Wiele tworzonych dzisiaj aplikacji internetowych musi umieć radzić sobie z walidacją adresów poczty elektronicznej. Można to zrobić na wiele sposobów, aczkolwiek jest jedna łatwa i szybka metoda polegająca na napisaniu własnej funkcji w PHP. Właśnie to postara się wyjaśnić w niniejszym artykule autor Alejandro Gervasio.

W dobie ekspansji i nieustającego rozwoju sieci tworzone witryny internetowe muszą umieć sobie radzić z problemem użytkowników podających niepoprawne adresy e-mail. Oczywiście temat ten powinien brzmieć znajomo dla większości twórców witryn internetowych zarówno dla tych, którzy umieszczają swoje pierwsze, pisane jak najdokładniej skrypty, czy też tych, którzy implementują bardziej złożone. Niezależnie od sytuacji sprawdzanie poprawności adresów mailowych pod kątem ich przynależności do mogącej istnieć bądź nie domeny jest dobrym zabezpieczeniem (przynajmniej częściowym) przed późniejszymi, narastającymi problemami związanymi z otrzymywaniem fałszywych danych. Zaśmiecanie naszej bazy danych nieprawdziwymi informacjami, wysyłanie powiadomień o nowościach, czy też inne tego typu informacje przesyłane na adresy przynależące do nieistniejących domen mogą nas z czasem przyprawić o bóle głowy..

Do problemu można podejść na parę sposobów. Wszystko zależy od tego jak dokładnie aplikacja ma walidować te adresy. Jeśli wystarczy podstawowy stopień sprawdzania poprawności napisanie w PHP prostej funkcji porównującej wpisany adres do wzorca może w zupełności spełnić twoje oczekiwania. Czasami jednak wymagamy od naszej aplikacji dokładniejszej walidacji. Wtedy powinniśmy zaznajomić się ze sprawdzonymi już klasami takimi jak HTML_Quick Form z pakietu PEAR, czy wieloma innymi.

Trzecią możliwością jest napisanie własnego zestawu funkcji w celu dogłębnego sprawdzania adresów e-mail, co może okazać się rozwiązaniem pośrednim pod względem złożoności pomiędzy tymi dwoma opisanymi powyżej. Metoda ta jest na tyle funkcjonalna i przenośna, że może być użyta jeśli chcemy rozszerzyć naszą wyjściową, podstawową funkcję sprawdzającą lub dodać do już istniejącej nową funkcjonalność..

W tym artykule rozbudujemy krok po kroku funkcjonalność validowania adresu mailowego tak, aby była możliwie najdokładniejsza. Nasze rozwiązanie pozwoli zademonstrować siłę pewnych ciekawych, wbudowanych funkcji sieciowych w PHP , pokaże ono również jak bardzo można zredukować szanse na zaśmiecanie naszej aplikacji przez fałszywe emaile.

Informacje na podobny temat:
Wasze opinie
Wszystkie opinie użytkowników: (6)
Weryfikacja adresu e-mail w PHP
Czwartek 29 Marzec 2012 12:17:49 pm - pp-layouts <machine_at_nisza.org>

Wiedziałem, że w artykule będzie sposób 1 regexem. To zło, ten regex jest nieprawdopodobnie wolny, co wychodzi, jak chce się ten sam algorytm użyć do walidacji emaila po stronie klienta podczas wpisywania. Rozwiązanie jest banalnie proste - dzielimy e-mail po małpie na 2 części i walidujemy osobno domenę (prostsze reguły) i login (troszkę trudniejsze reguły). Ta metoda jest wystarczająco szybka nawet uruchamiana po każdym naciśnięciu klawisza w IE7.

Data Filtering Extension
Sobota 16 Styczeń 2010 10:15:55 pm - Meares <meares_at_mixbox.pl>

W PHP5.2 jest domyślnie aktywne rozszerzenie "Data Filtering", które pozwala na walidację wielu rzeczy, w tym adresu e-mail. Adres e-mail można sprawdzić w następujący sposób:
<?php
filter_var('admin@przyklad.pl', FILTER_VALIDATE_EMAIL);
?>

walidacja
Czwartek 16 Kwiecień 2009 1:09:39 am - x10d <djek_at_toya.net.pl>

@walidacja/rozny:
usun wszystkie spacje z wyrazenia preg_match, to zadziala:>

walidacja
Piątek 04 Styczeń 2008 4:33:12 pm - rozny <rozny_at_tlen.pl>

a mi to to nie dziala... jakiego meila bym nie wpisal wyswietla invalid email address... :(

validacja
Niedziela 20 Maj 2007 11:55:19 am - Prym

Oczywiście masz rację że najprościej jest wysłać maila z kodem aktywacyjnym. ale są sytuacje w których nie chodzi o zakładanie konta ale o np umowę - gość wprowadza dane łącznie ze swoim adresem mailowym który jest wymagany do kontaktu i to nawet nie dla mnie ten validator ale niech sie klient kropnie w swoim mailu - a juz kilka razy widzialem jak ludzie robia spacje nie tam gdzie trzeba a potem jest krzyk ze nie ma odzewu na zapytanie czy inną sprawę.

Dlatego napisze genialny artykuł :) zwłaszcza validacja domen mnie polozyła nie wiedzialem ze az tyle sposobów jest na to.

Komentarz ?
Poniedziałek 26 Luty 2007 8:58:02 am - puciek

A nie prosciej po prostu wyslac email na podany adres z kluczem aktywacyjnym ?
100% skuteczna metoda

Mentax.pl    NQ.pl- serwery z dodatkiem świętego spokoju...   
O nas | Kontakt | Mapa serwisu
Copyright (c) 2003-2017 php.pl    Wszystkie prawa zastrzeżone    Powered by eZ publish Content Management System eZ publish Content Management System