Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
  • ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHPのシンプルな構文(初心者))

PHPのシンプルな構文でランダムな掛け算の答えを入力し、正解か不正解を表示する方法は?

このQ&Aのポイント
  • PHPのシンプルな構文で、ランダムに出る掛け算の答えを入力し、別のファイルで正解か不正解という表示をする方法は、どのようになりますか?input type="hidden"部分の値の出力・受取りができず、正しく実行されません。
  • 質問の内容は、PHPのシンプルな構文を使用して、ランダムに出力される2つの数字の掛け算の答えをユーザーが入力し、別のファイルで正解か不正解と表示する方法についてです。ただし、input type="hidden"部分の値の出力・受取りがうまくいかず、正しく実行されない状況です。
  • 提供されたPHPのコードでは、ランダムに生成された2つの数字の掛け算の答えをユーザーが入力することができます。入力された答えと正解を比較し、正解か不正解を表示します。ただし、input type="hidden"部分の値の出力・受取りがうまくいかず、正しく実行されません。どこが間違っているのか教えてください。

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

  • ベストアンサー
  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.1

こんにちは。 値が送信されない等のときは、実際に生成されているHTMLを参照してみてください。 <input type="hidden" name="hid" value="<?= $seikai ?>"> もしくは <input type="hidden" name="hid" value="<?php echo $seikai ?"> にする必要があります。 ようはHTMLに値を出力しないとダメということです。

okdayook
質問者

お礼

タイプミスがあったようで上手くいきました。 echoタグを使わないと値の受け渡しができないというのは 理解できないのですが とりあえずこの形を覚えておこうと思います。 ありがとうございました!!

okdayook
質問者

補足

早速のアドバイスありがとうございます。 教えていただいたとおりではout.php側の値の受取ができないようで やはり正しく結果が得られません。 「echo」で表示させるのではなく「post」での値の受け渡しが 問題のようです。 HTMLのソース参照ですが、まだはっきりは分からないのですが PHPソースは写っていないので確認の仕方が いまいち理解できていないのかもしれません。

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

その他の回答 (3)

  • agunuz
  • ベストアンサー率65% (288/438)
回答No.4

どう考えても <input type="hidden" name="hid" value="<?php $seikai ?>"> ←※ じゃなく、 <input type="hidden" name="hid" value="<?=$seikai ?>"> もしくは <input type="hidden" name="hid" value="<?php echo $seikai ?>"> です。 >「echo」で表示させるのではなく「post」での値の受け渡しが >問題のようです。 以前も書きましたが、ブラウザ側でのhtmlソースでどういう値がセットされているかを確認すれば違いは一目瞭然のハズです。 #当然ですが、ブラウザでhtmlソースを確認するときには、phpスクリプトは #出てきません(出てくるようではphpが動作していない)。 正直、「わかった詐欺」を繰り返されても回答する方も困ります・・・ http://okwave.jp/qa/q8474877.html http://okwave.jp/qa/q8476736.html

okdayook
質問者

お礼

データの値の受け渡しに値を表示するechoタグが使われるのかは はっきり分からないのですが こういう形式でできるということで覚えようと思います。 ありがとうございました。

すると、全ての回答が全文表示されます。
  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.3

こんにちは。 #2の方に補足いただいてますとおりで、 >やはり正しく結果が得られません。 >「echo」で表示させるのではなく「post」での値の受け渡しが >問題のようです。 ひとつひとつ切り分けていく必要があるのですが、まずは <input type="hidden" name="hid" value="<?php echo $seikai ?>">にする必要があることは間違いありません。 >HTMLのソース参照ですが、まだはっきりは分からないのですが >PHPソースは写っていないので確認の仕方が >いまいち理解できていないのかもしれません。 in.phpをブラウザで表示して、ソースの表示をします。 そこで<input type="hidden" name="hid" value="★ここがどうなってるか"> を確認するという手順です。 ここに値が入っていなければ、in.phpの問題、ここになんらかの値が入っているのであればout.phpの問題になります。

okdayook
質問者

お礼

タイプミスがあったようで 上手くいきました。 ありがとうございました。

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

#1の方の回答で基本的にはあっていると思いますが…。 <input type="hidden" name="hid" value="<?php $seikai ?>"> ←※ の部分を <input type="hidden" name="hid" value="<?php echo $seikai; ?>"> にしてみてどうですか? #1の回答だと ;(セミコロン)が入ってない気がしたので。 以前にもまったく同様の質問されていますよね? ここのソースで何をやろうとしているか理解できていますか? <?php echo $seikai; ?> の部分で $seikai の中身をHTMLの中へ出力させないといけません。 #1の方がおっしゃっているのは、うまく動かない時、 HTMLのソースに何が出力されてきているのかを調べてみて原因を追究しなさい、ということだと思います。 仮に、$seikai = 10 だとしたら、 ブラウザに実行したフォームのソースが <input type="hidden" name="hid" value="10"> と出力されているのか、異なっているのなら、valueが0なのか、空白なのか、それらによってどこが間違っているのかを推測していきます。 頑張ってください。

okdayook
質問者

お礼

タイプミスがあり#1の方のアドバイスで上手くいきました。 以前質問したときはファイル全体を<?php ?>タグでくくっていたのですが、 今回は復習としてhtmlタグ部分は<?php ?>タグで囲わないパターンで 実験してみました。 同じように値の受け渡しにechoタグを使わないといけないのは よく理解できないのですが とにかくありがとうございました。

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

関連するQ&A