開発メモ,主に補足by子連れ親父プログラマー

2011-10-03

CakePHP1.3で作る会員管理システム(19) 退会処理

退会処理

最後に退会の処理を作ります。 アクション delete() のままでもいいんですが、お客さんに delete ってのもどうかと思ったので、 leave にしてみました。

    function leave() {
        if (!$this->Session->check('Member.id')) {
            $this->redirect(array('action'=>'login'));
        }
        if (!empty($this->data)) {
            if ($this->Member->delete($this->Session->read('Member.id'))) {
                $this->Session->destroy();
                $this->render('quit');
            } else {
                $this->Session->setFlash(__('退会できませんでした', true));
            }
        } else {
            $this->data = $this->Member->read(null, $this->Session->read('Member.id'));
            $this->set('member', $this->data);
        }
        $types = $this->Member->Type->find('list');
        $favorites = $this->Member->Favorite->find('list');
        $this->set(compact('types', 'favorites'));
    }

また、 confirm.ctp をコピーしてきて改造します。フォームの始まりと終わりの部分だけ書き換えます。

<?php echo $javascript->link(array('jquery','util'), false); ?>
<div class="members view">
<?php echo $this->Form->create(null, array('url'=>'/members/leave'));?>
<?php echo $this->Form->input('id');?>

・
・
・

<div class="submit">
    <?php echo $this->Form->button('戻る', array('type'=>'button', 'id'=>'back_button')); ?>
</div>
<?php echo $this->Form->end('退会する'); ?>

</div>

ここで id=’back_button’ というのを作ったので、これも javascript の util.js に追加しておきます。

$('#back_button').click(function(){
    history.back();
});

戻れればいいだけなので、ただのヒストリーバックです。

退会の完了画面用にビューで quit.ctp を用意しておきます。

このブログを検索

Powered by Blogger.

ラベル

php (17) jQuery (13) OSX (10) MySQL (8) Javascript (7) Postgres (7) port (7) apache (6) Java (3) Smarty (2) html (2) pear (2) FCKEditor (1) XAMPP (1) css (1) git (1) perl (1) ruby (1)

Facebookバナー