文件zencart模板系统文件笔记4:create_account.php

zencart模板  时间:2021-03-19  阅读:()

------------------------------------------------------------------------------------------------------------------------------------------z enc art模板系统文件笔记 4 cre内部交流俱乐

文件名 create_account.php

文件隶属于:英文版 z e n-cart-

系统上隶属于 modules模块文件create_acc ount.php

主要功能处理用户注册表单字段并写入数据库

<?php

/**

* create_acc ount header_php.php

*

* @package modules

* @copyright Copyright 2003-2010 Zen Cart Development Team

* @copyright Portions Copyright 2003 osCommerce

* @license http://www. zen-cart.com/license/2_0.txt GNU Public License V2.0

* @version$Id: create_account.php 167042010-06-1021:16:37Z wilt $

*/

//This should be first line of the script:

//////用户登陆信息判断

$zco_notifier->notify('NOTIFY_M O D U LE_START_CREATE_ACC O UNT' ) ;if(!defined('IS_A D MI N_FL A G' )) {die('Illegal Access');

}

/**

*////设置的一些默认设置

*/

$pr oces s=fals e;

$z one;

$entry_state_has_zones='' ;

$error_state_inp ut=false;

$state='' ;

$z one_i d=0;

$error=false;

$email_format= (ACCOUNT_E MAIL_PREFERENCE ==' 1' ?'HTML' : 'TEXT') ;

$newsletter= (ACCOUNT_NEWSLETTER_STATUS ==' 1' | |ACCOUNT_NEWSLETTER_STATUS =='0' ?false : true) ;

------------------------------------------------------------------------------------------------------------------------------------1zencart模板系统文件笔记

------------------------------------------------------------------------------------------------------------------------------------------

/**

*用户注册表单填写各项处理

*/if(isset($_P O S T['action']) && ($_P O S T['action'] =='process')) {

$pr oces s=true; //提交表单

//性别if(ACCOUNT_GENDER =='true') {if(isset($_P O S T['gender'])) {

$gender=zen_db_prepare_input($_P O S T['gender']);

} else {

$g e n der=false;

}

}

//邮件、邮件格式if(isset($_P O S T['email_for mat'])) {

$e mail_format= zen_db_prepare_input($_P O S T['e mail_format']);

}

//公司名称if(ACCO U NT_CO M P A N Y =='true') $company =zen_db_prepare_input($_POST['company']);

$firstna me =zen_db_prepare_input(zen_sanitize_string($_P O S T['firstna me']));//名字

$lastname = zen_db_prepare_input(zen_sanitize_string($_P O S T['lastname']));//姓

$nick=zen_db_prepare_input($_POST['nick']);//昵称if(AC C O U NT_D O B =='true') $dob =zen_db_prepare_input($_POS T['dob']);//生日

$email_address=zen_db_prepare_input($_POST['email_address']); //信箱 e mail地址

$street_address=zen_db_prepare_input($_P O S T['street_address']);//街道地址if(AC C O U N T_S U B U R B =='true') $suburb =zen_db_prepare_input($_POS T['suburb']);

$postcode =zen_db_prepare_input($_P O S T['postcode']); //邮码号码

$city=zen_db_prepare_input($_P O S T['city']);//城市if(ACCOUNT_STATE== 'true') {

$state=zen_db_prepare_input($_P O S T['state']);//州if(isset($_P O S T['zone_id'])) {

$zone_id=zen_db_prepare_input($_PO S T['zone_id']);//区

} else {

$zone_id=false;

}

}

$c ountry=zen_db_prepare_input($_P O S T['z one_c ountry_id']);//国家

------------------------------------------------------------------------------------------------------------------------------------2zencart模板系统文件笔记

------------------------------------------------------------------------------------------------------------------------------------------

$telep h o ne = zen_db_prepare_input($_P O S T['telep h o ne']);//电话

$fax =zen_db_prepare_input($_POS T['fax']);//传真

$customers_authorization=CUSTO MERS_APPROVAL_AUTHORIZATION;

