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