今度、アフィリエイト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 にプログラムを追記することが必要でしょうか。
追記のコード等、ご教示ください。
以外と手ごわそうですね^^
またすこしアプローチを変えてみたいと思います。
ブラウザから確認画面(confirm.php)まで進み、右クリック→ソースの表示とすると、ソースの中に入力したメールアドレスが記述された部分が数箇所あると思います。
その中に、
<input type="hidden" name="xxxx" value="入力したメールアドレス" >
という部分があると思いますので、xxxxの部分が何と書かれているかを教えていただけますでしょうか
また、confirm.tplというファイルは存在していますでしょうか。存在しているのであれば、ソースの表示で確認した部分(<input type="hidden"~)と同じような既述があると思いますので、こちらはその部分を1行コピペしていただければと思います。
データの受渡し方法などの詳細が分からないので微妙ですが、以下のような感じではどうでしょうか
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">という認識はあっていますでしょうか。
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"); という既述はありません。
どうやら弄るのは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();
がありますが、この辺りにヒントがありますでしょうか。
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
以外と手ごわそうですね^^
またすこしアプローチを変えてみたいと思います。
ブラウザから確認画面(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の勉強を始めるきっかけとなりました。
本当にありがとうございました。
解決してなによりです^^
やはり少し特殊な手法が使われているようですね。
いきなりこのようなphpを解読するのは大変だと思いますが、前後の関係には規則性があるはずですので、丁寧に調べていけば以外となんとかなるものだと思います。
phpの勉強がんばってください。
本当にありがとうございました。
ありがとうございます。あした、出社後、確認いたします。
解決できました。ありがとうございます。
下記修正内容になります。
>xxxxの部分が何と書かれているか
wEMail
><input type="hidden"~)と同じような既述
__nEMail__</td> でした。
よく confirm.php を確認したところ
$nEMail = $wEMail;
という記述もあり、ここでようやく理解できました。
finish.php に
$nEMail = urlencode( $nEMail );
を追加し、finish.tpl のコンバージョンタグに
cc=__nEMail__
とすることで解決いたしました。
PHPの勉強を始めるきっかけとなりました。
本当にありがとうございました。