彩虹泉州立公园的彩虹河,佛罗里达州,美国 (© Michel Roggo/Minden Pictures)

Welcom to 评论 - lizhenqiu blog!

    #1008

    作者:广西南宁市
    支持成功回调
    通过前端jsApiCall()函数可以监听支付结果,但是这个并不可信。确认是否支付成功还是应当通过notify.php 处理业务逻辑。前边配置好了支付验证链接SetNotify_url(),支付完成后,微信服务器会根据链接自动请求你的notify.php文件,打开这个文件,其实这个文件最主要的代码就两行:
    $notify = new PayNotifyCallBack(); $notify->Handle(false);
    Run code
    Cut to clipboard

      由此跟踪到WxPay.Notify.php类文件的Handle()函数:
      /** * * 回调入口 * @param bool $needSign 是否需要签名输出 */ final public function Handle($needSign = true) { $msg = "OK"; //当返回false的时候,表示notify中调用NotifyCallBack回调失败获取签名校验失败,此时直接回复失败 $result = WxpayApi::notify(array($this, 'NotifyCallBack'), $msg); if($result == false){ $this->SetReturn_code("FAIL"); $this->SetReturn_msg($msg); $this->ReplyNotify(false); return; } else { //该分支在成功回调到NotifyCallBack方法,处理完成之后流程 $this->SetReturn_code("SUCCESS"); $this->SetReturn_msg("OK"); } $this->ReplyNotify($needSign); }
      Run code
      Cut to clipboard

        主要代码:
        $result = WxpayApi::notify(array($this, 'NotifyCallBack'), $msg);
        Run code
        Cut to clipboard

          然后来到WxPay.Api.php文件的第411行,notify()函数:
          /** * * 支付结果通用通知 * @param function $callback * 直接回调函数使用方法: notify(you_function); * 回调类成员函数方法:notify(array($this, you_function)); * $callback 原型为:function function_name($data){} */ public static function notify($callback, &$msg) { //获取通知的数据 $xml = $GLOBALS['HTTP_RAW_POST_DATA']; //file_put_contents('log.txt',$xml,FILE_APPEND); //如果返回成功则验证签名 try { $result = WxPayResults::Init($xml); } catch (WxPayException $e){ $msg = $e->errorMessage(); return false; } return call_user_func($callback, $result); }
          Run code
          Cut to clipboard

            这里面的$xml=$GLOBALS['HTTP_RAW_POST_DATA'],就是支付成功后用户返回给你的一个结果,他是一个xml格式的字符串。

            我们可以将这里返回的xml数据记录下来,然后打开看看$out_trade_no就是在支付之前我自己设置的订单号码,$attach就是设置的附加参数。
            得到了这个订单号,然后我就直接在下面写支付成功后的逻辑了,比如改变数据库中的数据等等。
            这样 微信支付的 JsApi支付就大致分析完成了。
            文章:PHP实现微信支付(jsapi支付)和退款(无需集成支付SDK)  发表时间:2017-08-31, 14:31:16  
            展开↯

            #1009

            作者:广西南宁市
            打开lib文件夹下的WxPay.Api.PHP文件,在537行有一段curl网络请求配置代码:
            curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,TRUE); curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,2);//严格校验
            Run code
            Cut to clipboard

              替换成:
              curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE); curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,2);//严格校验
              Run code
              Cut to clipboard

                为了禁止 cURL 验证对等证书(peer's certificate)。
                #,广西南宁市,2017-08-31,14:25:03, curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,2) 这个地方应该也需要改。不是2 而是false
                #,广西南宁市,2017-08-31,14:25:14,@1, 这个是不需要改的,验证主机,严格校验
                文章:PHP实现微信支付(jsapi支付)和退款(无需集成支付SDK)  发表时间:2017-08-31, 14:24:47  
                展开↯

                #1010

                作者:广西南宁市
                php中session_destroy()的作用?
                session_destroy() destroys all of the data associated with the current session. It does not unset any of the global variables associated with the session, or unset the session cookie. To use the session variables again, session_start() has to be called.

                它会destroys all of the data associated with the current session,但是它既不注销变量,又不注销session cookie。那它做了什么?还有这个函数有什么用呢?

                session_destroy() 销毁当前会话中的全部数据, 但是不会重置当前会话所关联的全局变量, 也不会重置会话 cookie。 如果需要再次使用会话变量, 必须重新调用 session_start() 函数。

                为了彻底销毁会话,比如在用户退出登录的时候,必须同时重置会话 ID。 如果是通过 cookie 方式传送会话 ID 的,那么同时也需要 调用setcookie() 函数来 删除客户端的会话 cookie。

                范例
                <?php // 初始化会话。 // 如果要使用会话,别忘了现在就调用: session_start(); // 重置会话中的所有变量 $_SESSION = array(); // 如果要清理的更彻底,那么同时删除会话 cookie // 注意:这样不但销毁了会话中的数据,还同时销毁了会话本身 if (ini_get("session.use_cookies")) { $params = session_get_cookie_params(); setcookie(session_name(), '', time() - 42000, $params["path"], $params["domain"], $params["secure"], $params["httponly"] ); } // 最后,销毁会话 session_destroy(); ?>
                Run code
                Cut to clipboard
                  #,广西南宁市,2017-08-31,10:34:39,
                  终结 Session 如果您希望删除某些 session 数据,可以使用 unset() 或 session_destroy() 函数。 unset() 函数用于释放指定的 session 变量: <?php unset($_SESSION['views']); ?> 您也可以通过 session_destroy() 函数彻底终结 session: <?php session_destroy(); ?> 注释:session_destroy() 将重置 session,您将失去所有已存储的 session 数据。
                  Run code
                  Cut to clipboard
                    #,广西南宁市,2017-08-31,10:34:53, 在使用session_destroy()的时候 应该先使用session_start() 不然session_destroy()不起作用
                    文章:Weiphp微信公众平台自定义菜单等开发  发表时间:2017-08-31, 10:34:11  
                    展开↯

                    #1011

                    作者:广西南宁市
                    Input的size与maxlength属性的区别
                    maxlength="5",则input输入框中只能够输入5个字符 size="5",表示input输入框只显示5个可见的字符,但你可以输入'无数'多字符内容 即:size属性规定输入字段的宽度(此处即是Name2文本框只显示5个字符大小的宽度), 由于 size 属性是一个可视化的设计属性,我们应使用 CSS 中的width来代替它。 CSS 语法:<input style="width:100px"/> 具体是:用JavaScript来修改该属性. 刚开始在Javascript里面是死活取不出该属性的值,没办法,去网上搜搜吧.没仔细看,就是感觉我跟他们写的没有什么差别啊,我就不信了,还弄不好它?可是就是弄不好 最后,仔细看了网上的一个,发现还真有点问题,我没有大写,书写的时候全是小写字母. readonly <====> readOnly 改成后者以后,还真的好了:)
                    Run code
                    Cut to clipboard
                      #,广西南宁市,2017-08-30,17:52:10,
                      Select的onchange事件
                      我们用Select的onchange事件时,常会遇到这样一个问题,那就是连续选相同一项时,不触发onchange事件.select的onchange事件就是这样子的.你得有Change(改变),才能触发该事件....
                      掌握了它的特性后,相应的解决办法也很简单.
                      <select name=sel onchange="bao(this.options[this.options.selectedIndex].value)"> <option value="">请选择 <option value="1">Item 1 <option value="2">Item 2 <option value="3">Item 3 </select> <script> function bao(s) { txt.value+=s; //选择后,让第一项被选中,这样,就有Change啦. document.all.sel.options[0].selected=true; } </script> <textarea id=txt></textarea>
                      Run code
                      Cut to clipboard
                        文章:常用html、demo代码  发表时间:2017-08-30, 17:51:28  
                        展开↯

                        #1012

                        作者:广西南宁市
                        微信支付跳转页面提示
                        微信登录失败
                        安全域名校验出错,错误码:10003

                        是微信支付 lib/WxPay.Config.php文件配置错误,修改正确即可
                        <?php /** * 配置账号信息 */ class WxPayConfig { //=======【基本信息设置】===================================== // /** * TODO: 修改这里配置为您自己申请的商户信息 * 微信公众号信息配置 * * APPID:绑定支付的APPID(必须配置,开户邮件中可查看) * * MCHID:商户号(必须配置,开户邮件中可查看) * * KEY:商户支付密钥,参考开户邮件设置(必须配置,登录商户平台自行设置) * 设置地址:https://pay.weixin.qq.com/index.php/account/api_cert * * APPSECRET:公众帐号secert(仅JSAPI支付的时候需要配置, 登录公众平台,进入开发者中心可设置), * 获取地址:https://mp.weixin.qq.com/advanced/advanced?action=dev&t=advanced/dev&token=2005451881&lang=zh_CN * @var string */ const APPID = '****************'; const MCHID = '****************'; const KEY = '****************'; const APPSECRET = '****************';
                        Run code
                        Cut to clipboard
                          #,广西南宁市,2017-08-29,10:41:43, 微信支付出现空白页面解决方法
                          这个错误通过修改文件WxPay.Api.php 解决,具体如下:
                          第537行
                          curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,TRUE);
                          curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,2);//严格校验
                          to
                          curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE); curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,FALSE);//严格校验2
                          Run code
                          Cut to clipboard
                            文章:Weiphp微信公众平台自定义菜单等开发  发表时间:2017-08-29, 10:39:47  
                            展开↯

                            #1013

                            作者:北京市
                            我们不是至尊宝,也不是孙悟空。最后的最后,我们不过是城墙下的那群人,看着别人的爱情,回忆着自己的青春。
                            文章:前几年你穷的时候,还挺有理想的  发表时间:2017-08-28, 23:49:20  
                            展开↯

                            #1014

                            作者:广西南宁市
                            创业永远在路上,跟出生日期和年龄没有关系。
                            #,广西南宁市,2017-08-26,17:42:00, 只是80后刚刚爬到中层,90后还在奋斗罢了,
                            #,广西南宁市,2017-08-26,17:42:16, 生逢创世,未建功业,悲呼!
                            #,广西南宁市,2017-08-28,16:41:57, 永远不要免费做你擅长的事情
                            #,广西南宁市,2017-08-28,16:42:38,@3, 你不擅长的事别人也不需要你奉献技能呀
                            #,广西南宁市,2017-08-28,16:43:25, If you love something, set it free
                            #,广西南宁市,2017-08-28,16:43:36, if you are good at something, never do it for free
                            #,广西南宁市,2017-08-28,16:43:44, 信息爆炸的现在 reputation 远比短期利益值钱
                            文章:前几年你穷的时候,还挺有理想的  发表时间:2017-08-26, 17:41:38  
                            展开↯

                            #1015

                            作者:广西南宁市
                            “傲慢是最大的原罪”,只要我们追求的不是“更好的自己”而是“比其他人更好”就几乎无法摆脱令人讨厌的结局,几乎所有令人讨厌的行为或话语都可以找到这个原因。
                            文章:@意见反馈/技术支持/伊网/安企网  发表时间:2017-08-28, 09:41:07  
                            展开↯

                            #1016

                            作者:北京市
                            手机目录不对滚动定位
                            文章:@意见反馈/技术支持/伊网/安企网  发表时间:2017-08-27, 16:15:57  
                            展开↯

                            #1017

                            作者:广西南宁市
                            安卓手机浏览器评论按钮错位往上顶
                            #,广西南宁市,2017-08-26,18:17:47, 手机按住图片不能活动移动端点击滚动
                            #,广西南宁市,2017-08-26,18:18:41, 手机百分百圆圈也没有背景红色
                            文章:@意见反馈/技术支持/伊网/安企网  发表时间:2017-08-26, 18:16:00  
                            展开↯

                            #1018

                            作者:广西南宁市
                            Test SVN
                            文章:@意见反馈/技术支持/伊网/安企网  发表时间:2017-08-26, 18:07:41  
                            展开↯

                            #1019

                            作者:广西南宁市
                            手机端html5触屏事件(touch事件)
                            touchstart:触摸开始的时候触发 touchmove:手指在屏幕上滑动的时候触发 touchend:触摸结束的时候触发
                            Run code
                            Cut to clipboard

                              而每个触摸事件都包括了三个触摸列表,每个列表里包含了对应的一系列触摸点(用来实现多点触控):
                              touches:当前位于屏幕上的所有手指的列表。 targetTouches:位于当前DOM元素上手指的列表。 changedTouches:涉及当前事件手指的列表。
                              Run code
                              Cut to clipboard

                                每个触摸点由包含了如下触摸信息(常用):
                                identifier:一个数值,唯一标识触摸会话(touch session)中的当前手指。一般为从0开始的流水号(android4.1,uc) target:DOM元素,是动作所针对的目标。 pageX/pageX/clientX/clientY/screenX/screenY:一个数值,动作在屏幕上发生的位置(page包含滚动距离,client不包含滚动距离,screen则以屏幕为基准)。  radiusX/radiusY/rotationAngle:画出大约相当于手指形状的椭圆形,分别为椭圆形的两个半径和旋转角度。
                                Run code
                                Cut to clipboard

                                  初步测试浏览器不支持,好在功能不常用,欢迎大家反馈。
                                  var obj = document.getElementByIdx_x('id'); obj.addEventListener('touchmove', function(event) { // 如果这个元素的位置内只有一个手指的话 if (event.targetTouches.length == 1) {      event.preventDefault();// 阻止浏览器默认事件,重要 var touch = event.targetTouches[0]; // 把元素放在手指所在的位置 obj.style.left = touch.pageX-50 + 'px'; obj.style.top = touch.pageY-50 + 'px'; } }, false);
                                  Run code
                                  Cut to clipboard
                                    文章:on click事件在移动端点击无效bug  发表时间:2017-08-26, 17:45:37  
                                    展开↯

                                    #1020

                                    作者:广西南宁市
                                    我的理解,这种变化本身就是一种供需变化的结果。因为一些敏(yan)感(lun)原(zi)因(you)和宣传组(yu)织(yong)体(wen)制(ren),当年的文艺青年想发声、想出名不亚于现在靠工资在北上广买房子。那时候百业俱兴的大环境下,民心思变,一些新观念、新论调都很容易受追捧;如今,民心思利,“表达者”提笔多是为了钱。一时间斯文有了铜臭味,愤青没了追随者。
                                    文章:前几年你穷的时候,还挺有理想的  发表时间:2017-08-26, 17:41:08  
                                    展开↯

                                    #1021

                                    作者:广西南宁市
                                    就是上至马云、马化腾、下至和菜头、五岳散人之流,都似乎和作者是光着屁股一块长大的,对他们的八卦了如指掌,字里行间提现极强的优越感。
                                    文章:前几年你穷的时候,还挺有理想的  发表时间:2017-08-26, 17:40:41  
                                    展开↯

                                    #1022

                                    作者:广西南宁市
                                    题图,杰克马丁三石还在潮头
                                    文章:前几年你穷的时候,还挺有理想的  发表时间:2017-08-26, 17:40:11  
                                    展开↯

                                    #1023

                                    作者:广西南宁市
                                    知识付费平台早就请老师把知识嚼好,喂到你嘴边了。但这和高二主动退学,依靠自我教育走到今天的罗永浩,所能达到的人生上限肯定完全不同。

                                    =》这样喂大的孩子,根本没有体力和耐力去达到更高的人生上限。
                                    文章:前几年你穷的时候,还挺有理想的  发表时间:2017-08-26, 17:40:00  
                                    展开↯

                                    #1024

                                    作者:广西南宁市
                                    他们是互联网内容领域最早的种子用户,填充了互联网早年的空白。
                                    与现在漫天乱飞的商业运营不同,他们完全是凭借自己的兴趣在写作,还没有后来那么多利益纠葛。
                                    我不相信他们在那个时候就能够看到十几年后可以收割大批的粉丝和金钱。
                                    那时最多想的还是,可以得到那么多关注的目光,说不定还有一点点稿费,真好。
                                    文章:前几年你穷的时候,还挺有理想的  发表时间:2017-08-26, 17:39:04  
                                    展开↯

                                    #1025

                                    作者:广西南宁市
                                    不要再纠结“为什么要读大学”这类愚蠢的问题,这篇文章会告诉你读大学一定要读最顶级的大学。不管以后成败与否,都只能抱憾终生了!
                                    文章:那个时代的清华,那个时代的大学生,一个时代的简简史  发表时间:2017-08-26, 17:32:38  
                                    展开↯

                                    #1026

                                    作者:广西南宁市
                                    清华出来混得不错的都有挺好的家庭背景和智商优势,但好学生不见得就能做好老板。
                                    文章:那个时代的清华,那个时代的大学生,一个时代的简简史  发表时间:2017-08-26, 17:32:28  
                                    展开↯
                                    你好,残忍屏蔽广告

                                    确定要清除编辑框内容吗?

                                    该删除操作将不可恢复。

                                    删除 取消

                                    激活Windows

                                    转到"设置"以激活Windows。