• 締切済み

PHPを利用してログを取る方法。

お世話になります。 PHP初心者の質問で申し訳ありませんが 宜しくお願いいたします。 WEBのシステムで、ログを取るときの方法 ですが、どのような方法があるでしょうか? <現在の画面遷移> HTML→HTML (アンカータグでのリンク、ログを とってない状態) 仕様上、最初のHTMLと最後のHTMLをPHPに変更すること ができないようになっております。 <変更予定の画面遷移> HTML→PHP→HTML (1)アンカータグにパラメータを与え、PHP側で飛んで きた、パラメーターに対して、PHP側でSELECT文を発行 し、必要の情報を取得。 (2)その後、LOGのTABLEにINSERT文を発行 (3)HTMLにリダイレクトする方法です。 私が考えた方法は以上の通りです。他に良い方法が あれば、ご教授お願いいたします。

みんなの回答

  • cybert
  • ベストアンサー率56% (18/32)
回答No.3

いやいや。ページを挟まなくてもいーですよ。 要するに、PHPを呼び出しさすれば良いので、 HTMLからPHPを呼び出す?方法を二つ書きます。 1:画像を出力するPHPを用意する。これをimg.phpとします。img.phpでログを取るコードを書く。 HTML側で、<IMG src="img.php">で呼び出す。以上 画像は適当に1ピクセルの白とか出力するやつでも書けばOK。PHP側のヘッダーの記述に気をつけてください。 2:今度は普通に、アクセスログを取るPHPを作る。 HTML側で以下のように呼び出す。 <iframe src="xx.php" height=0 width=0> 意味は簡単なんで調べてください。 他にも方法はあると思います。ようはHTMLから何らかの 形で、PHPを呼び出す、PHPにアクセスさせればいーんです。かんたんでしょ?

okubagaitai
質問者

お礼

ご解答ありがとうございます。 (1)の方法、(2)の方法ではページを開いたときに プログラムが動作してしまうため、ちょっと私が 取得した情報が正確性に疑問があるため、今回は アンカーをクリックした時に、動作するような処理 をする事に、致しました。 私の説明が少なかったように思います。 すいませんでした。

  • 9arabi
  • ベストアンサー率32% (140/433)
回答No.2

XHTMLじゃないなら(<iframe>が推奨されないため)、 HTMLファイルにiframeで埋め込んだりしてもいいかもしれないですが

okubagaitai
質問者

お礼

ご教授ありがとうございます。 iframe文は、ちょっと今回は避けたいと思って おります。 ご解答ありがとうございました。

  • sisya
  • ベストアンサー率39% (97/244)
回答No.1

ログの種類がアクセスログだと仮定して回答します。 最初と最後のHTMLが変更できない前提なら、 仰る方法がべストなのではとおもいます。 (前後のページのファイル名が変更できるなら  require文でカウント処理を読み込むなどの方法があります) ページ遷移部分のリンク先を一旦PHPに指定し、 リダイレクトする形になりますね。 後は$_SERVER['HTTP_REFERER ']をカウントする スクリプトを作成して完成だと思います。

okubagaitai
質問者

お礼

ご解答ありがとうございます。 やはり、前後のページがHTMLの場合、 PHPを挟むのが、普通に考えるとそうなりますよねぇ。 ご解答ありがとうございました。

関連するQ&A

専門家に質問してみよう