2017-04-25 11 views
1

私はAMPでウェブサイトを持っていますが、AMPで互換性のあるフォームを作成する必要があります。here私はドキュメントを持っています主に "action-xhr"とwordpressを接続するのにいくつかの問題があります。私は永遠のファイルを作ろうとしましたが、原点を越えた​​エラーがありました。私は送信をクリックしたときに表示されるので、これを統合するすべての問題に直面した場合 enter image description hereaction-xhrとadmin-postを使用してAMPフォームメールを送信する方法

<form target="_top" action-xhr="https://mywebsite.com/wp-admin/admin-post.php" method="post" name="test"> 
     <input type="text" name="name" value="Name"> 
     <input type="submit"/> 
    </form> 

答えて

2

使用このコードは、..私が知っている返信用

<?php 
    if(!empty($_POST)) 
    { 
     $name = $_POST['name']; 

     /*/ this is the email we get from visitors*/ 
     $domain_url = (isset($_SERVER['HTTPS']) ? "https" : "http") . "://$_SERVER[HTTP_HOST]"; 

     /*//-->MUST BE 'https://';*/ 
     header("Content-type: application/json"); 
     header("Access-Control-Allow-Credentials: true"); 
     header("Access-Control-Allow-Origin: *.ampproject.org"); 
     header("AMP-Access-Control-Allow-Source-Origin: ".$domain_url); 


     /*/ For Sending Error Use this code /*/ 
     if(!mail("[email protected]" , "Test submission" , "email: $name <br/> name: $name" , "From: $name\n ")){ 
      header("HTTP/1.0 412 Precondition Failed", true, 412); 

      echo json_encode(array('errmsg'=>'There is some error while sending email!')); 
      die(); 
     } 
     else 
     { 
      /*/--Assuming all validations are good here--*/ 
      header("Access-Control-Expose-Headers: AMP-Access-Control-Allow-Source-Origin"); 

       echo json_encode(array('successmsg'=>$_POST['name'].'My success message. [It will be displayed shortly(!) if with redirect]')); 
      die(); 
     } 
    }?> 
+0

感謝を聞かせてください、コードは明らかに動作します"ユーザーが有効なamp-form-submit-success"というクラスが、私の電子メールには何も届きません。何かが見当たりませんか? ありがとう – ctovelox

+1

あなたのコードを調べることなく何も言うことができません... – BlueSuiter

+0

私はwordpress AMPプラグインを使用しています、私はあなたのコードをPHPのために使用し、私は電子メールを置くの部分を変更し、私のサイトwpのフォルダ。 私のメールのためにこの部分を変更しました: '!mail(" [email protected] " 私のフォームは です。

実行しないでください。コンソールでエラーが発生した場合 – ctovelox

関連する問題