ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

Webプログラミングについて語るコミュの行き詰まりました^^;質問

  • mixiチェック
  • このエントリーをはてなブックマークに追加
どうもはじめまして。質問したいことがありまして。
会員制HPまでは行かないのですが、ある特定の方々を
対象にページを作っております。
そのページの設定なのですが
サーバーの同一フォルダ内に.htaccessを置き、リファラーを設定。
飛び先で環境変数(IP、HOSTなどなど)を取得し(CGI)登録情報を自分のメールに送信(フォーム形式)等しております。(環境変数取得については了承済み)
そのページに広告(アフリエイト)をいくつかバナーとして
貼り付けているのですが、そのバナー経由で登録された際、
その特定の方々の中からさらに「登録者を特定」する方法はございますでしょうか?
前提が
・サーバー環境としましてSQL関係は利用できません。
・広告主からリンク元、IPアドレスが参照、問い合わせができません。

イメージとして.cgi?NAME=""が必要なのか、
取得した環境変数を利用するのか、またどう利用するのか。
該当のスクリプトが存在するのか、またスクリプトの書式は
どうするのか。・・・そこらへんで悩んでおります。
打開策が御座いましたらどうかご教授願いますm_ _m

コメント(22)

えびさん>>
早速のご教授有難う御座います^^
0>>「広告に変数を埋める」
$hoge = "http://※※※"
ということですね?
やはり広告のリンク先から「登録が完了した」ということを確認する方法は難しいみたいですね^^;
1>>
一回JaveScriptでやってみたんですが、サーバーにアップして
試したところ動作しなかったので、ソースを確認したら<head></head>内に記述したScriptに「function error」みたいな記述が付加されていました。
それが動作しない理由かどうか色々検索エンジン等で探して見ましたが、唯一「外部ファイルとして」ということが条件に類似しているように思えましたのでその通り「外部ファイル化」してみたのですが変化がありませんでした^^;

すみません^^;
1>>
ちなみに参考にしたページに記載されていたのは以下の通りでした^^;
*******************************************
<html>
<head>
<title>簡易オーダーフォーム</title>
<script language="JavaScript"><!--
function calc()
{
goukei=0;
if(document.orderForm.ch1.checked==true)goukei+=3000;
if(document.orderForm.ch2.checked==true)goukei+=2500;
if(document.orderForm.ch3.checked==true)goukei+=1500;
if(document.orderForm.tax[0].checked==true)goukei*=1.05;
if(document.orderForm.send[0].checked==true)goukei+=500;
document.orderForm.calcText.value=goukei;
}
// --></script>

</head>



<body>
<form name="orderForm">
<input type="checkbox" name="ch1">
商品1 \3,000.-<br>
<input type="checkbox" name="ch2">
商品2 \2,500.-<br>
<input type="checkbox" name="ch3">
商品3 \1,500.-<br><br>
消費税を
<input type="radio" name="tax" value="0" checked="true">
含む
<input type="radio" name="tax" value="1">
含まない<br>
送料(\500.-)を
<input type="radio" name="send" value="0" checked="true">
含む
<input type="radio" name="send" value="1">
含まない<br><br>
<input type="button" value="計算" onClick="calc()">
<br><br>
<input type="text" name="calcText">
<br><br>
<input type="reset" value="リセット" >
</form>
</body>
</html>
***************************************************
上を下記のように改ざんしてみました^^;
********************************************
<html>
<head>
<meta name="robots" content="noindex,nofollow">
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<title>ご登録フォーム</title>
<script language="JavaScript"><!--
function calc()
{
goukei=0;
if(document.orderForm.ch1.checked==true)goukei+=3000;
if(document.orderForm.ch2.checked==true)goukei+=2500;
if(document.orderForm.ch3.checked==true)goukei+=1500;
document.orderForm.calcText.value=goukei;
}
// --></script>

</head>
<body>
<form name="orderForm" action="./hogehoge.cgi" method="POST">
<input type="checkbox" name="ch1">
商品1 \3,000.-<br>
<input type="checkbox" name="ch2">
商品2 \2,500.-<br>
<input type="checkbox" name="ch3">
<input type="button" value="計算" onClick="calc()">
<br><br>
<input type="text" name="calcText">
<br><br>
<input type="reset" value="リセット" >

【中略】

<INPUT type="submit" value=" 確認画面 ">
<INPUT type="reset" value=" 初めからやり直す " name="reset">
</form>
</body>
</html>
> 上を下記のように改ざんしてみました^^;

http://e-words.jp/w/E694B9E38196E38293.html

いやその言葉遣いはちょっと・・・
すいません。訂正します「改ざん」→「引用」

