用戶點(diǎn)擊按鈕,調(diào)用短信接口,
10年積累的成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有四子王免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
把發(fā)送的短信驗(yàn)證數(shù)字存儲到數(shù)據(jù)庫,并且存儲一個(gè)發(fā)送時(shí)間,
當(dāng)用戶輸入收到短信數(shù)字,驗(yàn)證短信數(shù)字時(shí)候存在,并且有沒有過期,過期時(shí)間按照你的需要,一般5~10分鐘。
可以用curl獲取借樓的信息。
所謂接口,就是提供一個(gè)url,只要你滿足它要求的參數(shù),就能得到你要的數(shù)據(jù)。比如你拿到一個(gè)接口,帶上所需的參數(shù),復(fù)制到地址欄同樣能得到。不過最好用程序得到。file_get_contents也可以用,不過有局限性。所以我建議用curl。給你一個(gè)函數(shù),挺好用的。
function request($url,$https=true,$method='GET',$data=null){
$ch = curl_init();//初始化,得到資源
curl_setopt($ch, CURLOPT_URL,$url); //請求數(shù)據(jù)的路徑
curl_setopt($ch, CURLOPT_HEADER,false);//是否輸出頭
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //不直接輸出結(jié)果
//curl_setopt ($ch, CURLOPT_SAFE_UPLOAD, 0);//兼容php之后的版本
if($https){
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); //是否驗(yàn)證主機(jī)
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); //是否進(jìn)行證書驗(yàn)證
}
if($method=='POST'){
curl_setopt($ch, CURLOPT_POST, true); //POST傳輸
curl_setopt($ch, CURLOPT_POSTFIELDS, $data); //傳輸數(shù)據(jù)
}
$content_json = curl_exec($ch);
if ($content_json === false) {
return "網(wǎng)絡(luò)請求出錯(cuò): " . curl_error($ch);
}
curl_close($ch);
return $content_json;
}
這不難啊, 既然你也有例子了,就再細(xì)化一下,比如在結(jié)果輸出后加個(gè)表示結(jié)束的變量, 或者加個(gè)error數(shù)量的變量,為0則是沒發(fā)生錯(cuò)誤. 你有什么不明白的?
======
以我做接口的經(jīng)驗(yàn),程序主要有幾部分:
1.接收數(shù)據(jù),驗(yàn)證數(shù)據(jù)合法性
這你已經(jīng)有例子了, 就是用get方法,程序直接接收get的query,而支付寶,銀行那些網(wǎng)關(guān)除了接收這些必要數(shù)據(jù)外,還會和商戶約定一個(gè)key,是這字符串, 約定好每次發(fā)送的數(shù)據(jù)通過某種方式,比如連接的方式和這個(gè)key組成一個(gè)大的字串,再以MD5加密,附上這個(gè)hash給接口,用來判斷這個(gè)請求的合法性,key是事先約定的,商戶和接口都知道
2.處理數(shù)據(jù)
這個(gè)沒什么好說的,數(shù)據(jù)入庫,計(jì)算等等
3.返回?cái)?shù)據(jù)
如果是以http協(xié)議的話,就直接輸出header,然后輸出
值名=值+換行符
這樣的數(shù)據(jù)就可以了
銀行接口網(wǎng)關(guān),財(cái)付通,支付寶,域名注冊接口我都做過,我只能提示到這里,具體要我做就不是200分的問題了,這需要時(shí)間調(diào)試
?php
/*
*?PHP簡單利用token防止表單重復(fù)提交
*?此處理方法純粹是為了給初學(xué)者參考
*/
session_start();
function?set_token()?{
$_SESSION[‘token’]?=?md5(microtime(true));
}
function?valid_token()?{
$return?=?$_REQUEST[‘token’]?===?$_SESSION[‘token’]???true?:?false;
set_token();
return?$return;
}
//如果token為空則生成一個(gè)token
if(!isset($_SESSION[‘token’])?||?$_SESSION[‘token’]==”)?{
set_token();
}
if(isset($_POST[‘test’])){
if(!valid_token()){
echo?"token?error";
}else{
echo?‘成功提交,Value:’.$_POST[‘test’];
}
}
?
form?method="post"?action=""
input?type="hidden"?name="token"?value="?php?echo?$_SESSION[‘token’]?"
input?type="text"?name="test"?value="Default"
input?type="submit"?value="提交"?/
/form