| 
      提供一个自动注册的接口。
 
	接收的参数: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':'账号已经存在!'} 
      
      (责任编辑:最模板) | 
    
