OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

hiddenがうまく働かない

  • すぐに回答を!
  • 質問No.122017
  • 閲覧数79
  • ありがとう数4
  • 気になる数0
  • 回答数4
  • コメント数0

お礼率 57% (11/19)

CGI初心者です。
自分で掲示板を作ってみようとして書いてみたんですが、送信した時にhiddenで数値を持たせようとするんですが、受け取れません。なにか宣言や、処理が必要なのでしょうか。
ちなみに、
<input type = hidden name = mode value = "write">
・・・

if(FORM{'mode'} ep 'write'){
・・・
という感じにしています。
通報する
  • 回答数4
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.3
レベル13

ベストアンサー率 37% (419/1115)

>サブミット後はプログラムの初めからまた読み直すんではないんでしょうか?

フォームの処理とサブミット後の処理はスクリプトを分けることも可能なので確認しました。
それではフォームからの値の取り出し部分を見たいのですが、ReadParse後の処理を補足欄に記載して頂けますか?
お礼コメント
zeyper

お礼率 57% (11/19)

度々すいません。
>それではフォームからの値の取り出し部分を見たいのですが、ReadParse後の処理を補足欄に記載して頂けますか?
と回答をもらい、記載しようとしてまとめていたところ、"ReadParse後の処理"と言うところで(私はReadParseがどういう処理をすくかが良く分からなかったので自分でデコードを書いていたんですが、デコードにエラーチェックを連動してつけていたため、最初のフォームの表示で何もデータが無いとエラーが出てしまうので、送信した後からデコードをするようにしていました。)ハッとなって、デコードを先に持ってきたらきちんと動いてくれました。
本当に初歩的なミスですいません。大変親身になって答えていただいて助かりました。ありがとうございました。
投稿日時 - 2001-08-22 11:29:01
-PR-
-PR-

その他の回答 (全3件)

  • 回答No.1
レベル13

ベストアンサー率 37% (419/1115)

<input type="hidden" name="mode" value="write"> という風に書き換えてみてください。 (空白にも注意!) ...続きを読む
<input type="hidden" name="mode" value="write">

という風に書き換えてみてください。
(空白にも注意!)
補足コメント
zeyper

お礼率 57% (11/19)

回答ありがとうございます。やってみましたが、相変わらず動きません。
$FORM{'mode'}という呼び出しが悪いんでしょうか?
hiddenを使うと何処に数値が返ってくるのか良く分からないんで、出来たら教えて欲しいんですが。
投稿日時 - 2001-08-21 17:44:19
  • 回答No.2
レベル13

ベストアンサー率 37% (419/1115)

>$FORM{'mode'}という呼び出しが悪いんでしょうか? $FORM{'mode'}は合っています。(但し質問文の方は「$」が抜けてますね) スクリプト全体が見えないので何とも言えないのですが、hiddenで指定した項目はフォームのサブミット後に参照可能となりますので、上記の参照はサブミット後に呼び出される処理の中で行われなければなりません。 まずは ...続きを読む
>$FORM{'mode'}という呼び出しが悪いんでしょうか?

$FORM{'mode'}は合っています。(但し質問文の方は「$」が抜けてますね)
スクリプト全体が見えないので何とも言えないのですが、hiddenで指定した項目はフォームのサブミット後に参照可能となりますので、上記の参照はサブミット後に呼び出される処理の中で行われなければなりません。
まずはこの辺りからチェックしてみてください。
補足コメント
zeyper

お礼率 57% (11/19)

丁寧な回答ありがとうございます。
サブミット後に呼び出される処理の後と書いてありますが、サブミット後はプログラムの初めからまた読み直すんではないんでしょうか?
私はそのつもりで書いているのですが・・・。
投稿日時 - 2001-08-21 19:17:39
  • 回答No.4
レベル10

ベストアンサー率 35% (54/152)

hiddenではない変数が$FORM{'**'}という形で受け取れているのであれば、 hiddenでも同様に受け取れると思います。 確認して欲しいのが、 submitボタンを設置している<form>と</form>の間に <input type = hidden name = mode value = "write"> ...続きを読む
hiddenではない変数が$FORM{'**'}という形で受け取れているのであれば、
hiddenでも同様に受け取れると思います。

確認して欲しいのが、
submitボタンを設置している<form>と</form>の間に
<input type = hidden name = mode value = "write">
を書いていますでしょうか?

ちなみに$FORM{'mode'}をプリントしてみたら値は何も入ってなかったですか?

if(FORM{'mode'} ep 'write'){

"$"がぬけているのもありますが、"eq"であるはずのところが"ep"になっていますよ。
それが原因の可能性もありますので注意してくださいな。
お礼コメント
zeyper

お礼率 57% (11/19)

丁寧な回答ありがとうございます。
"$"や"eq"のところは、スクリプトの方ではきちんとなってました。
("$"はスクリプトを書いていてもしょっちゅう抜けてエラーを出してます(笑))
"<input type = hidden name = mode value = "write"> "の方も、正しい場所に置いてありました。
投稿日時 - 2001-08-22 11:35:28
このQ&Aで解決しましたか?
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