Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]Link aktywujący zarejestrowanego użytkownika
Forum PHP.pl > Forum > Przedszkole
-tomi-
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.
nospor
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.
-tomi-
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. }
csharp
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..
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.