ログの取り方について - PHPプロ!Q&A掲示板

2056

  • 0P

ログの取り方について

質問日時 / 2009年5月24日 00:57    回答数 / 3件

Questioner:  hiro_php  このエントリーをはてなブックマークに追加 

キーワード / php    javascript    アクセスログ   

いつもお世話になります。

今、静的HTMLからscriptタグより、phpファイルを埋め込み、
そのHTMLへアクセスした訪問者のリンク元を取得したいと思っているのですが。

参考サイトをみても、抽出の仕方が全くお手上げ状態です。(3日格闘のあげくノックダウン)

phpファイルには、出力分には以下の下に記述するのは分かるんですが、
  1. header("Content-type: application/x-javascript");
  2. echo "document.write("\バナーとか"\)";

肝心なリンク元の抽出の記述がわかりません。
$_SERVER['HTTP_REFERER'];
えいや~、あれ?インクールドと似たテクニックと違うじゃないか!
document.referrer;
出力先のHTMLで訪問者のリンク元が確認できるのみ。

肝心なこの値を抽出するのにどうすればよいのでしょうか?
できましたら簡単な例文をいただいて、何卒ご教授お願いします。

この質問への意見の募集は締め切られ、ポイントは既に配分されました。
意見を投稿することはできますが、ポイントを受け取ることはできません。



ツリー一覧

┗A01magicflute2状況も、欲しい情報が何かも判りかねますが、 インク
 ┗A01-1hiro_php ご回答ありがとうございました。 >>JavaScriptで
  ┗A01-1-1magicflute2このアクセス解析とは、 タグを発行し自サイトに貼り

回答一覧

並び替え:

A01
answerermagicflute2 [5月24日 06:47]

状況も、欲しい情報が何かも判りかねますが、
インクールドって、<?php include('ref.php') ?>の様にするという事ですかね。
<iframe src="ref.php">でPHPを呼び出す方法は試しましたか?

  1. <?php
  2. // ref.php for PHP5
  3. file_put_contents( "ref.log"print_r( $_SERVERTRUE ) );
JavaScriptで取得した場合、
結局、何らかの手段でリファラをサーバーに送る必要がでてきますよね。

この意見に回答する

ツリーへ TOPへ

A01-1
replyerhiro_php [5月25日 06:24]


ご回答ありがとうございました。

>>JavaScriptで取得した場合、…

配布されている無料のアクセス解析をじっくり調べたのですが、
HTMLに
  1. <script>
  2. document.write("<a href=ref?php~>");
  3. document.write("<img src="ref.php?" + document.referrer + >");
  4. document.write("</a>");
  5. </script>
のような記述でして。

ref.phpから最初、
getenv('QUERY_STRING')で、上記のdocument.referrerを取り出して、
datファイルなどへ書き込み、画像出力という形で理解できたのですが、
もう少し欲を出すと、将来的に携帯でも使えるように、javascriptを使用せずに、
うまくHTTP_REFERRERが取り出せないかと考えています。

[1:リンク元ファイル]--アクセス->[2:アクセスログを取るHTML]<--imgタグより呼び出し--[3:ref.php]

あるpealの参考書ssiを使わないアクセスログの取得方法がありまして。
イメージタグより、cgiファイル[3の所]を呼び起こして、
そのcgiファイルに環境変数$ENV{'HTTP_REFERER'}と記載すると着実に結果はリンク元[1]が取得できるのに、
phpファイルで同じように呼び起こそう試したのですが、$_ENV['HTTP_REFERER']や$_SERVER['HTTP_REFERER']およびgetenv('HTTP_REFERER')などだと[2]のHTMLファイルがリンク元になってしまいます。

pealの$ENV{'HTTP_REFERER'}の頭が離れなくて、固くなっています。
例えば<img src="ref.php?クエリ文字列">で、クエリの文字列を$_GETなどでうまくつなげる事って可能なのでしょうか?

よろしくお願いします

この意見に回答する

ツリーへ TOPへ

A01-1-1 満足
replyermagicflute2 [5月25日 09:56] (最終編集:5月25日 11:16)

このアクセス解析とは、
タグを発行し自サイトに貼り付け解析を行うサービス
を指していて、そのサービスを利用するのですよね?

そうではなく、無料解析サービスを参考に、
自分で解析スクリプトを作ってみようという事なのでしょうか?

<img src="ref.php">では、リファラは目的の値にはなりませんでした。
携帯用にJavaScriptを使わない前提なので、結論は無理だと考えます。
動的ページにすれば、一発解決なのですがね。

静的HTMLにこだわる理由はSEO的にという事でしょうか。
現状で、動的ページがインデックスされづらいと感じますか?

この意見に回答する

ツリーへ TOPへ

<<質問一覧へ



Pick Up Q&A

Q
セッションがいいのか、それともデータベースがいいのか教えて下さい。
 このエントリーをはてなブックマークに追加 
A
>ボタンをクリックしたら選んだ商品情報を持っておきたいと思っています。 そのくらいのことならセッションもしくはCookie(期限短め:場合によってはブラウザ閉じるまで)でいいんじゃないですかね。 #わ...

>>続きを読む

一つの目安として、ECサイトの購入情報など絶対に消えてはいけないものはDBに、カートなどの一時的に使用する情報や、ユーザに任意のタイミングで消去されても構わないものはセッションにと使い分けるといいでしょう。

▲解説者:岡本(アシアル株式会社 教育コーディネーター兼 システムエンジニア)