$custo mers_referral=zen_db_prepare_input($_P O S T['custo mers_referral']);客户转介if(ACCOUNT_NEWSLETTER_STATUS ==' 1' | | ACCOUNT_NEWSLETTER_STATUS =='2') {$newsletter=0;if(isset($_P O S T['ne wsletter'])) {

$newsletter=zen_db_prepare_input($_POS T['newsletter']);

}

} //订阅

$password=zen_db_prepare_input($_P O S T['pass word']); //密码

$c onfirmation=zen_db_prepare_input($_P O S T['confirmation']);//密码确认

//显示示条款if(DISPLAY_PRIVACY_CONDITIONS =='true') {if(!isset($_P O S T['privacy_c o n diti ons']) | | ($_P O S T['privacy_c o n diti ons'] !='1')) {

$error=true;

$messageStack->add('create_account' , ERROR_PRIVA C Y_STATE ME NT_N OT_AC CEPTED, 'error');}

}

//性别if(ACCOUNT_GENDER =='true') {if( ($ge n d er !='m') && ($g e n der !='f') ) {

$error=true;

$messageStack->add('create_account' , ENTRY_GEN DER_ERR OR) ;

}

}

//名最小长度if(strlen($firstname) < ENTRY_FIRST_NA M E_MIN_LENGT H) {

$error=true;

$messageStack->add('create_account' , ENTRY_FIRST_NA M E_ERR OR) ;

}

//姓最小长度if(strlen($lastname) < ENT RY_LAST_N A M E_MI N_LEN GT H) {

$error=true;

------------------------------------------------------------------------------------------------------------------------------------3zencart模板系统文件笔记

------------------------------------------------------------------------------------------------------------------------------------------

$messageStack->add('create_account' , ENTRY_LAST_N A M E_ERR OR) ;

}

//生日日期判断if(AC C O U NT_D O B =='true') {if(ENTRY_DOB_MIN_LENGTH > 0 or!empty($_POST['dob'])) {if(substr_count($dob, '/') > 2 | | check date((int)substr(zen_date_raw($dob), 4, 2),

(int)substr(ze n_date_raw($dob), 6, 2), (int)substr(ze n_date_raw($dob), 0, 4)) ==false) {

$error=true;

$messageStack->add('create_account' , ENTRY_D ATE_OF_BIRTH_ERR OR) ;

}

}

}

//公司名字判断if(ACCOUNT_CO MPANY =='true') {if((int)ENTRY_C O MPANY_MIN_LENGTH > 0 && strlen($company) <

ENTRY_COMPANY_MIN_LENGTH) {

$error=true;

$messageStack->add('create_account' , ENTRY_C O MP A N Y_ERR OR) ;

}

}

//电子邮箱地址判断if(strlen($email_address) < ENTR Y_E MAIL_AD D RESS_MI N_LEN GT H) {

$error=true;

$messageStack->add('create_account' , ENTRY_E M AIL_AD DRESS_ERR OR) ;

} elseif(zen_validate_email($email_address) ==false) {

$error=true;

$messageStack->add('create_account' , ENTRY_E M AIL_AD DRESS_CHEC K_ERRO R) ;

} el s e {

$check_email_query="select count(*) as totalfrom" . TABLE_CUSTOMERS . "

where customers_email_address='". zen_db_input($email_address) . "'";$check_email=$db->Execute($check_email_query) ;if($check_e mail->fields['total'] >0) {

$error=true;

$messageStack->add('create_account' , ENTRY_E M AIL_AD DRESS_ERR OR_EXISTS) ;

}

}

//昵称

------------------------------------------------------------------------------------------------------------------------------------4zencart模板系统文件笔记

------------------------------------------------------------------------------------------------------------------------------------------if($phpBB->phpB B['installed'] ==true) {if(strlen($nick) < ENTR Y_NICK_MI N_LEN GT H) {

$error=true;

$messageStack->add('create_account' , ENTRY_NICK_LEN GT H_ERR OR) ;

} else {

//check Zen Cart for duplicate nickname

$sql="select*from". TABLE_CUSTO MERS . "where customers_nick= :nick:";

$che ck_nick_query=$db->bind Vars($s ql, ' :nick:' , $nick, 'string');

$check_nick=$db->Execute($check_nick_query) ;if($c hec k_ni ck->Re c ordCount() >0) {

$error=true;

$messageStack->add('create_account' , ENTRY_NICK_D UPLICATE_ERR OR) ;

}

//check phpBB for duplicate nicknameif($php B B->phpbb_c h ec k_for_dupli cate_ni ck($ni ck) =='already_e xists' ) {

$error=true;

$messageStack->add('create_account' , ENTRY_NICK_D UPLICATE_ERR OR . ' (phpBB)');}

}

}

