Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Problem z aktywacją konta
Forum PHP.pl > Forum > Przedszkole
ziomKRK
Witam użytkowników forum!
Znalazłem na internecie gotowy skrypt strony do postawienia na serwerze z bazą MySql. Dobra ładnie działa tylko problem z rejestracją a właściwie z aktywacją konta. Problem polega na tym że konto się nie aktywuje. W bazie status aktywnego konta wynosi 1 a nieaktywnego 0. W e-mailu podany jest link do strony w której trzeba wpisać login i wygenerowany kod. Wpisuje login i wygenerowany kod i nie aktywuje konta. Czy mógł by mi ktoś pomóc i sprawdzić kod i jak coś poprawić. Z góry dziękuje.


  1. <?php
  2. if (isset($_GET['login'], $_GET['code']))
  3. {
  4. $res = mysql_query('select * from `fbw_useradmin` where `login`=\'' . mysql_value($_GET['login']) . '\'');
  5.  
  6. if (mysql_num_rows($res) == 0)
  7. {
  8. echo 'Użytkownik z takim loginem nie istnieje.';
  9. }
  10. else
  11. {
  12. $row = mysql_fetch_assoc($res);
  13.  
  14. if ($row['permissions'] > 0)
  15. {
  16. echo 'Twoje konto zostało już wcze?niej aktywowane.';
  17. }
  18.  
  19. if (!mysql_query('update `fbw_user` set `permissions` = \'1\' where `login`=\'' . mysql_value($_GET['login']) . '\''))
  20. {
  21. echo 'Nie można zaaktualizować bazy danych. Spróbuj ponownie lub skontaktuj się z administratorem.';
  22. }
  23. else
  24. {
  25. echo 'Twoje konto zostało pomy?lnie zaaktywowane.';
  26. }
  27. }
  28. }
  29. else
  30. {
  31. ?>
  32.  
  33. <form action="index.php?page=aktywacja" method="get">
  34. <table border="0" cellspacing="3" cellpadding="0">
  35. <tr><td>Login:</td><td><input type="text" name="login" size="20" /></td></tr>
  36. <tr><td>Kod aktywacyjny:</td><td><input type="text" name="code" size="20" /></td></tr>
  37. <tr><td colspan="2"><input type="submit" value="Dalej" /></td></tr>
  38. </table>
  39. </form>
  40.  
  41. <?php
  42. }
  43. ?>
darko
Wszystko pięknie, tylko:
- gdzie wysyłasz kod aktywacyjny?
- gdzie go sprawdzasz?

Pytając gdzie mam na myśli miejsca w (nie)Twoim kodzie.
ziomKRK
Kod zostaje wysłany w e-mailu do każdego użytkownika który chce się zarejestrować. Ten kod też jest zapisany w bazie mysql przy użytkowniku i tutaj chyba ten skrypt będzie chciał go porównać. I problem jak napisałem w pierwszym poście nie zmienia statusu.

Błąd w linijce 19 powinno być
  1. if (!mysql_query('update `fbw_useradmin` set `permissions` = \'1\' where `login`=\'' . mysql_value($_GET['login']) . '\''))
pedro84
Nie wiem jaką masz strukturę, ale... na początku sprawdzasz w tabeli fbw_useradmin, a potem chcesz aktualizować fbw_user.
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.