えびさん〉〉
cgiは存在しております(submitでの飛び先)
えびさん〉〉
お世話になります。ご丁寧なご対応いただきまして涙ぐましいです。現在仕事中で出先にて携帯からで失礼致します。帰り次第ソース提示してみます。(夜10時頃になりそうです。わがまま言いまして恐縮ですm_ _m)
えびさん>>
遅くなってしまいました^^;
タグが長文でしたのでソース閲覧の為、適当に省略して
念の為、動作確認してみたらブラウザでOKでした^^;
なんでだろう?って感じです^^;
サーバーにアップして本チャン確認してみます^^;
一応ソースになります。
(にわか修正でタグがベタなことお許し下さいませ)
**************************************************
<html>
<head>
<meta name="robots" content="noindex,nofollow">
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<title>ご登録フォーム</title>
<script language="JavaScript"><!--
function calc()
{
goukei=0;
if(document.orderForm.ch1.checked==true)goukei+=600;
if(document.orderForm.ch2.checked==true)goukei+=750;
if(document.orderForm.ch3.checked==true)goukei+=800;
document.orderForm.calcText.value=goukei;
}
// --></script>

</head>
<body>
<form name="orderForm" action="./hogehoge.cgi" method="POST">
<H1>-----ご登録フォーム-----</H1>
<div id="welcome">
<h2>文章【長文の為略】</h2>
</div>
<div id="about" align="left">
<h3 align="center">文章2</h3>
文章3
</div><br>
<div id="cyui" align="left">
<H3 align="center"><ご注意></H3>
文章4
<p class="before">
 文章5
</p>
<p ="after">
 文章6
</p>
</div>
<TABLE border="0">
<TBODY>
<TR>
<TD align="center"> 
<TABLE border="0">
<TBODY>
<TR>
<TD>?項目1</TD>
<TD><INPUT type="text" name="項目1" size="40" maxlength="80"></TD>
</TR>
     <TR>
<TD>?項目2</TD>
<TD><INPUT type="radio" name="項目2" value="はい">はい
      <INPUT type="radio" name="項目2" value="いいえ">いいえ
      </TD>
</TR>
<TR>
<TD>?項目3</TD>
<TD>
       <SELECT name="項目3">
<option value="1個">1</option>
<option value="2個">2</option>
</SELECT>
</TD>
</TR>
<TR>
<TD colspan="2">
<TABLE border="0">
<TBODY>
<TR>
<TD align="center"><B><FONT color="#00ffff">サイト名1</FONT></B></TD>
<TD align="center"><B><FONT color="#00ffff">サイト名2</FONT></B></TD>
<TD align="center"><B><FONT color="#00ffff">サイト名3</FONT></B></TD>
<TD align="center"></TD>
</TR>
<TR>
<TD><a href="" target="_blank"></a>
         </TD>
<TD><a href="" target="_blank"></a>
         </TD>
         <TD><a href="" target="_blank"></a>
         </TD>
         <TD>文章</a>
         </TD>
</TR>
<TR>
<TD align="center"><INPUT type="checkbox" name="ch1" value="サイト名1"></TD>
<TD align="center"><INPUT type="checkbox" name="ch2" value="サイト名2"></TD>
<TD align="center"><INPUT type="checkbox" name="ch3" value="サイト名3"></TD>
<TD align="center"><input type="button" value="合計を計算" onClick="calc()"></TD>
</TR>
<TR>
<TD align="center"><B><FONT color="#0000ff">600</FONT></B></TD>
<TD align="center"><B><FONT color="#0000ff">750</FONT></B></TD>
<TD align="center"><B><FONT color="#0000ff">800</FONT></B></TD>
<TD align="center"><input type="text" name="calcText"></TD>
</TR>
</TBODY>
</TABLE>
</TD>
</TR>
<TR>
<TD colspan="2"></TD>
</TR>
<TR>
<TD>?項目4</TD>
<TD>
       <SELECT name="?項目4">
       <option value="選択1">選択1</option>
       <option value="選択2">選択2</option>
       <option value="選択3">選択3</option>
       </SELECT>
名前1:<INPUT type="text" name="名前1:" size="20" maxlength="80"><br>
名前2:<INPUT type="text" name="名前2:" size="20" maxlength="80"><br>
名前3:<INPUT type="text" name="名前3" size="20" maxlength="80"></TD>
</TR>
<TR>
<TD>備考欄</TD>
<TD><TEXTAREA name="message" rows="5" cols="40"></TEXTAREA></TD>
</TR>
<!--
<INPUT type="hidden" name="form_check" value="sendmail">
<INPUT type="hidden" name="returnmail" value="0">
-->
<TR>
<TD>入力確認</TD>
<TD><INPUT type="submit" value=" 確認画面 "><INPUT type="reset" value=" 初めからやり直す " name="reset"></TD>
</TR>
<TR>
<TD></TD>
<TD></TD>
</TR>
</TBODY>
</TABLE>
</TD>
</TR>
</TBODY>
</TABLE>
</form>
</body>
</html>
本チャンで確認したら動作が確認できました^^有難う御座いました^^
以下の文がHEAD内に付加されることが気になりますが(タグ?)
submit先のcgi、sendmailも無事動作確認できましたので満足しています^^
どうやら
えびさん>>
のおっしゃったとおり「中略ソース」に原因があったか
或いは(タグ?)にてif文で前回は
if(document.orderForm.ch1.checked==true)goukei+=0;
というよう文を追加していたのがいけなかったかもしれません^^;
*********************************************
【タグ?】
<script language="JavaScript"><!--
function calc()
{
goukei=0;
if(document.orderForm.ch1.checked==true)goukei+=600;
if(document.orderForm.ch2.checked==true)goukei+=750;
if(document.orderForm.ch3.checked==true)goukei+=800;
document.orderForm.calcText.value=goukei;
}
// --></script>

