• 締切済み

パラメータが渡らない・・・

毎度、質問ばかりで申し訳ありません。 POSTでパラメータを投げているのですが、パラメータが渡らないことが あります。 GETでも同様のことがあります。 パラメータの数もサイズもそんなに大きくないのですが、なぜこのようなことが おきるのでしょうか? 複数本のPERLプログラム間で連携しているのですが、パラメータ空間の初期化 など必要なことがあるのでしょうか? 調べ方が悪いのか、Webでも適当なヒントが探せません。 どうかお助けください。 お願いします。

みんなの回答

回答No.3

・・・ とりあえず、#2でお願いした確認や補足をしてもらわないと、こちらもなんともいえません。 色んなパターンを試してみたといわれても、どんなことをされたのか分からないとアドバイスのしようがありません。 回答者はエスパーではありませんから。

papope
質問者

補足

返答、遅くなり申し訳ありません。 言い方が悪くて申し訳ありませんでした。 一応、動くので確認の方は、もう少し自分で試してみます。 それからの質問でないと失礼みたいですね・・・。 ごめんなさい。 一応、ここで締め切らさせていただきます。 みなさん、ありがとうございました。

回答No.2

他のパラメータでは正常にクエリーを取得できるのでしょうか? とりあえず、$ENV{QUERY_STRING}の中身自体を確認してください。 何も文字列が入っていなければ環境に問題があります。 きちんと'MODE=INT'が入っていればクエリーのパース処理に問題があります。 GETで取得できなくてPOSTなら取得できる、という場合はサーバ側でメソッド取得制限がかけられている場合があります。 あわせて確認してみてください。

papope
質問者

補足

ご返答が遅くなり申し訳ありません。 自分なりに色んなパターンを試してみました。 結果から言うと、CGIモジュールを使用することにより パラメータは取得できるようになりました。 このような事象は何故、起きるのでしょうか? 過去に何本もPerlによるCgiを組んだことはありますが 初めてです。 ちなみにサーバは自宅のサーバで余計な制限はかけて いないつもりです。 もし原因がわかるようでしたら、お願いします。 ・・・なんか気持ち悪いもので・・・ お願いします。

回答No.1

状況が良く分からないので、適当なヒントを提示することが出来ません。 技術系の質問をするときは、 ・どのような操作をして ・どのような結果が返ってきたか を、他者がよく理解できるように説明する必要があります。 あいまいな書き方では回答できる方も困ってしまいます。 まず、問題解決に向けて必要な説明は、 ・どのようなパラメータを投げたか(inputの種類は?inputにつけたname属性は?どのような値を入れたか?) ・パラメータはどうやって受け取っているのか(直接STDINやQUERY_STRINGからREADしているのか、CGIモジュールを使っているのか) ・その結果についての解説(パラメータは毎回渡らないのか、特定の操作をしたときに渡らないのか) まずは以上のことを説明してください。 そうすれば返答もしやすいです。

papope
質問者

補足

ごめんなさい。 呼び方はアンカータグでCgiに直接パラメータを指定(hoge.cgi?MODE=INT)して渡してます。 それをCgiで$ENV{'QUERY_STRING'}で取得しています。 CGIモジュールは使用していません。 上記の場合、毎回MODEの値が渡っていません。

関連するQ&A