西部数码主机 | 阿里云主机| 虚拟主机 | 服务器 | 返回乐道官网
当前位置: 主页 > php教程 > zencart教程 >

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

时间:2016-01-16 13:48来源: 作者: 点击:
提供一个自动注册的接口。 接收的参数:openid,nickname 返回格式: {flag:true/false,code:,msg:,attachparams:{param1:,param2:}} 1、新建一个表 customers_auto create table customers_auto( id int primary key auto_increm
提供一个自动注册的接口。
接收的参数: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)
0%
------分隔线----------------------------
栏目列表
热点内容