新しく質問する

Power Searchでチェックボックスから検索(改造)

役に立った:3件
  • 質問者:nana_7
  • 投稿日時:2005/07/22 02:35
  • 困り度:困ってます

初めまして質問させて頂きます。
Power Search Ver.1.11(配布元 ttp://dream.lib.net/room/cgi/e_ps.html)を今回設置しようと試みたのですが、検索を行う際、検索文字列を入力せず、チェックボックスのチェックのみで動作するように指定することが出きずに躓いています。
「ps_search.cgi」の275行からの内容を以下のように変更して見たのですが、500エラーが出てしまいます。(現在はエラーが出る直前の状態に設置アドレス先のCGIは戻してあります)

改造の内容で恐縮なのですが、もし宜しければお知恵を拝借いただけないでしょうか。

設置url http://faq.qp.land.to/search/
エラーが出たcgi全文 http://faq.qp.land.to/search/pwsrh.html
------------------------------------------------
sub search{
#通常検索

my @terms = split(/ /,lc($word));
my (@site,$catlimit,$flag,$data,$a1);

if ($metasearch eq "a"){
$catlimit = "<c>$cat[0]<";
}
elsif ($metasearch eq "b"){
$catlimit = "<c>$cat[0]";
}
------------------------------------------------
上の部分を、
以下のように変更しました。
------------------------------------------------
sub search{
#通常検索

if ($word eq ""){
my @terms = /;
}
else{
my @terms = split(/ /,lc($word));
}

my (@site,$catlimit,$flag,$data,$a1);

if ($metasearch eq "a"){
$catlimit = "<c>$cat[0]<";
}
elsif ($metasearch eq "b"){
$catlimit = "<c>$cat[0]";
}
------------------------------------------------

他に、基本から変更した部分は以下となっています。
86行目
変更前 if ($word eq ""){&jump($toppage);}
変更後 if ($word eq ""){&search;}

どうか宜しくお願い致します。

この質問への回答は締め切られました。
このQ&Aは役に立ちましたか?(役に立った:3件)
  • 参考になった:1件

No.1ベストアンサー20pt

  • 回答者:Mulumba
  • 回答日時:2005/07/22 04:29

少なくとも
if ($word eq ""){
my @terms = /;
}
中の
my @terms = /;
は誤りです。

で、改造の内容なのですが、
1.チェックボックスがチェックされていて、検索窓に入力がない場合、チェックボックスの項目で検索。
2.チェックボックスがチェックされていて、検索窓に入力がある場合、チェックボックスの項目と検索窓のキーワードで検索する。
ということをしたいのだと思いますが、
その場合
sub search{}
の内容はいじらずに
91行目
elsif ($act eq "search"){&search;}

elsif ($act eq "search"){if(@cat){if($word){$pword1 = $word; &powersearch;}else{&cat;}}else{&search;}}

とすればよいのではと思いますが。試してみて下さい。
86行目は変更しても可です。

なるべく少ない改造でと思ったのですが、自分では検証してません。悪しからず。

通報する

この回答へのお礼

お教え頂きありがとうございました。
ご指摘頂いた部分を変更したところ、無事目的の動作を確認することが出来ました。

まだまだ力量足らず、躓きつまづきではありますが、今後もコツコツと頑張って完成させて行きたいと思っています。
本当に有難うございました。

  
このQ&Aは役に立ちましたか?(役に立った:3件)

このページのトップへ