• ベストアンサー

PHP 画面設計

PHPでちょっと遊べるページを作ろうとしています。ですが、スタート画面を作り見に行くとエラーと文字化けだらけとなってしまいます。 <html> (start.php) <head> <meta http-equiv="Content-type" content="text/html; charset=EUC-JP"> <title>トントン商店です</title> </head> <body> <?php echo<<<EOD <h1>トントン商店です</h1> <ul> <li>御用の方は下にある入口を押してね</li> <li>間違えて来た方は立ち去ってください</li> </ul> EOD; $rand = rand(0, 100); ?> <form action="input.php" method="POST"> <input type="submit" value="入口"/> <input type="hidden" name="rand" value="$rand"/> <input type="hidden" name="count" value="1"/> </body> </html> エラーが、 Warning: Unexpected character in input: ' ' (ASCII=27) state=5 in ~/opening.php on line 9 Notice: Undefined variable: B in ~/opening.php on line 9 Notice: Undefined variable: G in ~/opening.php on line 9 9以外にも11,12にも同じようなのが出ます。 また、乱数を入れたrandを次のページに渡そうとしましたが、次のページに乱数ではなく、$randという文字が表示されてしまいます。文字化けは、 .htmlに変えて少しいじれば直るのですが、rand()関数を使うため.phpでやりたいのですが、どうすればいいかわかりません。 エラーの対処と次のページへの渡し方について、誰か正しい書き方を教えてください。

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

  • ベストアンサー
  • mpx
  • ベストアンサー率71% (149/209)
回答No.1

>> エラーが サーバー上に保存したファイルの文字コードを再確認してみては如何でしょうか? >> $randという文字が表示されてしまいます 以下の行を <input type="hidden" name="rand" value="$rand"/> 下記に変更 <input type="hidden" name="rand" value="<?php echo $rand ?>"/>

14tokina
質問者

お礼

助言をいただき、ありがとうございます。 文字化けが起こるファイルと起こらないファイルがあったので、 見てみると日本語EUCコードのものだけが文字化けしていませんでした。 他のもこれにしたら、直りました。 randもおかげさまで次のページへ送れるようになりました。

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

その他の回答 (1)

回答No.2

こんばんわ。 ここではいつも質問ばかりしている者です。 気軽にアドバイスとして聞いてください。 Warning、Notice は文字コードのことだと思いますが、 私の環境では何も出ませんでした。 *2箇所(phpのバージョンも違う所) もしかしたら、phpiniの設定を見たほうが良いかも? 次の<input type="hidden" name="rand" value="$rand"/> は <input type="hidden" name="rand" value="<? =$rand ?>"/> これでいいと思いますよ。 あくまで参考意見で(^^♪

14tokina
質問者

お礼

助言ありがとうございます。 助言を元に解決することができました。 まだまだ勉強不足だと実感しました。

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

関連するQ&A