広告からサイトのトップにお客様が来た際に、URLの後ろにアフィリエイトIDが付与されるのですが、そのIDを、お客様が購入完了ページへ行くまで、保持する必要があります。
最初にサイトに訪れた際にIDを取得する方法として、下記のコードをトップページに入れました。
$mae =$ENV{'QUERY_STRING'};
@a = split(/=/, $mae);
$ato = @a[1];
それにより、最初にサイトに訪れた際にIDを取得することはできるのですが、お客様が他のページに行き、再びトップページに戻った際に、再度IDを取得する作業を行ってしまいます(実際には、二回目以降はID以外の文字をIDとして取得します)。そのため、URLがトップページに行く度に変化していくことになってしまいました。
無事にIDを購入完了ページまで保持するようにするにはどうしたらいいのか最初から順を追って教えていただきたいです。
ほとんど知識がありませんので、初心者にもわかるように教えていただければうれしいです。
宜しくお願い致します。
サイトを構成している言語が何か分かりませんが、if文を使うことで簡素に済ませる事ができます。
まず、サイトに初めてアクセスした時にIDを取得してページを表示させます。
ライブラリにcgi-lib.plを使用した場合で説明します。ここでは、スクリプト名を$scriptに代入しています。
sub main {
#フォームデータを処理する(cgi-lib.plを使用)
my %form;
&ReadParse(\%form);
#変数$form{'id'}が空白の場合、IDを取得させる
if ($form{'id'} eq ""){
$mae =$ENV{'QUERY_STRING'};
@a = split(/=/, $mae);
$form{'id'} = @a[1];
}
#ページ出力
print "Content-type:text/html; charset=Shift_JIS\n\n";
print <<"EOF";
<html>
<head>
<title></title>
</head>
<body>
トップページ
<a href="script.cgi?mode=sub&id=$form{'id'}">サブページへ</a>
</body>
</html>
EOF
exit;
}
上記スクリプト内の「<a href=""></a>」内にidを組み込んでおけば、どのページへ行ってもIDを持って行く事が可能です。
Cookieを使った方法もあるかもしれませんが、知識不足な為ご案内できませんでした。
参考にならなかったら、すみません。