肌質を選んで両方表示する方法とは?

このQ&Aのポイント
  • プルダウンメニューで選んだ肌質と選んでいない肌質の両方を表示する方法について、具体例を教えてください。
  • PHPの$hada1~$hada3の定義をどう書けばうまく表示できるのかが分かりません。
  • HTMLの選択肌質の取得方法と、PHPでの両方の肌質の表示方法について教えてください。
回答を見る
  • ベストアンサー

回答内容によって表示内容を変更する

お世話になります。 プログラミング初心者の者です。 肌質を、プルダウンメニューで選んでもらい、そのあとのページで選んだ肌質と選んでいない肌質の両方を表示したいと考えています。 PHPの部分の、$hada1~$hada3の定義をどう書けばうまく表示できるのかがいまいち分かりません。 どう定義すれば上手くいくでしょうか。具体例を教えて頂ければ幸いです。 不躾な質問だとは重々承知しておりますが、時間がないため、何卒よろしくお願いいたします。 ●HTML <p> <span class="honbun"> Q2.あなたの肌質でもっとも当てはまると思うものを<b><u>ひとつ</u></b>選んでください  </span> </p> <p> <select name="hada"> <option value="1">敏感肌</option> <option value="2">乾燥肌</option> <option value="3">脂性肌</option> <option value="no" selected="">選択してください</option> </select> </p> ●PHP $hada = 0; $hada = $_POST["hada"]; $type = $_POST["type"]; if($type == 1){ $hada1 = "敏感肌"; $hada2 = "脂性肌"; $hada3 = "乾燥肌"; }else if($type == 2){ $hada1 = "乾燥肌"; $hada2 = "敏感肌"; $hada3 = "脂性肌"; } else { $hada1 = "脂性肌"; $hada2 = "敏感肌"; $hada3 = "乾燥肌"; }

  • PHP
  • 回答数13
  • ありがとう数1

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

  • ベストアンサー
  • shimix
  • ベストアンサー率54% (865/1590)
回答No.12

