• ベストアンサー

入力文字数の制限方法。(指定文字数入力について)

先日に続けての質問ですが、よろしくお願いします。 「Tor World」というサイトの「メル友サーチ」というCGIを使用したいと思っています。 メル友募集用に使うのでは無く、別の用途で使用しようと思っており、それに合わせてがんばってカスタマイズしました。 そして、最後に大きな壁にあたってしまい、どうにもならなくなってしまったので、こちらで質問をさせてもらおうと思いました。 大きな壁と言うのは、登録情報を検索する際にキーワード検索を使用するのですが、このキーワードを指定文字数で入力して検索できるようにしたいのです。 「index.cgi」の299行あたりから検索処理のスクリプトが記述されています。 「sub search {」のすぐ下に下記のスクリプトを記述しました。 if (length($keys) <12) { &error("入力エラー","指定文字数で入力して下さい。"); } 次に2120行目からの、検索フォームのキーワード入力タグ(2187行目)を次のように変更しました。 <input type=text name="word" value="$keys"size="12" maxlength="12"> 以上2つの部分を変更して、12文字より少ないとエラーを表示させ、入力の方は12文字までの制限にしました。 これで、半角12文字の入力指定にできたと思ったのですが、なぜか「指定文字数~」のエラーが出てしまいます。 いろいろと試してみましたが、どうしてもわかりませんでした。 アドバイスをよろしくお願い致します。 「Tor World」は、検索ですぐに分かると思います。(個人サイトへの直リンクはダメみたいなので、お手数ですが検索をお願いします)

質問者が選んだベストアンサー

  • ベストアンサー
  • nontatta
  • ベストアンサー率34% (18/52)
回答No.2

こんにちは(^ー^) 再登場です。 スクリプトを見てみたところ、キーワードの変数名は$wordでした。 ので、cuty_girlさんが追加したスクリプトの$keyを$wordに変えればokです。 または if(length($word)<12){  &error("入力エラー","指定文字数で入力して下さい。"); } を if(length($word)!=12){  &error("入力エラー","指定文字数で入力して下さい。"); } として、入力文字数を12バイトぴったりに制限してもいいです。 タグのところで入力文字数を12文字に制限してあるので必要ありませんが。 なんだかストーカーのようですが(笑)、怖がらないで下さいね。 自分の勉強にもなるので発言させていただきました。 がんばってください。

cuty_girl
質問者

お礼

お返事が遅れてしまい、すみません。 nontattaさん、先日に引き続き回答して頂いてありがとうございます。 変数名が違っただけなのですね(^^; 変数は自分で勝手に決めちゃって、いいものだと思ってました。 この為に何時間も、悪戦苦闘してしまっていた自分が恥ずかしいです。。。 >なんだかストーカーのようですが(笑)、怖がらないで下さいね。 いえいえ、とんでもないです。 こんなに親切に回答して頂いたのに、ストーカーだとは思いませんよ。 適格にアドバイスを頂けたので、とても助かりました。 まだカスタマイズ中ですので、他にも問題が出てくるかもしれません。 成るべく自分で解決できるように、いろいろと調べてがんばってみますが、 どうしても分からない時は、またこちらで質問をさせて頂きますね。 貴重なお時間を割いて、アドバイスして頂きありがとうございました。 それでは、これからもよろしくお願いします。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • tfp
  • ベストアンサー率37% (3/8)
回答No.1

Tor Worldというスクリプトを検索して落としてきて、調べて、問題箇所を見つけ、回答するまではできないですが。 if (length($keys) < 12) { print '12バイト未満'; } elsif (length($keys) <= 12) { print '12バイト以下'; } elsif (length($keys) == 12) { print '12バイトぴったり'; } elsif (length($keys) != 12) { print '12バイトぴったりじゃない'; } こういうことかな?

参考URL:
http://www.google.com/search?num=50&hl=ja&q=Perl+%93%FC%96%E5&btnG=Google+%8C%9F%8D%F5&lr=lang_ja
cuty_girl
質問者

お礼

お返事が遅くなってしまい、すみません。 入力文字数に合わせて、出力する言葉をかえることができるんですね。 他の箇所で是非使わせてもらうおうと思います。 入力制限をしたいところは、他にもいくつかあるので、とても参考になりました。 アドバイスをありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A