对于做付费内容的网站,授权是非常常见的。常用的授权方法有二种:一种是通过远程域名授权。只有通过了授权的域名才可以正常使用资源;二种是通过授权码授权验证,只要用户填写的授权码是正确的,就可以正常使用。但每个授权码必须限制使用次数。
今天给大家介绍一下 WordPress 通过 PHP 实现授权码授权的开发思路,以及一个实例代码。授权码授权是用户填写验证码之后,并且填写的验证码,使用量在 3 次以下,才可以正常通过验证。
第一步:要创建授权码填写框,用户在获取我们的付费资源后,先要填写授权码;
- <table class="form-table" id="yamformtableys">
- <th scope="row">填写授权码</th>
- <tr valign="top">
- <td>授权码:<input type="text" name="sqms" size="80" id="sitesqmsid" value="<?php echo get_option('sqms'); ?>" /><br><span id="yzmtjid">(请填写授权码,获取授权码,客服QQ:2107117185)</span>
- </td>
- </tr>
- </table>
第二步:要将用户填写的授权码进行正确验证;常用的方法就是将用户填写的授权码获取到与自己的授权码数据表进行比较,查看用户填写的授权码是否存在于网站数据库中;这里使用 ajax 验证;
- jQuery.ajax({
- url:"sqmchuli.php?yzmhao="+yzmhao,
- dataType:'jsonp',
- success:function(result) {
- if(!result){
- alert('(授权码不正确,请获取授权码)');
- }
- }
- });
第三步:要将用户填写的授权码使用次数进行验证,如果大于 3 次就不能用了;
- jQuery.ajax({
- url:"sqmchuli.php?yzmhao="+yzmhao,
- dataType:'jsonp',
- success:function(result) {
- if(!result){
- alert('(授权码不正确,请获取授权码)');
- }else{
- if(result.count > 3){
- alert('(此授权码已效,请重新获取授权码)');
- }
- }
- }
- });
第四步:前面三步主要用于进行用户填写的验证的,最后就是联系自己的数据库了。因为所有的授权码都是放在数据库里的。
- <?php
- $result = mysql_query("select * from wp_shouquanma where shouquanmq = '$yzmhao'");
- if($result) {
- while($row = mysql_fetch_array($result))//转成数组,且返回第一条数据,当不是一个对象时候退出
- {
- $arr['shouquanmq'] = $row['shouquanmq'];
- $arr['count'] = $row['count'];
- }
- exit($_GET['callback'].'('.json_encode($arr, JSON_FORCE_OBJECT).')');
- }
- else{
- exit($_GET['callback'].'({0: null})');
- }
- mysql_close($conn);// 关闭数据库
- ?>
通过上面的代码集合就可以实现授权码授权验证,并且每个授权码只能使用 3 次。