微擎php傳數(shù)據(jù)到小程序 微信小程序上傳數(shù)據(jù)到服務器

微信小程序怎么向外部php文件傳遞參數(shù)

PAY頁面往 js_api_call.php 傳值 獲取不到的問題

專業(yè)領(lǐng)域包括成都網(wǎng)站建設(shè)、成都網(wǎng)站制作、商城網(wǎng)站建設(shè)、微信營銷、系統(tǒng)平臺開發(fā), 與其他網(wǎng)站設(shè)計及系統(tǒng)開發(fā)公司不同,創(chuàng)新互聯(lián)的整合解決方案結(jié)合了幫做網(wǎng)絡(luò)品牌建設(shè)經(jīng)驗和互聯(lián)網(wǎng)整合營銷的理念,并將策略和執(zhí)行緊密結(jié)合,為客戶提供全網(wǎng)互聯(lián)網(wǎng)整合方案。

echo 是可以echo出來的 但是

這里不寫死就會報錯 $key0$

?php

/**

* JS_API支付demo

* ====================================================

* 在微信瀏覽器里面打開H5網(wǎng)頁中執(zhí)行JS調(diào)起支付。接口輸入輸出數(shù)據(jù)格式為JSON。

* 成功調(diào)起支付需要三個步驟:

* 步驟1:網(wǎng)頁授權(quán)獲取用戶openid

* 步驟2:使用統(tǒng)一支付接口,獲取prepay_id

* 步驟3:使用jsapi調(diào)起支付

*/

//獲取信息

@$name="支付測試-包包";

@$price=0.01*100;

@$hyid=$_GET['hyid'];

@$out_trade_no=$_GET['num'];//訂單號

include_once("../WxPayPubHelper/WxPayPubHelper.php");

//使用jsapi接口

$jsApi = new JsApi_pub();

//=========步驟1:網(wǎng)頁授權(quán)獲取用戶openid============

//通過code獲得openid

if (!isset($_GET['code']))

{

//觸發(fā)微信返回code碼

$url = $jsApi-createOauthUrlForCode(WxPayConf_pub::JS_API_CALL_URL);

Header("Location: $url");

}else

{

//獲取code碼,以獲取openid

$code = $_GET['code'];

$jsApi-setCode($code);

$openid = $jsApi-getOpenId();

}

//=========步驟2:使用統(tǒng)一支付接口,獲取prepay_id============

//使用統(tǒng)一支付接口

$unifiedOrder = new UnifiedOrder_pub();

//設(shè)置統(tǒng)一支付接口參數(shù)

//設(shè)置必填參數(shù)

//appid已填,商戶無需重復填寫

//mch_id已填,商戶無需重復填寫

//noncestr已填,商戶無需重復填寫

//spbill_create_ip已填,商戶無需重復填寫

//sign已填,商戶無需重復填寫

$unifiedOrder-setParameter("openid","$openid");//商品描述

$unifiedOrder-setParameter("body","$name");//商品描述

//自定義訂單號,此處僅作舉例

$timeStamp = time();

$out_trade_no = WxPayConf_pub::APPID."$timeStamp";

$unifiedOrder-setParameter("out_trade_no","$out_trade_no");//商戶訂單號

$unifiedOrder-setParameter("total_fee","$price");//總金額

$unifiedOrder-setParameter("notify_url","");//通知地址

$unifiedOrder-setParameter("trade_type","JSAPI");//交易類型

//非必填參數(shù),商戶可根據(jù)實際情況選填

//$unifiedOrder-setParameter("sub_mch_id","XXXX");//子商戶號

//$unifiedOrder-setParameter("device_info","XXXX");//設(shè)備號

//$unifiedOrder-setParameter("attach","XXXX");//附加數(shù)據(jù)

//$unifiedOrder-setParameter("time_start","XXXX");//交易起始時間

//$unifiedOrder-setParameter("time_expire","XXXX");//交易結(jié)束時間

//$unifiedOrder-setParameter("goods_tag","XXXX");//商品標記

$unifiedOrder-setParameter("attach","2");//會員ID

