程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> php實現跨域提交form表單的方法【2種方法】

php實現跨域提交form表單的方法【2種方法】

編輯:PHP綜合

本文實例講述了php實現跨域提交form表單的方法。分享給大家供大家參考,具體如下:

有時我們為了網站安全考慮,我們不允許直接跨域提交form表單數據,如果我們自己有這個需求呢?下面我們來介紹兩種跨域的方法解決直接跨域問題。

下面我們來看看兩種php跨域提交form的方法

一、通過php curl

function curlPost($url,$params)
{
   $postData = '';
   foreach($params as $k => $v)
   {
     $postData .= $k . '='.$v.'&';
   }
   rtrim($postData, '&');
   $ch = curl_init();
   curl_setopt($ch,CURLOPT_URL,$url);
   curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
   curl_setopt($ch,CURLOPT_HEADER, false);
   curl_setopt($ch, CURLOPT_POST, count($postData));
   curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
   $output=curl_exec($ch);
   curl_close($ch);
   return $output;
}
echo curlPost("http://test.com",array('name'=>"tank"));

以前很多人用curl來抓,郵箱的通訊錄,不過現在已經不可以了。哈哈。

二、利用jquery form,ajax提交

1. 下載jquery.form.js

2. js代碼

$('#testform').submit(function() {
   $(this).ajaxSubmit({
   type: 'post', // 提交方式 get/post
   dataType:"json",//數據類型
   url: 'your url', // 需要提交的 url
   success: function(data) { // data 保存提交後返回的數據,一般為 json 數據
   // 此處可對 data 作相關處理
   alert('提交成功!');
   }
   $(this).resetForm(); // 提交後重置表單
   });
   return false; // 阻止表單自動提交事件
});

3. php代碼

header("Access-Control-Allow-Origin:*"); //跨域權限設置,允許所有
header("Access-Control-Allow-Origin:http://www.test.com"); //只允許test.com跨域提交數據

更多關於PHP相關內容感興趣的讀者可查看本站專題:《php程序設計安全教程》、《php安全過濾技巧總結》、《PHP運算與運算符用法總結》、《PHP網絡編程技巧總結》、《PHP基本語法入門教程》、《php操作office文檔技巧總結(包括word,excel,access,ppt)》、《php面向對象程序設計入門教程》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》

希望本文所述對大家PHP程序設計有所幫助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved