某社でメールマガジンを運営しています。

今度、アフィリエイト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 にプログラムを追記することが必要でしょうか。
追記のコード等、ご教示ください。

回答の条件
  • 1人20回まで
  • 登録:
  • 終了:2006/05/18 14:21:06
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:sera_yr No.5

回答回数123ベストアンサー獲得回数6

ポイント500pt

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

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

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

その中に、

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

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

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

id:atiran

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

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

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

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

wEMail

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

__nEMail__</td> でした。

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

$nEMail = $wEMail;

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

finish.php に

$nEMail = urlencode( $nEMail );

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

cc=__nEMail__

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

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

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

2006/05/18 11:18:34

その他の回答5件)

id:sera_yr No.1

回答回数123ベストアンサー獲得回数6

ポイント100pt

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

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

id:atiran

ありがとうございます。

さっそく試してみます。

試したのですが、

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

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

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

※ソース削除

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

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

2006/05/17 19:29:33
id:sera_yr No.2

回答回数123ベストアンサー獲得回数6

ポイント100pt

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

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

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

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

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

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

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

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

header("location:thanks.php");

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

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

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

id:atiran

ありがとうございます。

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

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

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

2006/05/17 16:17:32
id:sera_yr No.3

回答回数123ベストアンサー獲得回数6

ポイント100pt

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

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

{$wEMail}

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

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

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

$wEMail= urlencode( $wEMail);

id:atiran

ありがとうございます。

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

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

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

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

$myHtml->convertTags();

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

2006/05/17 17:51:17
id:sera_yr No.4

回答回数123ベストアンサー獲得回数6

ポイント100pt

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

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

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

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

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

id:atiran

ありがとうございます。

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

内容を書いてみます。

finish1.tpl

finish2.tpl

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

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

finish1.tpl が表示されます。

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

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

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

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

$CNT_FILE =

$HiddenValues =

->getHiddenValues();

->getTemplate

->doHanPrint();

unset

2006/05/17 19:28:24
id:sera_yr No.5

回答回数123ベストアンサー獲得回数6ここでベストアンサー

ポイント500pt

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

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

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

その中に、

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

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

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

id:atiran

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

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

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

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

wEMail

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

__nEMail__</td> でした。

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

$nEMail = $wEMail;

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

finish.php に

$nEMail = urlencode( $nEMail );

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

cc=__nEMail__

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

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

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

2006/05/18 11:18:34
id:sera_yr No.6

回答回数123ベストアンサー獲得回数6

ポイント100pt

解決してなによりです^^

やはり少し特殊な手法が使われているようですね。

いきなりこのようなphpを解読するのは大変だと思いますが、前後の関係には規則性があるはずですので、丁寧に調べていけば以外となんとかなるものだと思います。

phpの勉強がんばってください。

id:atiran

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

2006/05/18 14:18:42

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません