![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 0 Dołączył: 16.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
Mam obecnie formularz rejestracji i osobne stronke.php ktora wszystko przetwarza. Ponizej znajduje sie kawalek kodu. Chce zastapic obecna forme sprawdzania poprawnosci email na ta ktora znajduje sie pod skrawkiem ponizszego kodu ale nie chce dzialac, tzn uzytkownik wpisujac np. "rjfsndvnd" jako email wciaz moze wyslac formularz.
Ma ktos pomysl jak to robic by chodzilo? Probowalem juz ten kod wstawic w obecny lub wkleic do osobnego pliku i zalaczyc jako 'include' ale nic... <?php if (isset($_POST['Submit'])) { //Validate form $errormessage = ""; $no_Win_OS = "Win OS"; $resp = recaptcha_check_answer ($privatekey, $_SERVER["REMOTE_ADDR"], $_POST["recaptcha_challenge_field"], $_POST["recaptcha_response_field"]); if ($name == '') { $errormessage .= "<li>Please provide your User Name</li>";} if ($Email == '') { $errormessage .= "<li>Please provide your e-mail address</li>";} if (!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $Email)){ $errormessage = $errormessage . "<li>Please provide a valid e-mail address</li>";} if ($iPAD_model == '0') { $errormessage .= "<li>Please provide your iPAD capacity</li>";} if ($Win_OS == '0') { $errormessage .= "<li>Please provide your Win OS version</li>";} if ($iOS == '0') { $errormessage .= "<li>Please provide your iOS version</li>";} if ($Wi_Fi == '0') { $errormessage .= "<li>Please provide your Wi-Fi connection type</li>";} //if ($existing_user == "yes") && ($details == ''){ $errormessage .= "<li>Please provide details</li>";} if (!$resp->is_valid) { // What happens when the CAPTCHA was entered incorrectly $errormessage .= "<li>The reCAPTCHA wasn't entered correctly. <br> Go back and try it again.</li>"; } echo "</ul></p>"; //If errors, return error message(s) and form if ($errormessage != "") { ?> ________________________________________________________________________________ function check_email_address($mail) { // First, we check that there's one @ symbol, // and that the lengths are right. if (!ereg("^[^@]{1,64}@[^@]{1,255}$", $Email)) { // Email invalid because wrong number of characters // in one section or wrong number of @ symbols. return false; } // Split it into sections to make life easier $email_array = explode("@", $Email); $local_array = explode(".", $email_array[0]); for ($i = 0; $i < sizeof($local_array); $i++) { if (!ereg("^(([A-Za-z0-9!#$%&'*+/=?^_`{|}~-][A-Za-z0-9!#$%&'*+/=?^_`{|}~\.-]{0,63})|(\"[^(\\|\")]{0,62}\"))$", $local_array[$i])) { return false; } } // Check if domain is IP. If not, // it should be valid domain name if (!ereg("^\[?[0-9\.]+\]?$", $email_array[1])) { $domain_array = explode(".", $email_array[1]); if (sizeof($domain_array) < 2) { return false; // Not enough parts to domain } for ($i = 0; $i < sizeof($domain_array); $i++) { if (!ereg("^(([A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])|([A-Za-z0-9]+))$", $domain_array[$i])) { return false; } } } return true; } Ten post edytował tifoso 1.11.2010, 11:13:47 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
od tego jest filter_var
poza tym nie używa się już eregi ani ereg ! P.S. Na forum jest bbcode i obowiązuje każdego. -------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 0 Dołączył: 16.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
Za duzo mi Twoja odpowiedz nie pomogla. A gdybym jednak chcial uzyc kodu ktory podalem w poprzednim poscie, to jak by to mialo wygladac?
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
A powinna Ci dużo pomóc bo jeśli nie skorzystasz z rady kolegi to skrypt Ci w końcu siądzie (na php 5.3 <), nie mówiąc o tym, że nie przepuści maili, które są prawidłowe (konwencje się zmieniają, a kod nie).
Jeśli chcesz to pokaże Ci o wiele ładniejszą funkcje do walidacji e-mail, którą sobie nazwiesz "check_email_address" i implementacja będzie taka sama jak tego potworka w Twoim pierwszym poście. Ten post edytował markonix 1.11.2010, 11:32:48 -------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
To
Zamieniasz na:
;] Nie wiem czego nie rozumiesz. W dodatku prosiłem o użycie bbcode, aby się to dało czytać. -------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.07.2025 - 08:34 |