アシアル株式会社主催 開発者向け、一歩先をいくためのテクニカルセミナー

<< インクルードファイルの優先順位 質問一覧 小数0表示について >>

  • 0P
問い合わせフォームでの選択リスト

PHP初心者です。
選択リストでユーザーが選択した項目を、確認画面で間違いに気づき、前の画面に戻った時に選択した状態のまま保持するソースがわかりません。
たぶん、if 文なのでしょうが…
  1. <select name="日">
  2. <php
  3.  
  4. $n = 1;
  5.  
  6. while($n <=31){
  7.   
  8.         echo "<option>".$n."</option>";
  9.  
  10.         $n = $n + 1;
  11. }
  12.  
  13. ?>
  14. </select>日

選択された日をselectedにしたいので、よろしくご指導お願いします。

この質問への意見の募集は締め切られ、ポイントは既に配分されました。
意見を投稿することはできますが、ポイントを受け取ることはできません。

Q問い合わせフォームでの選択リスト sming  [03月08日 09時04分] 
┗Re:問い合わせフォームでの選択リスト shimix  [03月08日 09時28分] 
  ┗Re:Re:問い合わせフォームでの選択リスト sming  [03月08日 10時05分] 
    ┗満開Re:Re:Re:問い合わせフォームでの選択リスト shimix  [03月08日 10時15分] 
      ┗Re:Re:Re:Re:問い合わせフォームでの選択リスト sming  [03月08日 10時18分] 

コメント一覧

並び替え( ツリー順 / 投稿順[降順] / 投稿順[昇順]

Re:Re:Re:Re:問い合わせフォームでの選択リスト

ありがとうございました。

もっと勉強しますので、また懲りずにお願いします。

Re:Re:Re:問い合わせフォームでの選択リスト

>しかし{ 波括弧が重なるとわからなくなります。

具体的に「何が」わからないのでしょうか?構文上で「文」を書く場所には中括弧で括って複数の文を書けるというだけなので、普通の言語と同じだと思いますが・・。

  http://www.php.net/manual/ja/language.control-structures.php
  http://www.php.net/manual/ja/control-structures.intro.php
   >文は、中括弧によるグループ文で カプセル化することによりグループ化することが可能です。
   >グループ文は、同時に文にもなります。

Re:Re:問い合わせフォームでの選択リスト

ありがとうございます。
正直、PHPが嫌いになりかけてまして…
これでselectedになりました。
しかし{ 波括弧が重なるとわからなくなります。
まだ理解力がないのですが。
分割してもいいのでしょうか?


  1. <?php
  2. include("../x_style.php");
  3. ?>
  4.  
  5. <HTML>
  6. <HEAD>
  7. <TITLE>サンプル</TITLE>
  8. </HEAD>
  9.  
  10. <?= $style["BODY"] ?>
  11. <?= $style["TABLE_S"] ?>
  12.  
  13. <center>問い合わせ用フォーム</center>
  14.  
  15. <?=$style["HR"] ?>
  16.  
  17. <FORM method="POST" action="sendmail.php">
  18.  
  19. <BODY>
  20.  
  21. 生年月日(西暦)
  22. <select name="day">
  23. <?php
  24. $n = 1;
  25. while($n <=31){
  26. if ($_POST["day"] == $n) {
  27. echo "<option selected>".$n."</option>";
  28. }
  29. else {
  30. echo "<option>".$n."</option>";
  31. }
  32. $n++;
  33. }
  34. ?>
  35. </select>日

よろしくお願いします。

Re:問い合わせフォームでの選択リスト

>前の画面に戻った時に

戻るのはPOSTでしょうか(そのあたりが書かれていないので、どうやって戻ってくるのか推測するしかありませんが・・)。formのactionが自分自身(最初の表示/確認OKのsubmit/戻るのsubmitを同一ソースで振り分けている)という前提になりますが、それでいいのでしょうか。

#これが違っていると作り方が変わってきますので(汗


  1. $day = $_POST['day'];
  2.   :
  3.   :
  4. <select name="day">
  5. <?php
  6. $n = 1;
  7. while($n <=31){
  8.     if ($n == $day) {
  9.         echo "<option selected>".$n."</option>";
  10.     }
  11.     else {
  12.         echo "<option>".$n."</option>";
  13.     }
  14.     $n++;
  15. }
  16. ?>
  17. </select>日

<select name="日">というのはちょっと嫌なので(name値に日本語を使うのはどーかと)name="day"に書き替えました。
インクルードファイルの優先順位 質問一覧 小数0表示について