• ベストアンサー

phpのformのvalueの値が英語なのを漢字に変えて表示には。。

もうひとつ質問させてください。 phpで、formのvalueの値を、 value="tokyo" value="oosaka" value="nagoya" としている場合、それを表示するときにはデータベースの値にtokyoと入っているところを"東京"、oosakaとはいっているところは"大阪"というように漢字に変えて表示したいとき、どのようにプログラムを書いたほうがよいのでしょうか? また、こういった場合、valueの値に直接 value="東京"などとしたほうがよいのでしょうか? 何かの本でvalueは英数のほうがよいというのをみて、無理に英語にしているのですが。 よろしくお願いいたします。

  • muxic
  • お礼率37% (97/259)
  • PHP
  • 回答数2
  • ありがとう数0

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

単純にifでもいいですが、いろんなパラメータ を設定したりすることもあるでしょうから switchなどで切り替えるとよいでしょう。 <?PHP switch ($_POST["p"]){ case "tokyo": $place="東京"; $tokyo_checked="checked"; break; case "oosaka": $place="大阪"; $oosaka_checked="checked"; break; case "nagoya": $place="名古屋"; $nagoya_checked="checked"; break; default: $place="未選択"; $tokyo_checked="checked"; } $body.=<<<eof <form action="$PHP_SELF" method="POST"> <input type="radio" name="p" value="tokyo" $tokyo_checked>東京 <input type="radio" name="p" value="oosaka" $oosaka_checked>大阪 <input type="radio" name="p" value="nagoya" $nagoya_checked>名古屋 <input type="submit" value="send"> <hr> 今回${place}が選ばれました<br> というように文中に埋め込めます。 </form> eof; print $body; ?>

その他の回答 (1)

回答No.2

PHPの動いている環境と、出力するページのeuc-jpでしたら、VALUEに日本語を書いても問題ないでしょう。 sjisでもほとんど問題はありませんが、いくつかの文字に問題が起きます。 なお、ifや、switch ですと、選択肢が増えた場合、ソースコードの書き換えが結構大変ですし、デグレードの心配もあります。 valueに、英語を使うのでしたら・・・ 最初に、 $places = array('tokyo' => '東京', 'oosaka' => '大阪', 'nagoya' => '名古屋'); としておいて、 if(!empty($_POST['p'])) { $place = $places[$_POST['p']]; } else { $place = '未選択'; } としたら、いかがでしょう? こうしておけば、選択肢が増えても、最初の配列の初期化を書き換えるだけです。

参考URL:
http://www2d.biglobe.ne.jp/~gama/cgi/jcode/jcode.htm

