.ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録

.検索

.メインメニュー

.フォーラムメニュー

.オンライン状況
21 人のユーザが現在オンラインです。 (20 人のユーザが フォーラム を参照しています。)

登録ユーザ: 0
ゲスト: 21

もっと...

.
.リンク集

メイン
   一般的な話題(General)
     ユーザ登録・確認システムソースコード
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
news
投稿日時: 2010-3-3 14:49
Cake 職人
登録日: 2007-4-4
居住地:
投稿: 1284
ユーザ登録・確認システムソースコード
確認画面付きの、ユーザ登録・メール確認システムのソースと説明が公開されています。

H2O Space. Co., Ltd
CakePHPで、確認画面、確認メールありのユーザー登録をつくる
http://h2o-space.com/blog/1950
sutara
投稿日時: 2010-6-17 21:25
Baker スタート
登録日: 2008-8-2
居住地: 福岡県 北九州市
投稿: 14
Re: ユーザ登録・確認システムソースコード
このような仮登録から本登録へとつなぐシステムについて質問なのですが、
仮登録まで済ませたものの、一定時間を過ぎてしまった仮ユーザーを
削除する処理を作るにはどうすればいいのでしょう?
人力で削除するしかないのでしょうか?

一定時間ごとに有効期限をすぎた仮登録ユーザを検索する処理というものは
作れないのでしょうか…。
tfmagician
投稿日時: 2010-6-20 13:43
Baker スタート
登録日: 2010-4-9
居住地:
投稿: 14
Re: ユーザ登録・確認システムソースコード
LinuxサーバであればcronとCakePHPのコンソールを使えば出来ますね。
コンソールとcronについては以下のマニュアルを参考にすると良いと思います。

http://book.cakephp.org/ja/view/1106/The-CakePHP-Console

ちょっと調べると簡単に出来ますよ!
頑張ってください。

sutara
投稿日時: 2010-6-20 19:52
Baker スタート
登録日: 2008-8-2
居住地: 福岡県 北九州市
投稿: 14
Re: ユーザ登録・確認システムソースコード
>>tfmagicianさん
ありがとうございます!cron、さっそく勉強してみます。
sutara
投稿日時: 2010-6-24 4:26
Baker スタート
登録日: 2008-8-2
居住地: 福岡県 北九州市
投稿: 14
有効期限の過ぎた仮登録ユーザをcronで自動的に削除する処理、できました。
アドバイスありがとうございました。
有効期限の過ぎた仮登録ユーザを、cronで自動的に削除することができるようになりました。

【私の環境】
Ubuntu 10.04
XAMPP for Linux 1.7.3a
CakePHP 1.3.2
データベース:SQLite2

本番用ではなく、ローカルでの開発・テスト用です。
下記のブログに詳細をまとめています。
http://d.hatena.ne.jp/sutara_lumpur/20100624/1277323675
tfmagician
投稿日時: 2010-6-24 9:43
Baker スタート
登録日: 2010-4-9
居住地:
投稿: 14
Re: 有効期限の過ぎた仮登録ユーザをcronで自動的に削除する処理、できました。
擬似的にサーバ設定を用意してindex.phpを呼んでいるようですが、CakePHPにはシェルのフレームワークも用意されてますよ。

提示したURLも悪かったかもしれませんね^^;

http://book.cakephp.org/ja/view/1107/Creating-Shells-Tasks

ここに独自のシェルを作る方法が載ってます。

これを使うと、コントローラで利用するように$usesパラメータを指定してモデルを定義したり、コントローラで言うとコンポーネントにあたるタスク(ちょっと違いますが)を定義して処理をまとめられたりします。

コントローラ/アクションで処理をまとめると、書き方によりますが、仮会員登録削除処理がブラウザからアクセス出来てしまうと思います。また、ロジックを分離する意味でも、シェルでまとめると良いかと思います。

本番用のコードを書くときの、ご参考まで。
sutara
投稿日時: 2010-6-25 9:30
Baker スタート
登録日: 2008-8-2
居住地: 福岡県 北九州市
投稿: 14
cronでCakeのシェルを実行する方式も作りました。
何度も助言ありがとうございますm(_ _)m
おかげさまで、Cakeの自作シェルをcronで実行する処理、
できました。

たしかにこちらのほうが、通常のアクションとcronで行うシェルとで
記述する場所を分けられてわかり易いし、URLを打ち込むと
cron用の処理を実行できてしまうという不恰好な事態を
防ぐことができますね。

今回自分が作成した処理もブログにまとめてみました。
よろしければ、添削をおねがいします…(^ ^;)
http://d.hatena.ne.jp/sutara_lumpur/20100625/1277424666
tfmagician
投稿日時: 2010-6-26 17:29
Baker スタート
登録日: 2010-4-9
居住地:
投稿: 14
Re: cronでCakeのシェルを実行する方式も作りました。
あとはdeleteAllメソッドを使うとすごくシンプルに掛けそうですね。

findのconditions指定と同じ配列でまとめて削除出来ますよ!

こんなこと出来ないかな、と思ったらCakePHPのAPIを見ると大抵メソッドがあります。

http://api13.cakephp.org/class/model#method-ModeldeleteAll

頑張ってくださいね〜。
sutara
投稿日時: 2010-6-26 20:55
Baker スタート
登録日: 2008-8-2
居住地: 福岡県 北九州市
投稿: 14
deleteAllで劇的スッキリになりました。
驚きました…。
deleteAllで、こんなにスリムになりました。
function main(){
	//仮登録から1時間経過したユーザを削除
	$conditions = array(
		'User.status' => '0', //1が正常、0は仮登録の意味
		'User.created <' => date('Y-m-d H:i:s', strtotime('-1 hours'))
	);
	$this->User->deleteAll($conditions);
}

今回は本当にお世話になりました。
ありがとうございました!
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 


. .