1

ユーザーが連絡先フォームを送信した Web サイトを特定したいと考えています。

お問い合わせフォームはインクルード ファイル (.shtml) であり、このファイルは 2 つの異なる Web サイトで使用されています。それは1つのファイル(インクルード)だけなので、javascriptif...elseステートメントまたはswitchステートメントでこれを行いますか? もしそうなら、それはどのように書かれますか?

私は JavaScript が初めてで、あまり書く必要がなかったので、構文の助けをいただければ幸いです。

2 つの異なるサイトの ID を使用して、1 つのインクルード コンタクト フォームに 2 つの非表示フィールドを追加することを考えました。

html

<input type="hidden" data-id="new_student_signup" name="student_signup" value="" />
<input type="hidden" data-id="existing_student_signup" name="existing_student_signup" value="" />

js

if(data-id="new_student_signup"){

  // this user came from the new student website

   code if this condition is true
 }

else if(data-id="existing_student_signup"){

  // this user came from the existing student website

   code if this condition is true

 }

または、1 つのインクルードで JavaScript を使用する代わりに、他の Web サイト用の新しいインクルード ファイルを作成し、そのファイルに隠しフィールドを追加する必要がありますか?

確かに、私のような JavaScript の初心者にとってはそれが最も簡単なように思えますが、JavaScript をもっと学ぶという考えは気に入っています。

4

2 に答える 2

1

をチェックして、サーバーサイドスクリプトを使用して実行できますHTTP_REFERRER

PHP の例

<?php
if(!empty($_SERVER['HTTP_REFERRER']) && $_SERVER['HTTP_REFERRER'] == 'http://google.com/')
{
// proceed accordingly
}

HTTP リファラー文字列全体ではなく、URL 内のドメイン名またはより具体的なデータに基づいてリファラーを区別したい場合があります。その場合は、http://php.net/parse_urlを見てください。


プロパティにアクセスすることで、JavaScript を使用することもできdocument.referrerます。

于 2012-02-01T11:51:32.897 に答える
0

document.urlプロパティをチェックし、それを非表示の入力フィールドに入れることで、javascriptでこれを行うことができます。ただし、サーバー側のプログラミングコードでこれを確認する方がよいと思います。現在使用しているサーバーを確認し、それを使用してサーバーの形式を判別できます。これを行うには、 SERVER_NAMEサーバー変数を取得します。これにより、現在使用しているドメインがわかります。

于 2012-02-01T15:15:05.687 に答える