Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL]Link aktywujący zarejestrowanego użytkownika
--tomi--
post
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
 
Start new topic
Odpowiedzi (1 - 3)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 559
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.
Go to the top of the page
+Quote Post
--tomi--
post
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
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..
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: 3.10.2025 - 09:53