Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Problem z potwierdzeniem rejestracje poprzez email
rudolf35
post
Post #1





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 17.10.2007

Ostrzeżenie: (0%)
-----


Robie potwierdzenie rejestracji uzytkownika poprzez email. Wykorzystałem do tego funkcje mail, ale ona mi zwraca wartosc "true" nawet jesli nie wpisze zadnego adresu email, mój kod:
CODE
if(mail($email_temat, $email_temat, $email_wiadomosc))

{

mysql_query('INSERT INTO `admin` (`login`, `haslo`) VALUES(

\''.mysql_real_escape_string($_POST['login']).'\',

\''.mysql_real_escape_string($_POST['haslo']).'\')');

echo "Twoje konto zostało utworzone";

}

else

{

echo "Popraw adres email";

}

i dlatego w kazdym przypadku pisze "Twoje konto zostało utworzone", prosze o rade lub podsuniecie mi alternatywnej funkcji. Pozdro
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
dadexix
post
Post #2





Grupa: Zarejestrowani
Postów: 439
Pomógł: 21
Dołączył: 28.06.2007
Skąd: Bielsko-Biała

Ostrzeżenie: (0%)
-----


a co chjcesz uzyskać?

i w ogóle 2 razy dajesz temat?

if(mail($email_temat, $email_temat, $email_wiadomosc))
Go to the top of the page
+Quote Post
rudolf35
post
Post #3





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 17.10.2007

Ostrzeżenie: (0%)
-----


Chce uzyskać taki efekt, zeby funkcja w przypadku podania złego adresu email zwracała wartosc "false", a wtedy automatycznie warunek byłby nie spełniony. Ten drugi temat dałem później, żeby sprawdzić czy w kazdym przypadku zwruci ona wartosc "true" i tak tez sie stało, bo oczywiste ze tam powinna byc zmienna zawierajaca jakis adre email. Po prostu chce aby nie mozna było stworzyc konta jesli user poda adres email na ktury funkcja ta nie ma prawa niczego wysłac
Go to the top of the page
+Quote Post
dadexix
post
Post #4





Grupa: Zarejestrowani
Postów: 439
Pomógł: 21
Dołączył: 28.06.2007
Skąd: Bielsko-Biała

Ostrzeżenie: (0%)
-----


hmm takie proste to nie jest bo nawet jeśli adres będzie nie poprawny to go wyśle... jeśli np. będzie wysłany na nie istniejącą skrzynkę to serwer MX może(lecz nie zawsze) wysłać zwrotnego maila że adres nie prawidłowy.. ale to 1. może trwać 2. php to nie pop3 i nie umie "samo" odbierać maili....
ale można zrobić coś takiego najpierw sprawdzasz czy w ogóle coś ten ktoś wpisal...
  1. <?php
  2. isset($zmienna);
  3. ?>


potem sprawdzasz czy w ciągu jest @

Kod
$ile = substr_count($adres_mail, '@');
if ($ile == 1){insturukcje jeśli ok}


Jeszcze możesz sprawdzić czy domena istnieje ale z tym nie do mnie - ja początkujący - ale chyba by to był CURL:P

Ten post edytował dadexix 22.11.2007, 20:03:30
Go to the top of the page
+Quote Post
Redchiro
post
Post #5





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 27.10.2007

Ostrzeżenie: (0%)
-----


Ta funkcja sprawdza czy ciąg znaków jest adresem e-mail (poprawnym czyli jest @ i .):
CODE
ereg ("^.+@.+\..+$", $_POST['mail']))

jeśli zwróci True tzn ze adres poprawny.
Go to the top of the page
+Quote Post
dadexix
post
Post #6





Grupa: Zarejestrowani
Postów: 439
Pomógł: 21
Dołączył: 28.06.2007
Skąd: Bielsko-Biała

Ostrzeżenie: (0%)
-----


  1. <?php
  2. substr_count($adres_mail, '@')
  3. ?>
a ta niby nie działa? zwraca 1 jeśli jest to poprawny adres:P

edit: a Ty sprawdzasz jeszcze kropkę? noo tak też można:P ale co za róznica:D? możesz dodać
Kod
substr_count($adres_mail, '.')
i gotowe:P

tylko nie wiem czy Twoja funkcja nie zwróci true jeśli małpy będą dwie albo i nawet trzy[..]? moja jeśli da jeden to mała jest tylko jedna.. a jeśli jest więcej to da więcej(przy dwóch @ daje 2 itd)

Ten post edytował dadexix 22.11.2007, 21:53:43
Go to the top of the page
+Quote Post
rudolf35
post
Post #7





Grupa: Zarejestrowani
Postów: 83
Pomógł: 0
Dołączył: 17.10.2007

Ostrzeżenie: (0%)
-----


Dzięki dadexix, wykorzystałem zaproponowane przez ciebie funkcje, zawsze coś do przodu (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif) . Chociarz nie zabezpieczy to przed tworzeniem konta "dla jaj", ale wprowadzi troche porządku. Bede musiał popracować nad wysyłaniem na maila linka aktywacyjnego, a to troche więcej roboty (IMG:http://forum.php.pl/style_emoticons/default/worriedsmiley.gif)
Go to the top of the page
+Quote Post
-Gość-
post
Post #8





Goście







Poprawność wprowadzonego adresu e-mail najlepiej sprawdzić wyrażeniem regularnym (np. http://www.regular-expressions.info/email.html) bo co jeśli ktoś wpisze "jozek@jozek" albo wręcz samo "@"?
Go to the top of the page
+Quote Post
dadexix
post
Post #9





Grupa: Zarejestrowani
Postów: 439
Pomógł: 21
Dołączył: 28.06.2007
Skąd: Bielsko-Biała

Ostrzeżenie: (0%)
-----


jak się chce dobrze sprawdzać można sprawdzać czy istnieje podana domena... więcej chyba się nie zrobi...
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 19:50