ユーザーテーブル:
CREATE TABLE IF NOT EXISTS `users` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`username` varchar(255) COLLATE utf8_persian_ci NOT NULL,
`password` varchar(255) COLLATE utf8_persian_ci NOT NULL,
`email` varchar(100) COLLATE utf8_persian_ci NOT NULL,
`created` datetime NOT NULL,
`status` tinyint(1) NOT NULL,
`activation_code` varchar(255) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `email` (`email`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_persian_ci AUTO_INCREMENT=4 ;
ユーザーが登録すると、uはactivation_codeフィールドに一意の文字列(サンプル:md5(time())またはその他...)を設定できます。次のURLのようなメールをユーザーに送信します。
http://test/controller/action/activation_code
ここで、このactivation_codeがユーザーテーブルにあるかどうかをアクションでチェックインする必要があります。
もしそうなら、そのステータス=無効にするかどうか...。