//街道地址长度判断if(strlen($street_address) < ENTRY_STREET_AD DRESS_MIN_LENGTH) {

$error=true;

$messageStack->add('create_account' , ENTRY_S TREET_AD DRESS_ERR OR) ;

}

//城市最小长度if(strlen($city) < ENTR Y_CITY_MI N_LEN GT H) {

$error=true;

$messageStack->add('create_account' , ENT RY_CIT Y_E RRO R) ;

}

//州判断if(ACCOUNT_STATE== 'true') {

$check_query="SELECT count(*) AS total

FROM " . TABLE_ZONES . "

W H E RE zone_country_id= :zoneCountryID";

$che c k_query=$db->bind Vars($ch ec k_query, ' :zone CountryI D' , $country, 'integer');

$check=$db->Execute($check_query) ;

$e ntry_state_has_z on es= ($c hec k->fields['total'] >0) ;if($e ntry_state_has_z o ne s==true) {

------------------------------------------------------------------------------------------------------------------------------------5zencart模板系统文件笔记

------------------------------------------------------------------------------------------------------------------------------------------

$zone_query="SELE C T distinct zone_id, zone_name, zone_code

FROM " . TABLE_ZONES . "

W H E RE zone_country_id= :zoneCountryID

AND " .

((trim($state) !=' ' && $zone_id== 0) ?"(upper(zone_name) like' :zoneState%' ORupper(zone_code) like'%:zoneState%') O R " : "") .

"z one_id=:zon eI D

ORDER BY zone_code ASC, zone_name";

$z one_query=$db->bind Vars($z one_query, ' :zoneCountryI D' , $country, 'integer');

$zone_query=$db->bindVars($zone_query, ' :zoneState' , strtoupper($state), 'noquotestring');$zone_query=$db->bindVars($zone_query, ' :zoneID' , $zone_id, 'integer');

$zone = $db->Execute($zone_query) ;

//look for an exact match on zone ISO code

$f ound_exact_i so_match= ($z one->Re c ordCount() == 1) ;if($z one->Re c ordCount() > 1) {wh ile (!$zone->E O F && !$found_exact_iso_mat ch) {if(strtoupper($z one->fields['zone_c o de']) ==strtoupper($state) ) {

$f oun d_e xact_i so_matc h=true;c ontinue;

}

$zone->MoveNext();

}

}if($foun d_e xa ct_iso_matc h) {

$z one_id=$z one->fields['zone_id'];

$z one_name = $z one->fields['zone_name' ];

} else {

$error=true;

$error_state_input=true;

$messageStack->add('create_account' , ENTRY_S TATE_ERRO R_SELECT) ;

}

} el s e {if(strlen($state) < ENTRY_STATE_MI N_LEN GT H) {

$error=true;

$error_state_input=true;

$messageStack->add('create_account' , ENTRY_S TATE_ERRO R) ;

}

}

}

------------------------------------------------------------------------------------------------------------------------------------6zencart模板系统文件笔记

------------------------------------------------------------------------------------------------------------------------------------------

//邮政编码if(strlen($postcode) < ENTRY_POSTCO DE_MI N_LEN GT H) {

$error=true;

$messageStack->add('create_account' , ENTRY_POS T_CO DE_ERR OR) ;

}

//国家if( (is_nu m eric($c ountry) ==false) | | ($country < 1) ) {

$error=true;

$messageStack->add('create_account' , ENTRY_C O U NTR Y_ERRO R) ;

}

//手机号码if(strlen($telephone) < ENTRY_TELEPH ONE_MIN_LEN GT H) {

$error=true;

$messageStack->add('create_account' , ENTRY_TELEPH O NE_NU MBER_ERR OR) ;

}

//密码if(strlen($password) < ENTRY_PASS W O R D_MI N_LEN GT H) {

$error=true;

