メモ: バックナンバーの表示をフォームにする方法
1. フォームを受け取って処理するようなアクションページを用意しておく。今回は PHP で作ったページを用意した。あるいは、@homepage とか cgi 使えるサイトで perl 使えばできる筈だが、ログ残すのとか面倒だと思ったので、今回は自分で apache 立ち上げられるサイトに処理を置いた。
2. ココログの管理画面の「マイリスト」に「バックナンバー」というリストを追加する。タイプは「リンク」を指定し、URLにはバックナンバーへのリンク (http://***/archives.html) を指定する。
※ *** の所は、自分のココログ(例: phinloda.cocolog-nifty.com/uraura) を指定する。
3. メモには次のように指定する。
<form action="http://222.151.203.30/archive.php" method="post"> <select name="y" size="1"> <option selected="selected">2004</option> <option>2003</option> </select>年 <select name="m" size="1"> <option>1</option> <option>2</option> <option>3</option> <option>4</option> <option>5</option> <option>6</option> <option>7</option> <option>8</option> <option>9</option> <option>10</option> <option>11</option> <option>12</option> </select>月 <input type="submit" name="x" value="go" /> <input type="hidden" name="url" value="http://***/" /> </form>
action に指定してある http://222.151.203.30/archive.php という箇所は、作成した処理に置き換えること。CGI変数は処理に依存するはずだが、今回はyで年、mで月、urlでブログを指定する。指定し忘れがあったら「裏の裏」に飛ぶ仕組みになっているので注意。hidden で指定する url の *** の箇所は前述の通り。デフォルトで裏の裏に飛ぶなら不要みたいな気がするかもしれないが、実は「裏の裏の裏」でも指定したかったので隠しパラメーターになっているのだ。
ところで、既に処理があるのだから http://222.151.203.30/archive.php を使いたいという話があるかもしれないが、今のところ別に構わんけど、使うのなら次の点に注意を。
まず、apache が標準でログに残す程度の情報は残る。さらに、post で処理しているが、archive.php もログを取っていて、年、月、url の値と、referer の URL はログに残る。もう一つ。このサーバーは基本的に常時稼動だが、いつ止まるか終わるか分からないし、テスト用のサーバーだから予告なしにいきなりメンテナンスに入る。あと、本文中にも書いたが、パラメータが指定されていないと「裏の裏」に飛ぶ仕組みになっている。そんなところかな。
(2004-09-20 修正)
| 固定リンク
コメント