$prepay_id = $unifiedOrder-getPrepayId();

//=========步驟3:使用jsapi調(diào)起支付============

$jsApi-setPrepayId($prepay_id);

$jsApiParameters = $jsApi-getParameters();

//echo $jsApiParameters;

?

html

head

meta charset="utf-8"

title支付頁面/title

script type="text/javascript"

//調(diào)用微信JS api 支付

function jsApiCall()

{

WeixinJSBridge.invoke(

'getBrandWCPayRequest',

?php echo $jsApiParameters; ?,

function(res){

WeixinJSBridge.log(res.err_msg);

if(res.err_msg == "get_brand_wcpay_requestk"){

window.location.href='/shop/successful.php?spmc=?php echo $name; ?price=?php echo $price; ?';

//history.go(-1);

}else{

window.location.href='/shop/pay.php';

}

}

);

}

if (typeof WeixinJSBridge == "undefined"){

if( document.addEventListener ){

document.addEventListener('WeixinJSBridgeReady', jsApiCall, false);

}else if (document.attachEvent){

document.attachEvent('WeixinJSBridgeReady', jsApiCall);

document.attachEvent('onWeixinJSBridgeReady', jsApiCall);

}

}else{

jsApiCall();

}

/script

/head

/html

為什么 PHP接收不到微信小程序傳遞的數(shù)據(jù)

1、看接口能不能正常訪問,返回值小程序是否能接到

2,如果都能,看看傳值方式post或者get

PHP 后臺接口返回小程序端的數(shù)據(jù),在數(shù)據(jù)前面出現(xiàn)了亂碼情況,怎么解決

這種情況發(fā)生在以UTF-8編碼格式傳輸數(shù)據(jù)的時候,這開頭的三個字節(jié)叫做BOM(Byte Order Mark,字節(jié)順序標記),小程序接收到php端返回的數(shù)據(jù)后,把開頭的三個字節(jié)去掉即可。

更徹底的解決辦法是把php文件保存為?不帶BOM的UTF-8?文件,這樣返回的數(shù)據(jù)就不帶BOM了

php上傳文件的小程序,文件名是數(shù)字和英文的沒問題,用中文就無法上傳 看圖:

上傳文件是不能包含中文名的,可以生成新的文件名再上傳。

如果想保留原文件名,可以寫入數(shù)據(jù)庫,然后輸出時做一個專門的腳本,用于讀取原文件名并輸出。

我以MYSQL舉例(輸出腳本):

?php

$file = $_GET['downurl'];

$con = mysql_connect("數(shù)據(jù)庫主機名","帳號","密碼");

if(!$con)

exit(mysql_errno().":".mysql_error());

$sql = "SELECT * FROM fname WHERE fileurl='$file'";

$result = mysql_query($sql,$con);

$row = mysql_fetch_array($result);

header("Content-Disposition: attachment; filename='".$row['filename']."'")

echo file_get_contents($file);

?

有了這個腳本,那么還需要在MYSQL建立一個表fname。

執(zhí)行以下SQL:

CREATE TABLE 'fname'

(

fileurl varchar(255),

filename varchar(255)

)

最后你在上傳文件成功時加一個寫入數(shù)據(jù)的操作:

?php

$con = mysql_connect("數(shù)據(jù)庫主機名","帳號","密碼");

if(!$con)

exit(mysql_errno().":".mysql_error());

$sql = "INSERT INTO fname(fileurl,filename) VALUES('文件URL','原文件名')";

?

文件URL我就不說了,你一定會弄。原文件名,可以通過$_FILES獲取,具體如何獲取,我就不寫了,百度一下,W3SCHOOL,PHP手冊都有。

網(wǎng)頁標題:微擎php傳數(shù)據(jù)到小程序 微信小程序上傳數(shù)據(jù)到服務器
URL鏈接:http://muchs.cn/article22/doooejc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動網(wǎng)站建設(shè)電子商務、小程序開發(fā)、網(wǎng)站導航、定制開發(fā)域名注冊

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應式網(wǎng)站建設(shè)