$messageStack->add('create_account' , ENTRY_PASS W O R D_ERR OR) ;

} elseif($pas swor d !=$c onfirmation) {

$error=true;

$messageStack->add('create_account' , ENTRY_PASS W O R D_ERR OR_N OT_MAT C HIN G) ;

}

//对应数据库写入数据库if($error==true) {

//hook notifier class

$zco_notifier->notify('NOTIFY_FAILURE_DURING_CREATE_ACCOUNT') ;

} else {

$s ql_data_array=array('custo mers_firstname' => $firstname,

'customers_email_address' => $email_address,

'custo mers_nick' => $nick,

'custo mers_tel ephone' => $tel ephone,

'customers_fax' => $fax,

'customers_newsletter' => (int)$newsletter,

'custo mers_e mail_for mat' => $e mail_for mat,

'custo mers_default_address_id' => 0,

'custo mers_pass word' => zen_encrypt_password($password),

------------------------------------------------------------------------------------------------------------------------------------7zencart模板系统文件笔记

------------------------------------------------------------------------------------------------------------------------------------------

'custo m ers_authorizati on' =>

(int)CUSTOMERS_APPROVAL_AUTHORIZATION

) ;if((CUSTO MERS_REFERRAL_STAT US =='2' and$customers_referral !=''))

$s ql_data_array['custo mers_referral'] =$custo mers_referral;if(AC C O U N T_G E N D E R =='true') $sql_data_array['customers_gender'] =$gender;if(AC C O U N T_D O B =='true') $sql_data_array['customers_dob'] = (empty($_POS T['dob' ]) | | $dob_entered=='0001-01-01 00:00:00' ?zen_db_prepare_input('0001-01-01 00:00:00') : zen_date_raw($_P O S T['dob' ]));zen_db_perform(TABLE_CUSTO ME RS, $sql_data_array) ;

$_SESSI O N['customer_id'] =$db->Insert_ID() ;

$zco_notifier->notify('NOTIFY_MODULE_CREATE_ACCOUNT_ADDED_CUSTO MER_RECORD' ,array_merge(array('customer_id' => $_S ES SI O N['customer_id']), $sql_data_array)) ;

$sql_data_array=array('customers_id' => $_SES SI O N['customer_id'],

'entry_firstna me' => $firstna me,

'entry_lastna me' => $lastna me,

'entry_street_address' => $street_address,

'entry_p ostco de' => $p ostco de,

'entry_city' => $city,

'entry_c o u ntry_i d' => $c o u ntry) ;if(AC C O U N T_G E N D E R =='true') $sql_data_array['entry_gender'] =$gender;if(ACCO UNT_CO MP ANY =='true') $sql_data_array['entry_company'] =$company;if(AC C O U N T_S U B U R B =='true') $sql_data_array['entry_suburb' ] =$suburb;if(ACCOUNT_STATE== 'true') {if($z o ne_i d >0) {

$sql_data_array['entry_zone_id' ] =$zone_id;

$s ql_data_array['entry_state'] =' ' ;

} else {

$s ql_data_array['entry_z one_id' ] ='0' ;

$s ql_data_array['entry_state'] =$state;

}

}zen_db_perform(TABLE_A D DRESS_BO O K, $sql_data_array) ;

$address_id=$db->Insert_I D();

$zco_notifier->notify('NOTIFY_MODULE_CREATE_ACCOUNT_ADDED_ADDRESS_BOOK_RECORD' ,------------------------------------------------------------------------------------------------------------------------------------8zencart模板系统文件笔记

------------------------------------------------------------------------------------------------------------------------------------------array_me r ge(array('ad dress_i d' => $ad dres s_i d), $sql_data_array)) ;

$sql="update". TABLE_CUSTOMERS . "set customers_default_address_id='". (int)$address_id. "'where customers_id='". (int)$_SESSION['customer_id' ] . "'";

$db->Execute($sql);

$sql="insertinto". TABLE_CUSTO MERS_INFO . "

(custo mers_info_id, custo mers_info_nu mb er_of_logons,custo mers_info_date_acc ount_created, custo mers_info_date_of_last_log on)values ('". (int)$_SE S SI O N['customer_id' ] . "' , '1', now(), now())";

$db->Execute($sql);

//phpB B create accountif($phpBB->phpB B['installed' ] ==true) {

$phpB B->phpbb_create_account($nick, $password, $email_address) ;

}

