• 技术文章 >后端开发 >php教程

    php开发文档 会员收费1期_php实例

    2016-06-07 17:25:17原创438
    介绍

      最新项目——会员收费,目的是要以更好的展现形式表现给用户,以及添加了新功能(会员机制)。

    索引

    流程图
      1> 展示界面
      2> 获取折扣价格
    接口说明

    http请求脚本(curl或socket)
    测试数据

    流程图

    其中里面的demo:是通过url进行展现,里面的mst是参数,通过不同的参数进行展现。如:http://www.demo.com/?mst=1表示参数为1的demo样式。

    展示界面(4种情况)

    获取折扣价格

    接口说明

    1、开通高级会员
    psid=2
    pstype=101
    2、开通会员
    psid=1
    pstype=101
    3、[会员/高级会员]价格信息
    wiki地址:http://wiki.1verge.net/projects:premium:v2:product_rules_api#根据会员等级id获取等级信息
    4、[是否是会员]
    wiki地址:http://wiki.1verge.net/projects:premium:v2:verify_center_api#获取当前会员等级
    5、[折扣信息]
    wiki地址:http://wiki.1verge.net/projects:premium:v2:operation_api#根据用户id_服务id_服务类型_服务周期数_获得当前用户可以享受的折扣策略
    6、可包月节目+有权观看+高级会员则显示“您是高级会员,可免费观看此节目”
    7、仅包月节目+有权观看+高级会员提示“续费”
    8、除6以外+有权观看则显示“截止日期”

    可以在Premium.class.php中list_shows_by_pkgid函数下面继续封装调用函数

    http请求脚本(curl或socket)
    复制代码 代码如下:

    function httpRequest($url, $hostName, array $params){
    $postParams = array();
    foreach ($params as $key=>$val) {
    $post_params[] = $key.'='.rawurlencode($val);
    }

    $postString = implode('&', $post_params);
    $result = '';
    if (function_exists('curl_init')) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Host: ' . $hostName));
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $postString);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_USERAGENT, 'DEMO.COM PREMIUM PHP5 Client ver: ' . phpversion());
    curl_setopt($ch, CURLOPT_TIMEOUT, 2);
    $result = curl_exec($ch);
    curl_close($ch);
    } else {
    $context = array('http' => array('method' => 'POST',
    'header' => 'Content-type: application/x-www-form-urlencoded' . "\r\n".
    'Host: '.$hostName . "\r\n".
    'User-Agent: TEST.COM BC Test PHP5 Client ver: ' . phpversion() . "\r\n".
    'Content-length: ' . strlen($postString),
    'content' => $postString));
    $contextId = stream_context_create($context);
    $handle = fopen($url, 'r', false, $contextId);
    if ($handle) {
    while (!feof($handle)) $result .= fgets($sock, 4096);
    fclose($handle);
    }
    }

    return $result;
    }

    测试数据

    1、点播信息节目ID:1e390718b72311df97c0.html
    2、vip用户ID:123350942
    3、普通用户ID:106738702

    有权观看的节目ID:cbfb035e962411de83b1.html
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    专题推荐:开发文档
    上一篇:PHP分多步骤填写发布信息的简单方法实例代码_php实例 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• 你知道如何用PHP实现多进程吗• PHP与MySQL连接的方法总结• 工具包分享:PHP实现滑块验证图片• 求大神解答!ajax处理php返回的xml文档的问题• php实现mysql数据库分表分段备份_php实例
    1/1

    PHP中文网