人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

某社でメールマガジンを運営しています。
今度、アフィリエイトASP(バリューコマースなど)を利用して会員募集を行う事になりました。
しかし、コンバージョンタグへのパラメータ値の代入方法がわからず困っております。
システム開発者が退社し連絡が取れない状況です。
私は運営担当でプログラムにはあまり詳しくありません。

PHPで書かれたシステムです。

会員登録の流れ------------
form.php フォームから、メールアドレス等を入力させ登録ボタンを押す

confirm.php 確認画面が表示、確認ボタンを押す

finish.php 画面が表示、登録が完了

finish.php で利用される登録完了画面 finish.tpl に設置した
下記のようなコンバージョンタグの cc=**** 部分へ

<img src="https://ads.aaaa.co.jp/a00001/b00001/con.cgi?cc=****&dd=1" width="1" height="1">

動的に メールアドレスが代入されるように設定したいです。
また、メールアドレスはURLエンコーディングする必要があります。

finish.php にプログラムを追記することが必要でしょうか。
追記のコード等、ご教示ください。

●質問者: atiran
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:ASP CC PHP TPL URL
○ 状態 :終了
└ 回答数 : 6/6件

▽最新の回答へ

1 ● sera_yr
●100ポイント

データの受渡し方法などの詳細が分からないので微妙ですが、以下のような感じではどうでしょうか

1.finish.phpに以下のコードを追加

$email = $_POST['form_email'];

if( $email != "" ) $email = $_GET['form_email'];

$email = urlencode( $email );

※コード中のform_emailの部分は、confirm.phpにある、入力されたメールアドレスの値を入れるhiddenタグのname属性の値とします。

(この例は<hidden name="form_email">の場合です)

2.cc=****の****部分に$email を代入

ダミーです:http://yahoo.co.jp

◎質問者からの返答

ありがとうございます。

さっそく試してみます。

試したのですが、

$email のまま変化しません。

どのような情報があれば良いでしょうか。

confirm.php のメールアドレス部分の記述は下記になります。

※ソース削除

必要な情報があればお知らせください。

<hidden name="$wEMail">という認識はあっていますでしょうか。


2 ● sera_yr
●100ポイント

confirm.phpおよびfinish.phpのソースコードが全て閲覧できると確実なのですが、ソースコードの全て又はその一部をここにアップするのはセキュリティ上好ましくありません。(というかかなりまずいことです)

ですので、なるべくソースコードを公開しないようにしながら解決していければと思います。

本題に入りますが、前回の回答で解決しないということですので、少しアプローチを変えたいと思います。

まず、finish.phpに、$wEMailという既述があるかどうかをご確認いただけますでしょうか。

既述がある場合には、finish.phpに、

$smarty->assign("EMail",$wEMail);

というような既述があるかをご確認ください。

無い場合には、confirm.php内に、

header("location:thanks.php");

というような既述があるかをご確認ください。

※それぞれ若干異なる表記にて既述されている場合もあります。

ひとまず上記の確認にyes/noにてご回答いただけまでしょうか

◎質問者からの返答

ありがとうございます。

finish.phpに、$wEMailという既述があります。

finish.phpに、$smarty->assign("EMail",$wEMail); という既述はありません。

confirm.php内に、header("location:thanks.php"); という既述はありません。


3 ● sera_yr
●100ポイント

どうやら弄るのはfinish.phpとfinish.tplだけでよさそうですね。

finish.tplのコンバージョンタグにあるcc=****の****の部分を、

{$wEMail}

としてアクセスしてみた場合、コンバージョンタグのcc=の部分はどうなりますでしょうか

※「{」と「}」も必要です。

もし、****の部分が入力したメールアドレスそのものになっているようであれば、finish.php内の、finish.tplを呼び出す既述($smarty->display('finish.tpl');)の直前に、次の一行を入れることで、URLエンコードされたメールアドレスになると思います。

$wEMail= urlencode( $wEMail);

◎質問者からの返答

ありがとうございます。

試しのですが {$wEMail} のままです。

もう少しのようなのですが、すみません。

($smarty->display('finish.tpl');)

という記述はないのですが、

$myHtml->convertTags();

がありますが、この辺りにヒントがありますでしょうか。


4 ● sera_yr
●100ポイント

finish.php内に、finish.tplを含む記述がどこかにあると思いますので、最後に出現する一行を教えていただければと思います。

もしその一行が、include( 'finish.tpl' ); または、require( 'finish.tpl' ); であれば、finish.tplのコンバージョンタグにあるcc=****の****の部分を、

としてみてもらえますでしょうか。

これで入力したメールアドレスがそのまま****の部分に表示されるようであれば、

とすることでURLエンコードされたメールアドレスになると思います。

◎質問者からの返答

ありがとうございます。

finish.tpl を含む記述が少々複雑になっております。

内容を書いてみます。

finish1.tpl

finish2.tpl

finish.tpl は実は2種類あり、ある設定により振り分けられるようです。

しかし、その振り分け設定に当てはまる場合はほとんどない為、

finish1.tpl が表示されます。

finish1.tpl にコンバージョンタグをいれてあります。

なので、どれが該当する最後一行なのか、私にはわからないのですが、

関係がありそうな、ものを羅列いたします。

的はずれでしたらすみません。。

$CNT_FILE =

$HiddenValues =

->getHiddenValues();

->getTemplate

->doHanPrint();

unset


5 ● sera_yr
●500ポイント ベストアンサー

以外と手ごわそうですね^^

またすこしアプローチを変えてみたいと思います。

ブラウザから確認画面(confirm.php)まで進み、右クリック→ソースの表示とすると、ソースの中に入力したメールアドレスが記述された部分が数箇所あると思います。

その中に、

<input type="hidden" name="xxxx" value="入力したメールアドレス" >

という部分があると思いますので、xxxxの部分が何と書かれているかを教えていただけますでしょうか

また、confirm.tplというファイルは存在していますでしょうか。存在しているのであれば、ソースの表示で確認した部分(<input type="hidden"?)と同じような既述があると思いますので、こちらはその部分を1行コピペしていただければと思います。

◎質問者からの返答

ありがとうございます。あした、出社後、確認いたします。

解決できました。ありがとうございます。

下記修正内容になります。

>xxxxの部分が何と書かれているか

wEMail

><input type="hidden"?)と同じような既述

__nEMail__</td> でした。

よく confirm.php を確認したところ

$nEMail = $wEMail;

という記述もあり、ここでようやく理解できました。

finish.php に

$nEMail = urlencode( $nEMail );

を追加し、finish.tpl のコンバージョンタグに

cc=__nEMail__

とすることで解決いたしました。

PHPの勉強を始めるきっかけとなりました。

本当にありがとうございました。


1-5件表示/6件
4.前の5件|次5件6.
関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