********************************************
【タグ?】
<script language="JavaScript">
<!--

function SymError()
{
return true;
}

window.onerror = SymError;

var SymRealWinOpen = window.open;

function SymWinOpen(url, name, attributes)
{
return (new Object());
}

window.open = SymWinOpen;

//-->
</script>
「登録完了確認」のほうなんですが・・・

>>登録が完了したときの処理で、完了HTMLを返す前に、プログラムをキックさせてみてはいかがでしょうか?

というところで私の環境としましては
(JavaScriptを流用したものと同一ページにて)
submitでhogehoge.cgiに飛びまして(perl記述内で一旦html出力、htmlはprint文でタグ構成)
さらにそこにある「送信ボタン」でsendmailにて我アカウントに自動で届くように設定しております。

そうしますと「sendmailを送る前」或いは「submitで出力する前」のどちらかで解釈してもよろしいでしょうか?

初心者と申しますと逃げ言葉かもしれませんが、も一つイメージが沸いてないのかもしれません^^;

ちなみに広告はA8ネットです
> 以下の文がHEAD内に付加されることが気になりますが(タグ?)

Norton Internet Securityの広告ブロックなんでそれは諦めるしかないと思います。
>>14さん
そんな簡単なことだとは知りませんでしたでした。
ご教授有難う御座ます。
> DB使わなくても済む方法があるのか?

たとえばCSVファイルのような「DBで持っている構造と同じもの」でデータを表現することは可能っちゃ可能です。
#世の中によく出回っている「掲示板」スクリプトは大半がこの方式です。

ただし、単に追加の上書きならともかく、更新・削除などの処理が入る場合、DBを使ったほうが相当楽になることは間違いないです。

廉価プランといいましても、最近はだいたい月300円以内で借りれるDBが使えるレンタルサーバがありますが、そういうのの利用も検討してみてはいかがでしょう?

あとは、もう少し基本的な方針をきちんと誰かに(mixiとかの文字のやりとりではなくて)教えてもらうのがベストのような気がします。そこまでのものを作ろうとするには、少し知識不足が否めない感触です。時間に余裕があればこんな感じでもそのうちできるようにはなるとは思いますが。
>>えびさん
どうもこんばんわ^^お世話になります。
CGI(perl)の件なのですが
私のページにて情報を登録していただいて(例えば【飲んだくれの会】への情報登録とします)それとは別に、そのページの趣旨に直接関係のないバナーが最下部に羅列しているとしまして、そのバナーを「広告?」と呼ぶとします。また「広告?」は「ショッピングモールの会員登録」とします。現状ですと、バナーからショッピングモールの会員登録していただいても確認する手段がないので「バナーより登録していただいたら」その下にあるチェックボックスにて自己申告となっております。
勿論、チェックがいったものは【飲んだくれの会】の情報登録と同じく、おっしゃられる『会員登録確認』の画面やsendmailでも「この方は広告?に登録してくれたんだなあ」と確認をとることが出来ます。
しかしあくまで自己申告制ですのでアフリエイトサイト(A8)
などで確認する際、大体は見当がつきますが、これが何人かが同じ「広告」より登録しますと例えば「注文件数:2個」ということしか確認が取れませんので、「AさんBさんCさん」は『広告?』に登録。「BさんCさんDさん」は『広告?』に登録。といった具合に確定確認が取れるものかどうかと思いまして^^;
ポイントバックやキャッシュバックをするわけではないんですが、景品をつかうかどうか迷っている段階です。
例えば(が多くすみません^^;)
数あるポイントバック制を導入したポイントサイト(アフリエイトのバナーを掲載)は確定手段があるように思えます。
しかし、データベース(DB)と合わせて使っているような感もあります。(素人考えですが^^;)
私の場合、会員制サイトでもなく不特定多数でもなく、ある条件を満たした方々に対してですので現在、レンタル鯖ですが
廉価プランにてDBが使えないので、アップグレード・・・・
までしてDB使わなくても済む方法があるのか?それとも
DB自体きにしなくていいことなのか?最低でも「DB使わないとできないよ」なのか?・・・・なんだか訳がわかんなくなってきました^^;話を反れた訳ではないですが、ちなみに使用可能DB?はBerkeley DBらしいです。
>>KIDD@BeForU
真っ当なご意見有難う御座いました。
えびさん>>
いつもありがとうございます^^
データがもらえればいんですけどね^^;
再度A8に問い合わせしてみたのですがダメみたいでした^^;
オンクリック、CSVご教授有難う御座います。
CSVは取り込み(情報登録のみ)完了しているのですが便利ですね。
いろいろなご意見踏まえてサーバーアップグレードを考えてみたいと思います。
有難う御座いました^^

ログインすると、残り7件のコメントが見れるよ

mixiユーザー
ログインしてコメントしよう!

Webプログラミングについて語る 更新情報

Webプログラミングについて語るのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。