Lolipopということだったので、ウチのLolipopアカウントにドメイン割り当てました(汗 http://devtest.shimix.co/1.php 1.php → 2.php → 3.php と遷移します。まったく同じソースを拡張子.txtで保存していますので、http://devtest.shimix.co/1.txt のようにしてソースを確認してください。

maikosmos
質問者

補足

ありがとうございます;; でも、3回目まではちゃんと表示されたのに、残念ながら4回目以降きちんと表示されないです… これは何がいけないんでしょうか…(;´・ω・)

その他の回答 (12)

  • shimix
  • ベストアンサー率54% (865/1590)
回答No.13

>でも、3回目まではちゃんと表示されたのに、残念ながら >4回目以降きちんと表示されないです… 3回目・4回目とは?どういう意味でしょうか? 念のため、3.phpへ4.php(セッション変数の表示だけのスクリプト)へのリンクを貼ってみました。動作とソース(同様に4.txtで)を確認してみてください。 セッションの有効期限内だったら(&ブラウザを閉じなければ)4.phpにアクセスすればいつでもセッション変数の内容を表示します。

maikosmos
質問者

お礼

3度目に試した時は、という意味でした。 ファイルを作り直したら、その不具合も無くなったようです。 本当にお世話になりました!ありがとうございました!!

  • shimix
  • ベストアンサー率54% (865/1590)
回答No.11

>ロリポップというレンタルサーバーのファイル作成機能を >使って書いています… ロリポップ!FTPでしょうか。それならBOMが入り込む余地はないですね。 #BOM付きのファイルをアップロードしてから編集している #ようだとわかりませんが(汗 <?php より「前」に空白や改行がありませんか?ロリポのサーバでセッションが機能しないというのはちょっと考えにくいです。

maikosmos
質問者

補足

<?phpより前に空白や改行はないです… 念のため、新しいファイルを作って試してみましたが、やはり3ページ目ではうまく表示されませんでした…。

  • shimix
  • ベストアンサー率54% (865/1590)
回答No.10

>BOMが何かよくわからないです Byte Order Mark といって、文字コードがutf-8のテキストファイルの「先頭に付与することもある」バイナリです。 https://ja.wikipedia.org/wiki/%E3%83%90%E3%82%A4%E3%83%88%E3%82%AA%E3%83%BC%E3%83%80%E3%83%BC%E3%83%9E%E3%83%BC%E3%82%AF 実はhtmlやphpはBOMの存在を考慮していません。なので、BOMは「ごみ」でしかありません。BOMがあると(<?php でphpモードにはいる前なので)それをブラウザに返します。このときにHTTPレスポンスヘッダ(content-type: text/html)も送出しますが、setcookieやsession_startはHTTPレスポンスヘッダが未送出であることを前提にしているため正常に動作しません(cookie用のレスポンスヘッダを返せなくなるため)。 一般的なエディタであればBOMの有無を指定できるか、UTF-8Nという文字コードがあるハズです。お使いのエディタのヘルプで確認してください。 なお(まさかとは思いますが)メモ帳+UTF-8で書いたりはしていませんよね?メモ帳のUTF-8は「BOMあり」でしか書き出さないというゴミ仕様です(なので実質的にweb系のプログラムを書くことができません)。

maikosmos
質問者

補足

なるほどです、ありがとうございます。 ロリポップというレンタルサーバーのファイル作成機能を使って書いています… 2ページ目ではセッションがうまく動作し、表示もされますが、3ページ目では(ソースを見る限り、PHPは動いているのに)、表示されないです…

  • shimix
  • ベストアンサー率54% (865/1590)
回答No.9

>3ページ目で内容が表示されないです… コピペして試しました。1.phpにform要素を追加して2.phpへPOST、2.phpで(表示するものがないので)真っ白な状態からブラウザのアドレスバーに3.phpを直接入力して遷移させましたが、問題なく表示されます。 phpソースは「BOMなしのUTF-8(エディタによってはUTF-8Nという表記のものもあります)」で保存されていますよね?BOMがあるとsession_start()より前にブラウザにBOMが返るためheaders already sentになってしまい、セッション用のCookieの保存指示が無効になります。

maikosmos
質問者

補足

ええと… 初歩的な質問で申し訳ないのですが、BOMが何かよくわからないです(;´・ω・)

  • shimix
  • ベストアンサー率54% (865/1590)
回答No.8

><php? >session_start(); >echo "☆みか☆さん ",$_SESSION[age1],"歳/",$_SESSION[hada1]"; ?> >こう書いてみたのですがphpが動作していないみたいです。 phpモードにすら入れていませんね。phpモードの開始は <?php です(short_open_tagが有効な環境なら、<? でも可)。 配列の添え字に文字列リテラルを書くなら引用符で括ってください(ミスの元になります)。二重引用符をエスケープしている部分("歳/")がありますが、何のためにエスケープしているのか謎です。これだと文字列リテラルの「歳",$_SESSION[hada1]」になってしまいます。 <?php session_start(); echo "☆みか☆さん ", $_SESSION['age1'], "歳", $_SESSION['hada1']; ?> echoで書いている部分は、printfを使う方が(多分)綺麗に引用符などの間違いも少なく書けます printf('☆みか☆さん %d歳 %s', $_SESSION['age1'], $_SESSION['hada1']);

maikosmos
質問者

補足

●1ページ目のフォーム <select name="age"> <option value="18">18歳</option> <option value="19">19歳</option> <option value="20">20歳</option> <option value="21">21歳</option> <option value="22">22歳</option> <option value="23">23歳</option> <option value="24">24歳</option> <option value="" selected>選択してください</option> </select>    <select name="hada"> <option value="1">敏感肌</option> <option value="2">乾燥肌</option> <option value="3">脂性肌</option> <option value="" selected>選択してください</option> </select> ●2ページ目 <?php session_start(); $age = intval(filter_input(INPUT_POST, 'age')); $hada = intval(filter_input(INPUT_POST, 'hada')); if (($age < 18)or($age > 24)) { die('illegal access'); } if (($hada < 1)or($hada > 3)) { die('illegal access'); } $age1 = $age + 1; $age2 = $age + 5; $age3 = $age + 7; $hada_arr = array(1=>'敏感肌', 2=>'乾燥肌', 3=>'脂性肌'); $hada1 = $hada_arr[$hada]; unset($hada_arr[$hada]); shuffle($hada_arr); $hada2 = array_shift($hada_arr); $hada3 = array_shift($hada_arr); $hada = $hada1; // セッションに格納 $_SESSION['age'] = $age; $_SESSION['age1'] = $age1; $_SESSION['age2'] = $age2; $_SESSION['age3'] = $age3; $_SESSION['hada'] = $hada; $_SESSION['hada1'] = $hada1; $_SESSION['hada2'] = $hada2; $_SESSION['hada3'] = $hada3; ?> ●3ページ目 <?php session_start(); echo "☆みか☆さん ", $_SESSION['age1'], "歳", $_SESSION['hada1']; ?> としてみたのですが、3ページ目で内容が表示されないです…

  • shimix
  • ベストアンサー率54% (865/1590)
回答No.7

こちらでテストに使ったスクリプトです (1.php) <!-- 拡張子は.phpですが中身はHTMLのみです --> <form action="2.php" method="post"> <span class="honbun"> Q1.あなた自身の年齢を教えてください  </span> <select name="age"> <option value="18">18歳</option> <option value="19">19歳</option> <option value="20">20歳</option> <option value="21">21歳</option> <option value="22">22歳</option> <option value="23">23歳</option> <option value="24">24歳</option> <option value="no" selected="">選択してください</option> </select> </p> <p> <span class="honbun"> Q2.あなたの肌質でもっとも当てはまると思うものを<b><u>ひとつ</u></b>選んでください  </span> </p> <dl> <dt>  敏感肌</dt> <dd>  化粧品や髪の毛・洋服にあたるだけで肌が痒くなったり、痛みを生じることがある</dd> <dt>  乾燥肌</dt> <dd>  乾燥していて,部分的に粉をふいたようになることがある</dd> <dt>  脂性肌</dt> <dd>  肌がすぐにテカリ,化粧崩れしやすい</dd> </dl> <p> <select name="hada"> <option value="1">敏感肌</option> <option value="2">乾燥肌</option> <option value="3">脂性肌</option> </p> <input type="submit"> </form> (2.php) <?php session_start(); $age = intval(filter_input(INPUT_POST, 'age')); $hada = intval(filter_input(INPUT_POST, 'hada')); if (($age < 18)or($age > 24)) { die('illegal access'); } if (($hada < 1)or($hada > 3)) { die('illegal access'); } $age1 = $age + 1; $age2 = $age + 5; $age3 = $age + 7; $hada_arr = array(1=>'敏感肌', 2=>'乾燥肌', 3=>'脂性肌'); $hada1 = $hada_arr[$hada]; unset($hada_arr[$hada]); shuffle($hada_arr); $hada2 = array_shift($hada_arr); $hada3 = array_shift($hada_arr); $hada = $hada1; // セッションに格納 $_SESSION['age'] = $age; $_SESSION['age1'] = $age1; $_SESSION['age2'] = $age2; $_SESSION['age3'] = $age3; $_SESSION['hada'] = $hada; $_SESSION['hada1'] = $hada1; $_SESSION['hada2'] = $hada2; $_SESSION['hada3'] = $hada3; ?> <!-- ここからのHTMLはご自由にどうぞ --> 入力=<?= $hada; ?>(<?= $age; ?>)<br> 他1=<?= $hada1; ?>(<?= $age1; ?>)<br> 他2=<?= $hada2; ?>(<?= $age2; ?>)<br> 他3=<?= $hada3; ?>(<?= $age3; ?>)<br> <!-- 追加入力 --> <form action="3.php" method="post"> <input type="input" name="additional" value=""> <input type="submit"> </form> (3.php) <?php session_start(); $additional = filter_input(INPUT_POST, 'additional'); if (is_null($additional)) { die('illegal access'); } // 追加分もセッションへ $_SESSION['additional'] = $additional; ?> <!-- ここからのHTMLはご自由にどうぞ --> 追加入力=<?= $additional; ?><hr> 入力=<?= $_SESSION['hada']; ?>(<?= $_SESSION['age']; ?>)<br> 他1=<?= $_SESSION['hada1']; ?>(<?= $_SESSION['age1']; ?>)<br> 他2=<?= $_SESSION['hada2']; ?>(<?= $_SESSION['age2']; ?>)<br> 他3=<?= $_SESSION['hada3']; ?>(<?= $_SESSION['age3']; ?>)<br> <hr> <?php // デバッグ表示 echo "<pre>"; print_r($_SESSION); echo "</pre>";

maikosmos
質問者

補足

<php? session_start(); echo "☆みか☆さん ",$_SESSION[age1],"歳/",$_SESSION[hada1]"; ?> こう書いてみたのですがphpが動作していないみたいです。 どう直せばいいのでしょうか? 何度も申し訳ないです…

  • shimix
  • ベストアンサー率54% (865/1590)
回答No.6

>こういうことでしょうか? 「セッションに格納する方」はそうなりますね。「セッションから取り出して使う方」は(session_start()してから)$_SESSION['age']などを使うことになります >これでもエラーが出てしまいお手上げです… エラーメッセージに修正すべき内容は書かれています。エラーが出るということは修正できるということです。わからなければエラーの内容を転記してください(行数があれば、その前後の行も)。

maikosmos
質問者

補足

1ページ目から2ページ目に進んだ際に、エラーで2ページ目の内容が見れません。エラーメッセージは「このページは動作していません str-cosme.girly.jp では現在このリクエストを処理できません。 HTTP ERROR 500」で、かいたコードは以下の通りです。 ●1ページ目(1.php) <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>COSME LABO</title> <style type="text/css"> span.hana { color:#ff1493; } </style> <style type="text/css"> span.midashi1 { color:#EB1E81; } </style> <style type="text/css"> span.tyuui { color:#f08080; } </style> <style type="text/css"> span.honbun { color:#000000; } </style> <script type="text/javascript"> <!-- function check(){ var flag = 0; var ErrNo; for (var n = 0; n < 2; n++) { if (document.userprof.elements[n].value == "") { if (flag == 0) { ErrNo = n + 1; } else { ErrNo = ErrNo + "," + (n + 1); } flag = 1; } } if (flag) { window.alert("Q" + ErrNo + "が選択されていません"); return false; } else { return true; // 送信を実行 } } // --> </script> </head> <body> <h1> <span class="midashi1"> 本日は、調査にご協力いただき、 <br> ありがとうございます。 </span> </h1> <p> <span class="tyuui"> この調査は、大学生を対象とした <br> 「化粧品」への印象について調べることを目的としています。 <br> 架空の化粧品口コミサイトを見て、 <br> 商品などの印象に対して答えて頂く簡単な調査です。 <br> 今回の回答は、卒業論文における集計およびデータ解析作業のみに使用し、 <br> これ以外の目的では使用しませんので安心してご回答ください。 <br> まずはあなた自身についての質問にご回答をお願いします。 </span> </p>    <form action="2.php" method="POST" name="userprof" onSubmit="return check()"> <p> <span class="honbun"> Q1.あなた自身の年齢を教えてください<span class="hana">*</span>  </span> <select name="age"> <option value="18">18歳</option> <option value="19">19歳</option> <option value="20">20歳</option> <option value="21">21歳</option> <option value="22">22歳</option> <option value="23">23歳</option> <option value="24">24歳</option> <option value="" selected>選択してください</option> </select> </p> <p> <span class="honbun"> Q2.あなたの肌質でもっとも当てはまると思うものを<b><u>ひとつ</u></b>選んでください<span class="hana">*</span>  </span> </p> <dl> <dt>  敏感肌</dt> <dd>  化粧品や髪の毛・洋服にあたるだけで肌が痒くなったり、痛みを生じることがある</dd> <dt>  乾燥肌</dt> <dd>  乾燥していて,部分的に粉をふいたようになることがある</dd> <dt>  脂性肌</dt> <dd>  肌がすぐにテカリ,化粧崩れしやすい</dd> </dl> <p>    <select name="hada"> <option value="1">敏感肌</option> <option value="2">乾燥肌</option> <option value="3">脂性肌</option> <option value="" selected>選択してください</option> </select> </p>    <input type="submit" value="回答を開始する" name="go"> </form> </body> </html>

  • shimix
  • ベストアンサー率54% (865/1590)
回答No.5

>セッションを使ってのプログラムがうまくできないんです セッションは基本中の基本ですから、使えるようになりましょうよ。 スクリプトの最初で(ブラウザに何も返していないタイミングで) session_start() さえしていれば、$_SESSIONという配列がどこでも使い放題ですから。 今回のphpスクリプトなら、すべての変数の値を確定したあとで(私の例で「表示」しようとしている部分で $_SESSION['age'] = $age; $_SESSION['age1'] = $age1; $_SESSION['age2'] = $age2; $_SESSION['age3'] = $age3; $_SESSION['hada'] = $hada; $_SESSION['hada1'] = $hada1; $_SESSION['hada2'] = $hada2; $_SESSION['hada3'] = $hada3; として保存しておけば、このあとのどこでも(session_start() さえしていれば)セッション変数に値が入っています。

maikosmos
質問者

補足

何度もすいません… <?php $age = intval(filter_input(INPUT_POST, 'age')); $hada = intval(filter_input(INPUT_POST, 'hada')); if (($age < 18)or($age > 24)) { die('illegal access'); } if (($hada < 1)or($hada > 3)) { die('illegal access'); } $age1 = $age + 1; $age2 = $age + 5; $age3 = $age + 7; $hada_arr = array(1=>'敏感肌', 2=>'乾燥肌', 3=>'脂性肌'); $hada1 = $hada_arr[$hada]; unset($hada_arr[$hada]); shuffle($hada_arr); $hada2 = array_shift($hada_arr); $hada3 = array_shift($hada_arr); $hada = $hada1; session start(); $_SESSION['age'] = $age; $_SESSION['age1'] = $age1; $_SESSION['age2'] = $age2; $_SESSION['age3'] = $age3; $_SESSION['hada'] = $hada; $_SESSION['hada1'] = $hada1; $_SESSION['hada2'] = $hada2; $_SESSION['hada3'] = $hada3; ?> こういうことでしょうか? これでもエラーが出てしまいお手上げです…

  • shimix
  • ベストアンサー率54% (865/1590)
回答No.4

>1ページ別の質問フォーム(2ページ目)があるため、 >うまく値が渡せませんでした… 今現在はどうやって渡そうとしていますか? フォームのinput要素(type="hidden")でしょうか?それともセッションに格納していますか?今現在どうやっているのかがわからないことには何ともアドバイスも難しいですが・・・ #とりあえずはセッションを使うのが一番楽だとは思いますけどね

maikosmos
質問者

補足

セッションを使いたいのですが、セッションを使ってのプログラムがうまくできないんです…(´;ω;`)

  • shimix
  • ベストアンサー率54% (865/1590)
回答No.3

うーん・・・。こんな感じですか? (htmlフォーム) <form action="result.php" method="post"> <span class="honbun"> Q1.あなた自身の年齢を教えてください  </span> <select name="age"> <option value="18">18歳</option> <option value="19">19歳</option> <option value="20">20歳</option> <option value="21">21歳</option> <option value="22">22歳</option> <option value="23">23歳</option> <option value="24">24歳</option> <option value="no" selected="">選択してください</option> </select> </p> <p> <span class="honbun"> Q2.あなたの肌質でもっとも当てはまると思うものを<b><u>ひとつ</u></b>選んでください  </span> </p> <dl> <dt>  敏感肌</dt> <dd>  化粧品や髪の毛・洋服にあたるだけで肌が痒くなったり、痛みを生じることがある</dd> <dt>  乾燥肌</dt> <dd>  乾燥していて,部分的に粉をふいたようになることがある</dd> <dt>  脂性肌</dt> <dd>  肌がすぐにテカリ,化粧崩れしやすい</dd> </dl> <p> <select name="hada"> <option value="1">敏感肌</option> <option value="2">乾燥肌</option> <option value="3">脂性肌</option> </p> <input type="submit"> </form> (php) $age = intval(filter_input(INPUT_POST, 'age')); $hada = intval(filter_input(INPUT_POST, 'hada')); if (($age < 18)or($age > 24)) { die('illegal access'); } if (($hada < 1)or($hada > 3)) { die('illegal access'); } $age1 = $age + 1; $age2 = $age + 5; $age3 = $age + 7; $hada_arr = array(1=>'敏感肌', 2=>'乾燥肌', 3=>'脂性肌'); $hada1 = $hada_arr[$hada]; unset($hada_arr[$hada]); shuffle($hada_arr); $hada2 = array_shift($hada_arr); $hada3 = array_shift($hada_arr); $hada = $hada1; ?> <!-- ここからのHTMLはご自由にどうぞ --> 入力=<?= $hada; ?>(<?= $age; ?>)<br> 他1=<?= $hada1; ?>(<?= $age1; ?>)<br> 他2=<?= $hada2; ?>(<?= $age2; ?>)<br> 他3=<?= $hada3; ?>(<?= $age3; ?>)<br>

maikosmos
質問者

補足

そうですね!やりたいことはこんな感じです!! ですが、肌質・年齢の選択ページ(1ページ目)とそれを表示するページ(3・4・5ページ目)の間には1ページ別の質問フォーム(2ページ目)があるため、うまく値が渡せませんでした… 何度もご迷惑をおかけして大変申し訳ないのですが、ご教示頂けないでしょうか…どうかお願いいたします。

関連するQ&A

  • htmlで入力したテキストがうまく表示されない

    お世話になります。 HTML初心者のものです。 卒業論文のアンケートに、webページを使いたいと思っていて、現在勉強しながらプログラミングを開始したところです。 しかし、 ●Q1.あなたの年齢を教えてください - プルダウンメニューで回答してもらう ●Q2.あなたの肌質を教えてください - ラジオボタンで回答してもらう という構造を頭の中で思い描いていたのですが、以下のようにhtmlを打っても、プルダウンメニューとラジオボタンの間の文章が表示されません。 初歩的な質問だとは思うのですが、先へ進めなくて困っているのでご教示頂けると幸いです。 【以下自分が打ったhtml】 <p>Q1.あなたの年齢を教えてください。</p><br> <form> <select name="knenrei"> <option value="1">18</option> <option value="2" selected>19</option> <option value="3" selected>20</option> <option value="4" selected>21</option> <option value="5" selected>22</option> <option value="6" selected>23</option> <option value="7" selected>24</option> <option value="8" selected>選択してください</option> </form><br> <p>Q2.あなたの肌質を教えてください。</p><br> <form> <input type="radio" name="khadashitu" value="binkan">敏感肌 <input type="radio" name="khadashitu" value="kansou">乾燥肌 <input type="radio" name="khadashitu" value="shisei">脂性肌 </form><br> ※補足……年齢のプルダウンメニューにおいて、最後に「選択してください」という項目を置いているのは、少しでも回答漏れを防ぐことと、回答漏れなのかきちんと回答がされたものなのかを区別するためです。

    • ベストアンサー
    • HTML
  • 必須項目の回答がない場合、次のページに進まない

    お世話になります。 プログラミング初心者のものです。 JavaScriptを用いて、必須項目(プルダウンメニュー)の回答が全てされていない場合に、次のページへ進まず、アラートが表示されるように設定したいと考えています。 そこで、以下のコードを書いたのですが、 設定する項目が13項目あり、8項目目から13項目目が未回答でも次のページに進めてしまいます。 これだけ量が多くなると、このプログラムだと実現出来ないのでしょうか? どこをどう直せば、改善されるのかを教えていただければ幸いです。 不躾な質問だとは重々承知しておりますが、時間がないため、何卒よろしくお願いいたします。 ●JavaScript <script type="text/javascript"> <!-- function check(){ var flag = 0; // 設定開始(チェックする項目を設定してください) if(document.aboutfande.fande1.options[document.aboutfande.fande1.selectedIndex].value == ""){ flag = 1; } else if(document.aboutfande.fande2.options[document.aboutfande.fande2.selectedIndex].value == ""){ flag = 1; } else if(document.aboutfande.fande3.options[document.aboutfande.fande3.selectedIndex].value == ""){ flag = 1; } else if(document.aboutfande.fande4.options[document.aboutfande.fande4.selectedIndex].value == ""){ flag = 1; } else if(document.aboutfande.fande5.options[document.aboutfande.fande5.selectedIndex].value == ""){ flag = 1; } else if(document.aboutfande.fande6.options[document.aboutfande.fande6.selectedIndex].value == ""){ flag = 1; } else if(document.aboutfande.fande7.options[document.aboutfande.fande7.selectedIndex].value == ""){ flag = 1; } else if(document.aboutfande.fande8.options[document.aboutfande.fande8.selectedIndex].value == ""){ flag = 1; } else if(document.aboutfande.fande.options[document.aboutfande.fande9.selectedIndex].value == ""){ flag = 1; } else if(document.aboutfande.fande10.options[document.aboutfande.fande10.selectedIndex].value == ""){ flag = 1; } else if(document.aboutfande.fande11.options[document.aboutfande.fande11.selectedIndex].value == ""){ flag = 1; } else if(document.aboutfande.fande12.options[document.aboutfande.fande12.selectedIndex].value == ""){ flag = 1; } else if(document.aboutfande.fande13.options[document.aboutfande.fande13.selectedIndex].value == ""){ flag = 1; } // 設定終了 if(flag){ window.alert('選択されていません'); // 選択されていない場合は警告ダイアログを表示 return false; // 送信を中止 } else { return true; // 送信を実行 } } // --> </script> ●HTML(長くなるため最初の2つだけ書いておきます) <h1><span class="daimei"><b>ウォーターベースファンデーション</b></span><span class="honbun">について</span></h1> <form action="tiku.php" method="post" name="aboutfande" onSubmit="return check()"> <p><span class="honbun"> Q1.この商品を買いたいと思いますか?</span>  <select name="fande1"> <option value="1">はい</option> <option value="2">いいえ</option> <option value="" selected>選択してください</option> </select> </p> <span class="honbun"> Q2.この商品にどのような印象を持ちましたか?<br>   もっとも当てはまるものを選択してください</span><br> <p><span class="honbun">   1.この商品を魅力的と感じた</span>  <select name="fande2"> <option value="1">全く当てはまらない</option> <option value="2">ほとんど当てはまらない</option> <option value="3">あまり当てはまらない</option> <option value="4">どちらともいえない</option> <option value="5">やや当てはまる</option> <option value="6">かなり当てはまる</option> <option value="7">非常に当てはまる</option> <option value="" selected>選択してください</option> </select></p>

  • selectで選択した情報を再表示させる方法を教えてください。

    はじめて質問させて頂きます。 PHPでプログラムを組んでいたのですが選択した項目の情報を金額表示と一緒に表示させたいのですが初心者のためどのようにすればいいか分かりません。 解決方法を教えてください。 下記が作ったプログラムです。 <html> <head><tile>項目の選択ページ</title></head> ピザ生地を選択してください。<br> <form action="piza.php" method="post"> <select name="kizi"> <option value="1">パン生地</option> </select></p> </select></p> <p>トッピングを選んでください。<br> <select name="top"> <option value="1">サラミ</option> </select></p> <p>ソース選んでください。<br> <select name="sou"> <option value="1">イタリアン</option> <option value="2">カレー</option> </select></p> <p>個数を入力してください。<br> <select name="ko"> <option value="0">0</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> <option value="6">6</option> <option value="7">7</option> <option value="8">8</option> <option value="9">9</option> </select> <select name="ko2"> <option value="0">0</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> <option value="6">6</option> <option value="7">7</option> <option value="8">8</option> <option value="9">9</option> </select> <select name="ko3"> <option value="0">0</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> <option value="6">6</option> <option value="7">7</option> <option value="8">8</option> <option value="9">9</option> </select> 個<br><br> <input type="submit" name="submit" value="合計金額"><br><br> <p><font><合計金額></font><br> <?php $kizi=$_POST['kizi']; $sou=$_POST['sou']; $top=$_POST['top']; $ko=$_POST['ko']; $ko2=$_POST['ko2']; $ko3=$_POST['ko3']; $Gn = 0; $n10 = intval ("$ko"); $m10 = intval ("$ko2"); $l10 = intval ("$ko3"); $ga = ($n10 * 100 + $m10 * 10 + $l10); $Gn = ($An + $Bn + $Cn); //An,Bn,Cnは金額1枚当たりの金額 //$A,B,Cは個数によって割引される上限 //Gnは個数×金額 //gaは選択された個数 if ($kizi=="1" && $sou=="1" && $top=="1" ){ $An = 260; $Bn = 263; $Cn = 221; $Dn = 0; $A = 10; $B = 20; $C = 30; if($ga <= $A){ $An ; }else if($ga > $A && $ga <= $B){ $Bn ; }else if($ga > $B && $ga <= $C){ $Cn ; }else{ $Dn ; print "当店ではそれ以上作れません"; } }elseif ($kizi=="1" && $sou=="2" && $top=="1" ){ $An = 323; $Bn = 240; $Cn = 204; $Dn = 0; $A = 10; $B = 20; $C = 30; if($ga <= $A){ $An ; }else if($ga > $A && $ga <= $B){ $Bn ; }else if($ga > $B && $ga <= $C){ $Cn ; }else{ $Dn ; print "当店ではそれ以上作れません"; } } if(!isset($_POST['kizi'])){ print ""; $Gn = 0; } $Gn = 0; if($n10==0 && $m10==0 && $l10==0){ $Gn = $An * 0 + $Bn * 0 + $Cn * 0; }else if($ga <=$A){ $Gn = ($ga * $An) * 10; }else if($ga > $A && $ga <= $B){ $Gn = ($A * $An + ($ga - $A) *$Bn )* 10; }else if($ga > $B && $ga <= $C){ $Gn = ($A * $An + ($B - $A) * $Bn + ($ga - $B) * $Cn) * 10; }else{ $Gn = ($Dn); } ?> <input type="text" name="kingaku" size="20" value="<?=$Gn?>">円<BR><BR><HR> </Form> <a href="default.htm">戻る</a><BR><BR> <a href="../../default.htm">トップページ</a><BR><BR> </body> </html>

    • ベストアンサー
    • PHP
  • セレクト部品の表示内容

    が選択されているかどうかによって変化するようにしたいのですが 以下のようにしてもうまくいきません。 何か解決策はないでしょうか? <script> function func() { document.getElementById("00").innerHTML="00.aa"; document.getElementById("01").innerHTML="01.bb"; } function func2() { document.getElementById("00").innerHTML="00"; document.getElementById("01").innerHTML="01"; } </script> <select onfocus="func()" onblur="func2()"> <option value="00"><span id="00">00</span></option> <option value="01"><span id="01">01</span></option> </select>

  • phpでのセレクトボックスからの受け渡しについて

    phpにおいての、セレクトボックスにより選択させたデータの受け渡しについて、どなかか教えてください。 授業評価アンケートのデータ収集システムを卒研で開発しています。 その中の一部で、 年度・学年・クラス を各々セレクトボックスにて選択させるページがあります。 仮にpage1.htmlとし、以下にその一部を示します。 <FORM method="post" action="page2.php" enctype="application/x-www-form-urlencoded"> <P> 年度: <SELECT name="nendo"> <OPTION value="1">2006</OPTION> <OPTION value="2">2007</OPTION> <OPTION value="3">2008</OPTION> <OPTION value="4">2009</OPTION> <OPTION value="5">2010</OPTION> <OPTION value="6" selected>2011</OPTION> <OPTION value="7">2012</OPTION> </SELECT> 学年: <SELECT name="gakunen"> <OPTION value="1">1年</OPTION> <OPTION value="2">2年</OPTION> <OPTION value="3">3年</OPTION> <OPTION value="4">4年</OPTION> </SELECT> クラス: <SELECT name="class"> <OPTION value="1">1組</OPTION> <OPTION value="2">2組</OPTION> <OPTION value="3">3組</OPTION> <OPTION value="4">4組</OPTION> <!-- --> </SELECT> </P> <P><INPUT type="submit" value="科目選択へ"> <INPUT type="reset" value="取り消す"></P> 次のページ(page2.php)では 科目・分類 を各々セレクトボックスにて選択させるページを用意します。 その際に、科目・分類の各々のセレクトボックスの上に、 前ページ(page1.php)にて選択された値(valueではなく文字列(2008,1年))を表示します。 年度:~~ 学年:~~ クラス:~~ これについては以下の方法で成功しました。 年度:<? echo $_POST["nendo"]+2005?> 年 学年:<? if ($_POST["gakunen"] == "1"){ echo "1年"; } else if ($_POST["gakunen"] == "2"){ echo "2年"; } else if ($_POST["gakunen"] == "3"){ echo "3年"; } else if ($_POST["gakunen"] == "4"){ echo "4年"; } ?> クラスについても同様の手法。 ここからが本題です。 page1.html→page2.php に受け渡した年度・学年・クラスのデータを page2.php→page3.php にも同じように、年度:~~・・・と表示させたいのですが、わかりません。 hiddenというのを使うのでしょうか。 調べても、このパターンのように1ページまたいでのデータの受け渡し方法がよくわかりません。 他の方法もあるのでしょうか。 どなたか具体的に教えてください!

    • 締切済み
    • PHP
  • 表示の仕方を教えてください!

    最初から鹿児島県が表示されるようにするには if ($ken == "") { echo "<option value=\"\" selected>----</option>"; } else { echo "<option value=\"\">----</option>"; } の-----部分はどうarray文から取り込めばいいのですか?? よろしくお願いします。 現在は下記のようになってます。 ----todoufuken.php------------------------ <?php $todofuken = array( 1 => array("hokkaido","北海道"), 2 => array("tokyo","東京都"), 3 => array("kagoshima","鹿児島県") ); ?> ------------------------------------------- ----ken_select.php------------------------- <?php include('todoufuken.php'); ?> <SELECT size=1 name=ken> <?php if ($ken == "") { echo "<option value=\"\" selected>----</option>"; } else { echo "<option value=\"\">----</option>"; } while ( list(,$p_todofuken) = each( $todofuken ) ) { list(,$p_kenname) = $p_todofuken; if ($p_kenname == $ken) { echo "<option selected>$p_kenname</option>"; } else { echo "<option>$p_kenname</option>"; } } ?> </SELECT>

    • ベストアンサー
    • PHP
  • selectのすべての値を送信する方法

    下記のselectのすべての値(りんご、みかん、ぶどう、 もも、さくらんぼ) をPOSTで送信する方法はありますでしょうか。 わかる人がいましたら教えてください。 <form name="theform" method="POST" action="example.php"> <p> 好きな果物: <select name="fruit3" multiple> <option value="りんご">アップル</option> <option value="みかん">オレンジ</option> <option value="ぶどう">グレープ</option> <option value="もも">ピーチ</option> <option value="さくらんぼ">チェリー</option> </select> </p> <p><input type="submit" value="送信する"></p> </form>

  • 肌質の不思議

    こんばんは。 肌質(乾燥肌、普通肌、脂性肌等)について疑問があります。 私は脂性肌寄りの普通肌なのですが、 そんなに皮脂は出ないけど、夕方頃テカります。 保湿もしてるのにどうして皮脂が出るのでしょうか。 皮脂全く出ないけど、乾燥もしないって人いますよね。 あれもなぜでしょうか。 保湿を念入りにしても乾燥する人います。 肌質は、体質・遺伝等が原因ですか? ちなみに私は、お菓子や油っこい物は、ほとんど食べません! ご存知の方、回答お願いします。

  • PHP

    PHPで質問があります。funに「無し」を選択すると結果が?になり文字化けします。なぜでしょうか? <select name="fun"> <option vaue="*">無し</option> <option value="1">01</option> <option value="2">02</option> <option value="3">03</option> <option value="4">04</option> <option value="5">05</option> <option value="0">00</option> </select> </p> <input type="submit" value="設定" /> </form> </body> </html> <?php echo $_POST['fun']; echo " "; echo $_POST['jikan']; echo " "; ?>

    • ベストアンサー
    • PHP
  • 敏感肌用の化粧下地

    今、敏感肌用の下地を使用しています。 大学生になる前に化粧をしたいと思って、薬局のカウンセリングのところで相談しました。そしたら、“dプログラム”を進められました。確かに敏感肌用なので肌にはやさしく、ニキビも増えないし、乾燥しているときでも大丈夫です。 でも、Tゾーンがすごく脂性なのですぐにテカテカになってしまいます。なので、こまめにあぶらとり紙で脂を取らないといけないし、ファンデーションかよれてきます。 クリームタイプなので余計に脂が浮いてくるみたいです。 敏感肌用で脂性の私にも大丈夫な下地はありませんか?学生なのであまり高くないものがいいのですが。

専門家に質問してみよう