Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MySQL]Link aktywujący zarejestrowanego użytkownika
--tomi--
post 18.07.2012, 18:17:36
Post #1





Goście







Witam

Mam problem z końcową częścią rejestracji. Chce zrobić tak, aby po wpisaniu danych i kliknięciu zarejestruj automatycznie był wysyłany mail z linkiem aktywującym konto. Mam już prawie wszystko gotowe, to jest końcówka kodu:

  1. ...
  2. // i wykonujemy zapytanie na dodanie usera
  3. mysql_query("INSERT INTO `users` (`user_name`, `user_password`, `user_email`, `user_regdate`, `kod_aktywujacy`) VALUES ('{$_POST['name']}', '{$_POST['password']}', '{$_POST['email']}', '".time()."', '{$_POST['kod']}')");
  4. echo '<p>Zostałeś poprawnie zarejestrowany! Na podany przez Ciebie e-mail wysłany został link aktywujący.</p>';
  5. }
  6. if(mail("'{$_POST['email']}'", "Mail testowy", "http://www.domena.pl/mail.php?id='{$_POST['user_id']}'&kod='{$_POST['kod']}'")){
  7. echo "Email został wysłany z powodzeniem.";
  8. } else {
  9. echo "Email nie został wysłany.";
  10. }
  11. ...


Takie rozwiązanie w ogóle nie wysyła maila, natomiast kiedy w miejsce '{$_POST['email']}' wrzuciłem konkretny adres mailowy to wtedy wysyłało poprawnie.
Go to the top of the page
+Quote Post
nospor
post 18.07.2012, 18:22:19
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




A od kiedy email bierze się w apostrofy??
Czemu masz: "'email'"?
Ma być: "email"
Uzywacie tych ciapków bez ładu i składu nie wiedząc w ogóle po co to robicie...

Napisze ci dokladnie bo moze się okazac ze nie zrozumiales tego co powyzej.
Nie: "'{$_POST['email']}'"
a: "{$_POST['email']}"
a najlepiej: $_POST['email']

Trochę podstaw by się przydało.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
--tomi--
post 18.07.2012, 18:52:56
Post #3





Goście







Dzięki, działa.

Jeszcze jedno pytanie, jak sformułować treść, żeby kliknięcie w link spowodowało zmiane wartości w pola w bazie danych. Mam pole aktywacja, kiedy użytkownik się zarejestruje to automatycznie ma polu aktywacja wartość '0', a ja chciałbym, żeby po kliknięciu w link ta wartość zmieniła się na 1.

Jeszcze raz wrzuce skrawek kodu:

  1. mysql_query("INSERT INTO `users` (`user_id`, `user_name`, `user_password`, `user_email`, `user_regdate`, `kod_aktywujacy`, `aktywacja`) VALUES ('','{$_POST['name']}', '{$_POST['password']}', '{$_POST['email']}', '".time()."', '{$_POST['kod']}', '0')");
  2. echo '<p>Zostałeś poprawnie zarejestrowany! Na podany przez Ciebie e-mail wysłany został link aktywujący.</p>';
  3. }
  4. if(mail("{$_POST['email']}", "Mail testowy", "http://www.barkos1.linuxpl.info/rower/mail.php?id='{$_POST['user_id']}'&kod='{$_POST['kod']}'")){
  5. echo "Email został wysłany z powodzeniem.";
  6. } else {
  7. echo "Email nie został wysłany.";
  8. }
Go to the top of the page
+Quote Post
csharp
post 18.07.2012, 19:22:42
Post #4





Grupa: Zarejestrowani
Postów: 127
Pomógł: 3
Dołączył: 22.04.2012
Skąd: Warszawa

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


Najlepiej aby do tego linka aktywujacego dodany był jakiś kawałek unikalnego kodu, który zostanie zapisany w bazie. Kod dopisujesz do jakiejś zmiennej get i pózniej po kliknięciu sprawdzasz - jeśli istnieje GET to sprawdź do kogo jest przypisany i zaktualizuj pole..


--------------------
Prywatny blog -> cupial.com.pl
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 14:27