獲取使用者資料、
$user = $this->visitor->get();$user_mod =& m('member');
$user = $user_mod->get_info($user['user_id']);
$user['portrait'] = portrait($user['user_id'], $info['portrait'], 'middle');
$user['last_login'] = date('y 年 m 月 d 日 h:m:s',$user['last_login']);
分析位址編輯控制器的新增、修改、刪除
functionindex()
else
$region_name = $_post['region_name'];
$data = array
( 'user_id' => $this->visitor->get('user_id'),
'consignee' => $_post['consignee'],
'region_id' => $_post['region_id'],
'region_name' => $_post['region_name'],
'address' => $_post['address'],
'zipcode' => $_post['zipcode'],
'phone_tel' => $_post['phone_tel'],
'phone_mob' => $_post['phone_mob'],);
$model_address =& m('address');
if (!($address_id = $model_address->add($data
)))
}
新增的基本思路
1、表單最好和資料庫的字段對應起來,如果沒有提交表單則顯示頁面
2、前端驗證使用jquery validate外掛程式驗證
3、模型驗證
4、如果有錯誤,報告錯誤
5、插入資料庫
/*表單自動驗證
*/var
$_autov = array
( 'user_id' => array
( 'required' => true,),
'consignee' => array
( 'required' => true,
'filter' => 'trim',),
'address' => array
( 'required' => true,
'filter' => 'trim',),
'region_id' => array
( 'required' => true,
'filter' => 'intval',),
'region_name' => array
( 'required' => true,
'filter' => 'trim',),
'phone_tel' => array
( 'reg' => '/^[0-9\+(\s][0-9\-)\s][0-9]$/', //
**號碼至少6位
),'phone_mob' => array
( 'reg' => '/\d/', //
至少6位的數字
),);
以上就是自動驗證機制
$('#address_form').validate(,success : function(label),
*/errorlabelcontainer: $('#warning'),invalidhandler: function(form,validator)
else
},onkeyup : false,rules :,region_id :,address :,phone_tel :,phone_mob :
},messages :. '},region_id :. ',
min : '. '},address :. '},phone_tel :. ',minlength: '. ',checktel: '. '},phone_mob :. ',minlength: '. ',digits : '. '}
},groups:
});});
以上就是表單驗證的例子
functionedit()
if (!is_post)
and user_id=" . $this->visitor->get('user_id'));
if (empty($find_data
))
$address = current($find_data
);
/*當前位置
*/
/*當前使用者中心選單
*//*
$this->_curitem('my_address');
/* 當前所處子選單
*/header('content-type:text/html;charset=' .charset);
$this->_curmenu('edit_address');
$this->assign('address', $address
);
//$this->import_resource('mlselection.js, jquery.plugins/jquery.validate.js');
$this->assign('act', 'edit');
$this->_get_regions();
$this->display('my_address.form.html');
}else
$data = array
( 'consignee' => $_post['consignee'],
'region_id' => $_post['region_id'],
'region_name' => $_post['region_name'],
'address' => $_post['address'],
'zipcode' => $_post['zipcode'],
'phone_tel' => $_post['phone_tel'],
'phone_mob' => $_post['phone_mob'],);
$model_address =& m('address');
$model_address->edit("addr_id = and user_id=" . $this->visitor->get('user_id'), $data
);
if ($model_address->has_error())
}}
以上就是編輯操作的例子
編輯操作的演算法
1、使用傳過來的id查詢資料
2、把資料填入表單
3、資料驗證
4、儲存
functiondrop()
$ids = explode(',', $addr_id);//
獲取乙個類似array(1, 2, 3)的陣列
$model_address =& m('address');
$drop_count = $model_address->drop("user_id = " . $this->visitor->get('user_id') . " and addr_id " . db_create_in($ids
));
if (!$drop_count
)
if ($model_address->has_error()) //
出錯了
$this->show_message('drop_address_successed');
}
刪除乙個資料的例子
刪除演算法
1、獲取對應資料,如果沒有丟擲異常
2、分解刪除陣列
3、如果不是陣列刪除,遞迴操作
4、顯示資訊
乙個典型的集群配置
3 配置集群 乙個典型的集群配置 三颱機器a 172.16.7.110 b 172.16.7.119 c 172.16.7.911 機器a 包含兩個實際的server 乙個是管理伺服器admin 乙個是 伺服器proxy 機器b 包含兩個server 受控伺服器,node1 node2 機器c 同機...
HMAC的乙個典型應用
hmac的乙個典型應用是用在 挑戰 響應 challenge response 身份認證中,1 先由客戶端向伺服器發出乙個驗證請求。2 伺服器接到此請求後生成乙個隨機數並通過網路傳輸給客戶端 此為挑戰 3 客戶端將收到的隨機數提供給epass,由epass使用該隨機數與儲存在epass中的金鑰進行h...
乙個典型男人的生活軌跡zz
標 題 乙個典型男人的生活軌跡zz 發信站 鼓浪聽濤 mon jun 6 12 46 08 2005 站內 十歲以前,就不說了,無非是淘氣和不懂事。十三 四歲的時候,開始對女孩有好感,但是那時候他離女孩遠遠的,並且以討厭 女孩 自居,生怕被同伴嘲笑。十五歲的時候,聽到大人們說某某男人好花,把女朋友甩...