関連するQ&A

  • php内のformのvalueに変数の値をいれたい

    どうぞよろしくお願いします。 php内のformのvalueに変数の値をいれたいのですが、下記の様に書くと<?=$a?> がそのままソースに出てしまいます。 どの様に書けば変数の値をvalueに格納できるでしょうか? <?php $a='abcd'; print'<form method="post" action="abc.php">'; print'<input type="hidden" name="a" value="<?=$a?>">'; print'</form>'; ?>

  • phpで、フォームのラジオボタンのvalueを日本語にすると。。。

    phpで、フォームのラジオボタンのvalueを日本語にすると動かなくなりました。 cgiのときは、formのvalueの値に value="東京" としてサーバに送っても動いていたのですが、php(とmysqlです)だとだめなのでしょうか? ちなみにvalue="tokyo" とした場合はきちんと動きました。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • form value 複数 PHP

    失礼します。 現在checkboxがあり、submitでvalue値を受け取りたいのですが、一つのinputで出来れば渡したいです。value値に結合とはまた違うといいますか汗 例えば <td><input id="node" name='hobby[]' type="checkbox" value="<?php echo $test ?>"></td> とあった場合value値とは別にPHPに値を送信して受け取ることは可能でしょうか? もしなにか方法があれば教えて頂きたいです。 宜しくお願い致します。

    • ベストアンサー
    • PHP
  • Formでの値の取得後、変数での表示ができない

    環境は; RedhatLinux7.1.2 Apache PHP PostgreSQL(今回は関係ないかな) 問題は、フォームにて値を渡した後$xxxxとして変数として表示できるはずなのにできないことです。 ちなみにPostの代わりにGetで行うとアドレス部分に確かに値が渡されたことが認められます。 同じファイルをPHPが使用できるレンタルサーバーで試したところ問題はありませんでした。 **** form.html ***** <form name="a" action="test.php" method="post"> <input type="text" name="a"> <input type="submit" value="submit" name="submit"> </form> **** test.php **** <? print $a; ?> 何が悪いのか全くわからないので、どうぞよろしくお願いします。

    • ベストアンサー
    • PHP
  • パラメータークエリーからそれ以外の条件変化させたい(ACCESS 2003)

    環境:ACCESS 2003 以下のテーブルがあるとします。 <テーブル EMP> NUM ADD 1001 TOKYO 1001 TOKYO 1001 OOSAKA 1002 NAGOYA 1002 OOSAKA 1002 OOSAKA その際パラメータークエリーにてNUMの値を 1001と入力した時 AND ADD = TOKYO 1002の時 AND ADD = OOSAKA にするにはどのようにしたら良いでしょうか。 できれば回答はSQLかデザインでお願いします。

  • フォームの選択リストで表示用とデータベース用に値を分けたい

    phpのformで下記のようなプルダウンメニューを作成しました。 <select size="1" name="category"> <option value="1">1課</option> <option value="2">2課</option> <option value="3">3課</option> </select> nameのcategoryはmysqlのフィールド名で、valueはそれぞれ数字を割り当てました。 mysqlにvalueの値を格納したいのですが、次のプレビューページで見ると <?php echo $category?> valueの値がそのまま表示されてしまいます。プレビュー画面では1課と表示したいのですが、1が表示されてしまいます。 データベース格納用とPHP表示用をどのようにして組み込むことができますでしょうか?

    • ベストアンサー
    • PHP
  • submitボタンにvalue属性の値でないラベルを表示したい

    submitボタンを複数設置し,全てのラベルに「これを修正する」と表示したいのですが, 下記のように押下されたsubmitボタン別に,POSTする値をそれぞれ1,2,3と分けたいです. (page.phpは,$_POST["PageNumber"]として1か2か3を受け取る) ですが,value属性の値がボタンのラベルとしてボタン表面に記されてしまい,困っています. 何とかならないでしょうか? <form method="post" action="page.php"> <input type="submit" name="PageNumber" value="1"></td></tr> <input type="submit" name="PageNumber" value="2"></td></tr> <input type="submit" name="PageNumber" value="3"></td></tr> </form>

    • ベストアンサー
    • HTML
  • Formを使ったPHP間での受け渡しについて

    いつもお世話になっています。 PHP間での変数の受け渡しで・・ <form action="<?= test.php ?>" method="POST">   <input type="hidden" name="id" value="aaa"/>   <input type="submit" name="submit" value="送信"> </form> と記述するとtest.phpには渡したいaaaが渡されるのですが、 これだとsubmitを押さないと渡せないため困っています。 したいことをまとめると、submitを使わずにページが表示されたら スグに変数が渡されるようにしたいです。 いろいろ試してみましたが、力不足で出来ませんでした。 宜しくお願いします!

    • ベストアンサー
    • PHP
  • checkboxの表示される値を取得、変更する方法

    例えば、 <input name="area" type="checkbox" value="tokyo">東京</input> と書いてある場合、valueの値を取得する方法はわかるのですが、 実際にブラウザに表示される「東京」という値を javascriptで取得する方法はあるのでしょうか。 また、jQueryのhtml()などを使って、 表示される「東京」を「北海道」などを書き換える方法はありますか。 チェックボックスのON/OFFで、 表示される値を変更したいのです。 ご教授お願いします。

  • JavaScript+PHPでのボタンの値について

    お世話になります。現在下記のようなコードです。 #Html側 <script language="JavaScript"><!-- function send1() { document.Form1.submit(); } function send2() { document.Form2.submit(); } // --></script> <form name="Form1" action="tesuto1.php" > 中略 </form> <form name="Form2" action="tesuto2.php" > 中略 </form> <form> <input type="button" name="botan" value="送信" onClick="send1()"> </form> <form> <input type="button" name="botan" value="取消" onClick="send2()"> </form> <form> <input type="button" name="botan" value="確認" onClick="send1()"> </form> #PHP側 tesuto1.php echo "値は".@$_POST["botan"]."です"; という感じで、どのボタンがクリックされたか判別するために、 ボタンの値を取得したいのですが。 よろしくお願いします。

専門家に質問してみよう