//End phppBB create accountif(SESSI O N_R E C R E A T E== 'True') {zen_session_recreate();

}

$_S E S S I O N['customer_first_name'] =$firstname;

$_S E S S I O N['customer_default_address_id'] =$address_id;

$_SESSI O N['customer_country_id'] =$country;

$_SESSI ON['customer_zone_id'] =$zone_id;

$_S E S S I O N['custo mers_authorization' ] =$custo mers_authorization;

//restore cart contents

$_SESSI ON['cart']->restore_contents();

//hook notifier class

$zco_notifier->notify('NOTIFY_LOGIN_SUCCESS_VIA_CREATE_ACCOUNT' ) ;

//build the message content

$na me = $firstna me . ' ' . $lastna me;if(ACCOUNT_GENDER =='true') {if($g e n der=='m') {

$email_text=sprintf(E M AI L_G R EE T_M R, $lastname) ;

} else {

------------------------------------------------------------------------------------------------------------------------------------9zencart模板系统文件笔记

UCloud年度大促活动可选香港云服务器低至年134元

由于行业需求和自媒体的倾向问题,对于我们个人站长建站的方向还是有一些需要改变的。传统的个人网站建站内容方向可能会因为自媒体的分流导致个人网站很多行业不再成为流量的主导。于是我们很多个人网站都在想办法进行重新更换行业,包括前几天也有和网友在考虑是不是换个其他行业做做。这不有重新注册域名重新更换。鉴于快速上手的考虑还是采用香港服务器,这不腾讯云和阿里云早已不是新账户,考虑到新注册UCLOUD账户还算比...

Webhosting24:$1.48/月起,日本东京NTT直连/AMD Ryzen 高性能VPS/美国洛杉矶5950X平台大流量VPS/1Gbps端口/

Webhosting24宣布自7月1日起开始对日本机房的VPS进行NVMe和流量大升级,几乎是翻倍了硬盘和流量,价格依旧不变。目前来看,日本VPS国内过去走的是NTT直连,服务器托管机房应该是CDN77*(也就是datapacket.com),加上高性能平台(AMD Ryzen 9 3900X+NVMe),还是有相当大的性价比的。此外在6月30日,又新增了洛杉矶机房,CPU为AMD Ryzen 9...

RAKsmart 年中活动 独立服务器限时$30秒杀 VPS主机低至$1.99

RAKsmart 虽然是美国主机商,但是商家的主要客户群还是在我们国内,于是我们可以看到每次的国内节日促销活动期间商家也会发布促销。包括这次年中大促活动,RAKsmart商家也有发布为期两个月的年终活动,其中有商家擅长的独立服务器和便宜VPS主机。服务器包括站群服务器、特价服务器、高达10G带宽不限制流量的美国服务器。商家优惠活动,可以看到对应商品的优惠,同时也可以使用 优惠码 RAKBL9 同时...

zencart模板为你推荐
公告:将新浪微博登录嵌入到WordpressSetSysIdroute重庆网络公司一九互联重庆网络公司,重庆网络优化,重庆页面制作性价比高且便宜的网络公司有哪些?outlookexpress如何开启OUTLOOK EXPRESS功能?支付宝调整还款日花呗还款日是什么时候呢重庆网站制作我想做个网站,我是重庆的人。想在本地找个做网站的公司,请教一下在重庆那个公司比较好一点,,,,谢谢degradeios滴滴估值500亿开滴滴怎么才能月入一万,平均一天400纯收入,求指点欢迎光临本店鸡蛋蔬菜饺子每个10个3元,牛肉蔬菜饺子每10个5元,欢迎光临本店! 汉译英qq头像上传失败我怎么总是QQ上传头像失败,
域名转让网 广东服务器租用 大庆服务器租用 堪萨斯服务器 韩国空间 搬瓦工官网 idc测评网 英语简历模板word hkg lol台服官网 东莞数据中心 南通服务器 息壤代理 vip域名 空间服务器 cdn服务 免费获得q币 winds 2016黑色星期五 认证机构 更多