2017-06-15 11 views
0

私は自分のサイトで私がGTMを完全に動作させるいくつかの変数を得ているので、gtmから変数結果を取得してajax経由でphpページその後私は結果と一緒に電子メールに使用します。ajaxメソッドを使用してPHPページにgoogleタグマネージャの結果を送信するGET

<script> 
    $(document).ready(function() { 
    var msg = google_tag_manager["GTM-xxxxx"].dataLayer.get('pageName'); 
    var msg1 = google_tag_manager["GTM-xx"].dataLayer.get('MembershipLvl'); 
    var msg2 = google_tag_manager["GTM-xx"].dataLayer.get('CountryRes'); 
    var msg3 = google_tag_manager["GTM-xxxx"].dataLayer.get('pageLanguage'); 
    var getall = [msg, msg1, msg2, msg3,]; 
// var me = 'just seend'; this do work 
    console.log(getall); 
    $.ajax({ 
    type: "GET", 
    url: "url.cart.php", // some php 
    data:{info: getall}, 
    datatype: 'html', 
    success: function(data) {} 

}); });

、ここでは私のphp

<?php 

/* *
*/ send_mail()です。

関数send_mail(){ 問題は、IMを送信GTM変数を取得していないということである{

$mail = $_GET["info"]; 

    $header ="From: [email protected]" . "\r\n"; 
    $for = '[email protected]'; 
    $header .= "MIME-Version: 1.0\r\n"; 
    $header .= "Content-Type: text/html; charset=ISO-8859-1\r\n"; 
    $title = 'Mailing list Newsletter'; 
    $message = '<html><body>'; 
    $message .= '<br/> <p>tou got email from</p><br/>'; 
    $message .= '<table rules="all" style="border-color: #666;" cellpadding="2">'; 
    $message .= "<tr><td><strong>Email:</strong> </td><td>" . strip_tags($mail)."</td></tr>"; 
    $message .= "</table>"; 
    $message .= "</body></html>"; 

    if(mail($for, $title, $message, $header)){ 
        die(); 
    }else{ 
     //echo "false"; 
    } 

}else{ 
    echo "false"; 
} 

}

?>

($ _GET [ "情報"])場合は、私はコンソールログでそれらを参照してください、私はvar = testのような変数を変更する場合、私はそれを得るが、私はちょうどGTM変数を送信することができません

答えて

1

だから問題は$_GET["info"]には、strip_tagsが処理できない配列が含まれています。呼び出しの応答を見ると、PHPエラーが発生するはずです。どこかの行に沿って:警告:strip_tags()は、パラメータ1が配列であると想定しています。配列から値を取得する場合は、ループを構築するか、特定のインデックスを参照することができます。
LOOP

foreach ($mail as $gtm) { 
    $message .= $gtm; 
} 

INDEX

$message .= $mail[0] // google_tag_manager["GTM-xxxxx"].dataLayer.get('pageName'); 
$message .= $mail[1] // google_tag_manager["GTM-xx"].dataLayer.get('MembershipLvl'); 

等...

PHP strip tags
Foreach loop
How to view a ajax call in chrome

+0

私は実際にあなたが私に言った変更を加えることなく、私よjuを送るように試みたst 1 varbaile配列の例 "var msg"まだ何も得られていません –

+0

私はヘッダーリクエストを見る必要があります。クロムでajaxリクエストを表示する方法についての私の回答にリンクを見てください。 –

+0

ajaxの問題を修正していただきありがとうございました。ループが必要でした –

関連する問題