ecmall乙個典型的操作

2022-03-10 22:53:14 字數 4389 閱讀 4720

獲取使用者資料、

$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']);

分析位址編輯控制器的新增、修改、刪除

function

index()

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:

});});

以上就是表單驗證的例子

function

edit()

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、儲存

function

drop()

$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 站內 十歲以前,就不說了,無非是淘氣和不懂事。十三 四歲的時候,開始對女孩有好感,但是那時候他離女孩遠遠的,並且以討厭 女孩 自居,生怕被同伴嘲笑。十五歲的時候,聽到大人們說某某男人好花,把女朋友甩...