Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Potwierdzenie rejestracji
Forum PHP.pl > Forum > PHP
djgarsi
Witam. Mam problem ze skryptem potwierdzenia rejestracji.
Skrypt wysyła maila z linkiem aktywacyjnym (postać linku to adres.pl/user_activate.php?key=md5_loginu).
I problem polega na tym że po wejściu w link nie zmienia pola aktywacji z 0 na 1.

Mój skrypt wygląda tak.
w rejestracji wysyłanie maila:
  1. // Wiadomość
  2. $message = 'Witamy. Niniejszy adres mail zostal uzyty przy rejestracji w serwisie.<br><br>
  3. Jesli nie rejestrowales(as) sie u nas, poprostu zignoruj tego maila.<br>
  4. Aby aktywowac zarejestrowane kont kliknij w ponizszy link<br>
  5. <a href="http://www.adres.pl/user_activate.php?key='.$key.'"><b>Potwierdz rejestracje</b></a>';
  6.  
  7. $headers = 'MIME-Version: 1.0' . "\r\n";
  8. $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
  9.  
  10. // W przypadku każdej linii dłuższej niż 70 znaków powinniśmy użyć funkcji wordwrap()
  11. $message = wordwrap($message, 70);
  12.  
  13. // Wyślij
  14. mail($email, 'Aktywacja konta na adres.pl', $message, $headers);


W user_activate.php:
  1. $Query='SELECT * FROM users WHERE login="'.mysql_real_escape_string($_GET['user']).'"';
  2. $result = mysql_query($Query) or die(mysql_error());
  3. while ($row = mysql_fetch_array($result))
  4. {
  5. if($row[active]==0) {
  6. if($_GET['key']==md5($row[login])) {
  7. $a_user='UPDATE users SET active=1';
  8. mysql_query($a_user);
  9. }
  10. }
  11. elseif($row[active]==1) {
  12. echo'UWAGA! User juz aktywowany. Mozesz sie zalogowac.';
  13. }
  14. else {
  15. echo'UWAGA! Wystapil blad. Sprawdz poprawnosc link aktywacyjnego lub skontaktuj sie z administracja.';
  16. }
  17. }
kilab
Nie powinno być:
  1. $a_user="UPDATE users SET active = '1'";

?
franki01
W linku aktywacyjnym przekazujesz $_GET['key'], natomiast w user_activate.php w zapytaniu korzystasz z $_GET['user']. Może trzeba to inaczej rozwiązać?
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.