CGI-BBS > データベース > 簡易データベース > 簡易データベースの改造で検索結果をブックマークしたい。


カレッヂ
カレッヂ


質問者 ともたん  投稿日 2004/4/19(月) 19:18:18
検索結果で出力される画面をブックマークできたり、
外部からリンクできるようにしたいのですが。
ちなみにヤフーなどの大手検索サイトは、
検索結果の画面をブックマークできます。
今は、まだサーバにアップロードしないで、
ローカル環境のapacheで実験している段階です。
よろしくお願いします。

プロバイダ参照:
サーバのOS:UNIXサーバ
パソコンのOS:WinNT系
エディタ:Perlをはじめよう
FTPソフト:
サーバ移転:していない
改造:している 改造前正常動作
CGI習熟度:middle

回答者 sim  [削除]  投稿日 2004/4/20(火) 13:38:02
メソッドがPOSTになってるんじゃないかな?と思います。
送信側も受け取り側もGET対応にすれば出来るんじゃないでしょうか?
質問者 ともたん  [削除]  投稿日 2004/4/20(火) 18:56:55
お返事ありがとうございます。
GET方式にして環境変数なども変えてみたりしたのですが、
どうにもうまくいきません。リンクできるときとできない時があるのです。
POST方式でもリンクできる時はできるみたいです。
リンクできる時とできない時の違いですが、検索してみて
検索結果画面のブラウザのアドレスバーに
http://search.cgiと出ているときは、検索結果の画面をブックマークしても
search.cgiへのリンクとみなされて、エラーページが出力されてしまいます。
うまくいくときは、検索結果画面のブラウザのアドレスバーの表示が
http://search.cgi?PREF=all&SEX=all&AGE=all&AGE=all&HANDLE=
となり、searh.cgiの後に検索条件をあらわす文字列がついて、
検索結果の画面をブックマークできたり、じかにリンクできるようになります。
ちなみに、アドレスバーに表示されたallなどのvalue属性をあらわす文字を
任意のものに変えると任意の検索結果画面が得られるようです。
ただし、value属性が英数のものしか入力できません。
なぜ、うまくいく時といかない時があるのでしょうか。
検索結果の画面をブックマークできるサイトは、ブラウザのアドレスバーの、
CGIをあらわす文字列の後にPREF=all&などのフォームに入力されたname属性と
value属性がつくようです。
つまり、ブラウザのアドレスバーのsearch.cgiの後ろにindex.htmlの
フォームで入力された、name属性とvalue属性が表示されるようになれば、
検索結果の画面をブックマークしたり、リンクしたりすることが可能になると思うのです。
どうしたらよいでしょうか。
回答者 sim  [削除]  投稿日 2004/4/20(火) 19:03:05
POSTをGETに変えることでそのようになるのではないかな?と思います。
質問者 ともたん  [削除]  投稿日 2004/4/20(火) 19:35:56
ありがとうございます。
解決しました。
送り側のみGETにすると、私の思ったような結果が得られるようでした。
デコード処理の部分は一切いじる必要はないようです。
簡易データベースは機能がシンプルな分、いろいろなことが試せますね。
自分で、機能を追加してみて、うまくいかないで、悩んだりして、
Perlのことがわかるようになった気がします。私は、CSVファイルをdatファイル
にしてカンマで区切るところを、'<>'で区切って、カンマを画面に表示できるように
改造しました。登録の部分も、登録内容確認画面を表示したり、登録内容を
メールで送信したりできるようにしたつもりです。(センドメールがないので
実際に送れるかどうかはまだ試してないんですけど。)検索結果の画面も
一つの登録内容につき一つのテーブルで表示するようにしているので、
だいぶ変わっています。
また何かあったら質問したいと思いますので、よろしくお願いします。

このページは終了したので返信(回答)は書きこめません
 


Web裏技