プロが教えるわが家の防犯対策術!

PHPでブログを作ったんですがトラックバックはよく解らなくて
付けてません。トラックバック機能を実現するにはどういう風に
コーディングしたらいいのでしょうか?
ご存知の方教えてください。できるだけ簡素なやつがいいです。

A 回答 (3件)

POSTの方法ですね。


参考URLあたりが分かりやすい、かな?

参考URL:http://www.spencernetwork.org/memo/tips-3.php
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
教えていただいたURLを参考に試してみた結果、当初出ていたDeniedのエラーはクリアーしましたが、Basic認証エラーになりました。
調べていくとApatchとASPではやり方が違うということが解り
とてもじゃないけど両方作る根気がありません。取りあえずHTML
で作っておいて、またやりたくなったら今度はPEARでやろうと
思います。

お礼日時:2006/11/07 19:07

おっと。


【受信側から見た視点での動作】の最後に、XMLでレスポンスする処理を書き忘れました。
まぁ、エラーだったら<error>1</error>、成功したら<error>0</error>で返せばよしです。
【送信側から見た視点での動作】を参考に。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
質問してからネットでいろいろ調べて試してみました。
現在、送信部分が難航してます。HTMLでやると普通に動くんですが、
画面がレスポンス表示になってしまいます。
fsockopen()を使った例をためしたんですがiisがエラーを返します。
今、pearを使った例をいじってるところです。
(pearは全然触ったことありません。)

お礼日時:2006/11/05 21:03

トラックバックを送信したいのでしょうか? 受信したいのでしょうか?


まぁブログということなので、両方としてお答えします。

既存の記事Aに対して、新規記事Bからトラックバックを送信することを考えます。
(この結果、通常、記事Aから記事Bに対するリンクが貼られます。)
記事Aが「受信側」、記事Bは「送信側」ですね。

【送信側から見た視点での動作】
この事例では、記事B投稿時に、記事AのトラックバックURLにHTTP POSTを送信します。
POSTのパラメータは以下の通り。

"url" 記事BのURL
"blog_name" 記事BのBlog名
"title" 記事Bのタイトル
"excerpt" 記事Bの概要(本文である事が多い)

POSTを行うと、記事AのサーバからXMLによるレスポンスが返って来ます。

-------- 成功した例
<?xml encoding="utf-8"?>
<response>
<error>0</error>
<message>(成功した旨のメッセージ)</message>
</response>

-------- 失敗した例
<?xml encoding="utf-8"?>
<response>
<error>1</error>
<message>(エラーメッセージ)</message>
</response>

このレスポンスで、トラックバックの成否を判断して、エラーを発生させるなり、
そのトラバは無かったものとして処理するなり、何らかの処理を行って終了します。

【受信側から見た視点での動作】
まず、(記事A)固有のトラックバックURLを作ります。
http://www.example.com/blog/trackback.php?articl …
などですね。このように記事IDをGETで取得できるようにしておくと便利かと。

そして、(記事Bから)トラックバックがあった時に、上記 trackback.php が起動します。
まず、methodがPOSTでなかった場合は、URLをブラウザで閲覧したと考えて、エラー。
その他、$_GET['article_id'] が正常かどうか(その記事が存在するかどうか)、
$_POST['url'] などのPOSTパラメータが存在し、かつ正常かどうかを判断する必要もあるでしょう。

上記その他のエラーチェックで問題がなければ、$_GET['article_id'] に対するトラックバックで、
内容は $_POST[] である、ということで、データベースにインサートするなり、それなりの記録処理を行って
終了します。


おおまかに、こんな感じです。トラックバックの詳細仕様については、
検索結果でどうぞ。
http://www.google.com/search?hl=ja&lr=lang_ja&ie …
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
受信部分は実装できました。

お礼日時:2006/11/05 20:53

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!