2

たとえば、5つの電子メールスレッド(a、b、c、d、e)があり、各電子メールは異なります。各メールには、ランディングページへのリンクが含まれています。

次に、SQLデータベース(現在はmysqlですが、PDOを使用して変更される可能性があります)からデータをプルして、ビューアの送信元の電子メールスレッドに応じて異なるコンテンツを取り込むphpランディングページワイヤフレームがあります。つまり、1つのphpランディングページですが、データベース内の5つの行は、どの電子メールビューアからのリンクに応じて、そのランディングページの5つの異なるバージョンを設定します。

ランディングページの現在のクエリは次のようになります。

<?php
       $result = "SELECT body_copy FROM low_engagement WHERE thread_segment = 'a3'";
       $stmt = $connection->prepare($result);
       $stmt->execute();
       $body_copy = "";
       while($row = $stmt->fetch()) {
       $bodyCopy = $row['body_copy'];
       }
?>

'a1'、'a2'、'a3'、'a4'、および'a5'の値全体でthread_segmentというタイトルのWHERE句を手動で変更すると、ランディングページが5つのスレッドのそれぞれに従って適切なコンテンツで更新されます。

私の質問ですが、HTMLメールでhrefをマークして、そのリンクがランディングページにリンクしているときに、ランディングページとどのように相互作用して、5つのメール/メールリンクのどれから来ているのかを伝え、動的に変更することは可能ですか? thread_segment値は適切ですか?

私はPHP/PDOにかなり慣れていないので、提案や指示を受け入れます。この問題に関する私の現在の研究では、いくつかの手段の1つを介して変数を渡す可能性をまだ研究していますが、私が見つけたコンテンツのほとんどはフォームに関するものです。

どんな洞察も大歓迎です!

4

2 に答える 2

4

はい、メールのhrefでthread_segmentを次のように渡します:some.url.com/page.php?s=a3そしてpdoを次のように変更します:

<?php
   $result = "SELECT body_copy FROM low_engagement WHERE thread_segment = :s";
   $stmt = $connection->prepare($result);
   $stmt->bind_param(':s', $_GET['s']);
   $stmt->execute();
   $body_copy = "";
   while($row = $stmt->fetch()) {
       $bodyCopy = $row['body_copy'];
   }
?>
于 2013-03-26T18:20:21.850 に答える
1

HTTP GET変数を使用して、URLを使用して情報を渡すことができます。

例:リンク: http: //yourlink.org?segment = a1

は値に?segment=a1関連付けられます。次のように区切ることで、パラメータを追加できます。segmenta1&?segment=a1&language=en

私はここで変数名を非常に明確にしています。通常、URLはできるだけ短くするようにします。

次に、次を使用してPHPでこの変数にアクセスできます$_GET

$_GET["segment"]

詳細については、PHPドキュメントを確認して くださいhttp://www.php.net/manual/en/reserved.variables.get.php

于 2013-03-26T18:28:46.023 に答える