zencart添加一个自动注册的接口

提供一个自动注册的接口。
接收的参数:openid,nickname

返回格式:
{'flag':'true'/'false','code':'','msg':'','attachparams':{'param1':'','param2':''}}

1、新建一个表
customers_auto
create table customers_auto(
           id int primary key auto_increment,
           out_id_name varchar(255),
           out_id_value varchar(255),
           out_type varchar(255),
           auto_email varchar(255),
           customers_id int
);
out_id_name:外部id的key名称,如'openid'
out_id_value:外表id的值,如'zilshkksd9f0ak'
out_type:外部账号类型
auto_email:系统自动产生的邮箱,用于填充到zencart本身的customers表的customers_email_address字段
customers_id:是zencart的customers的表的主键


2、改造pages/create_account/下的header_php.php文件:
$openid = $_POST['openid'];
if (!isset($openid)) {
    require(DIR_WS_MODULES . zen_get_module_directory('require_languages.php'));
    include(DIR_WS_MODULES . zen_get_module_directory(FILENAME_CREATE_ACCOUNT));
    $breadcrumb->add(NAVBAR_TITLE);
// This should be last line of the script:
    $zco_notifier->notify('NOTIFY_HEADER_END_CREATE_ACCOUNT');
} else {
    include(DIR_WS_MODULES . zen_get_module_directory("create_account_auto"));
    exit;
}

如果有openid就引入另一个文件来处理,否则就走平常的。

2、检查传递的参数,
验证传递的openid是否已经存在,如果是,则返回失败,msg为账号已存在;

3、自动生成一个email,
格式为openid+"@zencart.com"


5、插入到zencart的customers表
需要的信息用程序自动生成。
获取到其customers_id供下一步使用。

4、插入到customers_auto表

搞定。写一个页面测试一下:
testcreateacc.php
<form action="create_account_auto.php" method="post">
<input type="text" name="openid" value="randomid" />
<input type="text" name="nickname" value="little" />
<input type="submit" value="提交" />
</form>

create_account_auto.php
<?php
$url="http://localhost/zencart/index.php?main_page=create_account";
$post_data=array('openid'=>$_REQUEST['openid'],
                 'nickname'=>$_REQUEST['nickname']);
    // var_dump($post_data);
//$post_data=implode("&",$post_data);
$ch=curl_init();
curl_setOpt($ch,CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
curl_setOpt($ch,CURLOPT_POST,1);
curl_setOpt($ch,CURLOPT_POSTFIELDS,$post_data);
$content=curl_exec($ch);
curl_close($ch);
echo $content;
?>

测试返回:
{'flag':'true','msg':'success'}
重复提交:
{'flag':'false','code':'account_exist','msg':'账号已经存在!'}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值