Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Problem z weryfikacją nowego użytkownika
swiru_
post
Post #1





Grupa: Zarejestrowani
Postów: 63
Pomógł: 0
Dołączył: 1.10.2009

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


Witam, tworze skrypt rejestracji nowego usera:

  1. public function setActive($token)
  2. {
  3. $query = sprintf('SELECT TOKEN FROM JAKAS_NAZWA_PENDING WHERE USER_ID = %d ' .
  4. 'AND TOKEN = "%s"', $this->uid,
  5. mysql_real_escape_string($token, $GLOBALS['DB']));
  6. $result = mysql_query($query, $GLOBALS['DB']);
  7.  
  8. if (!mysql_num_rows($result))
  9. {
  10. return false;
  11. }
  12.  
  13. else
  14. {
  15. $query = sprintf('DELETE FROM JAKAS_NAZWA_PENDING WHERE USER_ID = %d ' .
  16. 'AND TOKEN = "%s"', $this->uid,
  17. mysql_real_escape_string($token, $GLOBALS['DB']));
  18. mysql_query($query, $GLOBALS['DB']);
  19.  
  20. $this->isActive = true;
  21. $this->save();
  22. return true;
  23. }
  24. }


fragment kodu z klasy user, kod dziala tak: gosciu sie rejestruje, jesli wszystkie dane zostaly wpisane poprawnie, jest generowany TOKEN i wysylany do goscia na @ link z zawartym tokenem, gosciu klika na link i jesli id usera oraz token sie zgadza to wpisy z tabeli pending sa kasowe a z kolei w tabeli user gosciu o tym samym ID dostaje oznaczenie rekordu w polu IS_ACTIVE jako true, (domyslnie jest false)... tak powinno byc ale nie jest.. wpis z tabeli pending jest kasowany, ale nie zminia sie nic w polu IS_ACTIVE tabeli user... czy ktos ma jakiś pomysl dla czego tak sie dzieje?

aa i jeszcze funkcja save z tejsamej klasy:

  1. public function save()
  2. {
  3. if ($this->uid)
  4. {
  5. $query = sprintf('UPDATE JAKAS_NAZWA_USER SET USERNAME = %s , PASSWORD = %s , EMAIL_ADDR = %s , IS_ACTIVE = %d WHERE USER_ID = %d ', mysql_real_escape_string($this->username, $GLOBALS['DB']),
  6. mysql_real_escape_string($this->password, $GLOBALS['DB']),
  7. mysql_real_escape_string($this->emailAddr, $GLOBALS['DB']),
  8. $this->isActive, $this->userId);
  9. mysql_query($query, $GLOBALS['DB']);
  10. }
  11. else
  12. {
  13. $query = sprintf('INSERT INTO JAKAS_NAZWA_USER (USERNAME, PASSWORD, ' .
  14. 'EMAIL_ADDR, IS_ACTIVE) VALUES ("%s", "%s", "%s", %d)',
  15. mysql_real_escape_string($this->username, $GLOBALS['DB']),
  16. mysql_real_escape_string($this->password, $GLOBALS['DB']),
  17. mysql_real_escape_string($this->emailAddr, $GLOBALS['DB']),
  18. $this->isActive);
  19. mysql_query($query, $GLOBALS['DB']);
  20.  
  21. $this->uid = mysql_insert_id($GLOBALS['DB']);
  22. }
  23. }

Pozdrawiam

Ten post edytował swiru_ 30.01.2010, 16:18:00
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 Aktualny czas: 21.08.2025 - 14:53