Autor Zpráva
DJ
Profil *
Zdravím,
vytvořila jsem registraci uživatelů. Po registraci se do databáze uloží jméno, email, heslo a položka is_active = 0. Pro to, aby byl účet aktivovaný, odešle se email a uživatel musí kliknout na link a is_active změní hodnotu na 1. Ještě jednu věc bych potřebovala doladit. A to, když uživatel neklikne na odkaz v mailu do týdne, aby se jeho záznam z databáze automaticky smazal.
Jakým způsobem mám postupovat?
Předem děkuji za odpovědi.
Medvídek
Profil
DJ:
Stačí vytvořit skript, kde smažeš vše, kde je is_active 0 a datum + INTERVAL 7 DAY je menší než NOW(). (Tady musíš vytvořit sloupec s datem, kdy se registroval)
Pak se stačí rozhodnout, jestli ten soubor spustíš ručně třeba jednou za měsíc, nebo to hodíš třeba do CRONu.
jenikkozak
Profil
DJ:
Určitě se bude hodit ukládat i datum registrace uživatele.
Podle toho, jak často se uživatelé budou registrovat, můžeš použít výše uvedené možnosti, nebo smazat neaktivní uživatele při registraci uživatele nového. (Při zapisování dat nového uživatele se skript podívá, jestli tam není někdo neaktivní příliš starý, a smaže ho.)
DJ
Profil *
Díky za radu a ještě mám jeden dotaz k tomu.
Zjistím si dnešní datum, tj. ve formátu 2011-09-14, a jak od toho odečtu 7 dní?
Medvídek
Profil
DJ:
V DB budeš mít sloupec datum, kterej bude mít formát třeba DATE TIME (aby se s nim dalo pracovat jako s datem).
A přímo v SQL dotazu se zeptáš
DELETE FROM users WHERE is_active = 0 AND datum + INTERVAL 7 DAY < NOW();
DJ
Profil *
díky moc, krásný, rychlý, elegantní :)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0