Maison >développement back-end >tutoriel php >Comment implémenter la soumission de formulaires inter-domaines en PHP

Comment implémenter la soumission de formulaires inter-domaines en PHP

墨辰丷
墨辰丷original
2018-05-31 15:59:372473parcourir

Cet article présente principalement la méthode PHP pour implémenter la soumission de formulaires inter-domaines et analyse les compétences opérationnelles de curl et ajax pour la soumission inter-domaines sous forme d'exemples. Les amis dans le besoin peuvent s'y référer

<.> L'exemple de cet article décrit comment implémenter la soumission de formulaires inter-domaines en PHP. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

Parfois, pour des raisons de sécurité du site Web, nous n'autorisons pas la soumission directe entre domaines des données du formulaire. Et si nous avions nous-mêmes ce besoin ? Ci-dessous, nous présenterons deux méthodes inter-domaines pour résoudre des problèmes inter-domaines directs.

Examinons deux façons de soumettre des formulaires sur plusieurs domaines en php

1 via php curl

<.>
function curlPost($url,$params)
{
   $postData = &#39;&#39;;
   foreach($params as $k => $v)
   {
     $postData .= $k . &#39;=&#39;.$v.&#39;&&#39;;
   }
   rtrim($postData, &#39;&&#39;);
   $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(&#39;name&#39;=>"tank"));

De nombreuses personnes utilisaient curl pour capturer le carnet d'adresses e-mail, mais ce n'est plus possible. Ha ha.

2. Utilisez le formulaire jquery, soumission ajax

1. Téléchargez jquery.form.js

2.

3. Code php
$(&#39;#testform&#39;).submit(function() {
   $(this).ajaxSubmit({
   type: &#39;post&#39;, // 提交方式 get/post
   dataType:"json",//数据类型
   url: &#39;your url&#39;, // 需要提交的 url
   success: function(data) { // data 保存提交后返回的数据,一般为 json 数据
   // 此处可对 data 作相关处理
   alert(&#39;提交成功!&#39;);
   }
   $(this).resetForm(); // 提交后重置表单
   });
   return false; // 阻止表单自动提交事件
});

header("Access-Control-Allow-Origin:*"); //跨域权限设置,允许所有
header("Access-Control-Allow-Origin:http://www.test.com"); //只允许test.com跨域提交数据

Résumé : C'est tout Nous espérons que l’ensemble du contenu de cet article sera utile à l’étude de chacun.

Recommandations associées :

Opérations de base de php

Traitement du signal de processus PHP

PHP détermine si un fichier existe dans le répertoire spécifié


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn