• 締切済み

上手くエラー表示がされないのと計算ができない

PHP初心者です。 開発環境 apache2.0.59 PHP5.2.9 Eclipse3.3 以下のソースコードを見て下さい。 <?php session_start(); ?> <html> <head> <title>test3_2.php</title> </head> <body> <?php //kadai3_3.phpにて、氏名、商品それぞれに未入力の場合はセッション変数に「NG」が設定されます if ($_SESSION["name"]=="NG") { unset($_SESSION["name"]); print("氏名を入力して下さい。"."<br>"); } if ($_SESSION["shohin"]=="NG") { unset($_SESSION["shohin"]); print("商品の何れかをチェックして下さい。"."<br>"); } ?> <form action="./test3_3.php" method=post> 氏名:<input type="text" name="name" <?php print("value='".$_SESSION["name"]."'")?>> <br><br> 商品一覧<br> <!-- 全てのcheckboxの名称をshohin[商品名]として連想配列化する事により test3_3.phpではcheckboxが扱いやすくなります --> <input type="checkbox" name="shohin[A]" <?php print($_SESSION["shohin"]["A"]=="on" ? "checked":"") ?> >A商品  \\1,000<br> <input type="checkbox" name="shohin[B]" <?php print($_SESSION["shohin"]["B"]=="on" ? "checked":"") ?> >B商品 \\2,000<br> <input type="checkbox" name="shohin[C]" <?php print($_SESSION["shohin"]["C"]=="on" ? "checked":"") ?> >C商品 \\3,000<br> <input type="checkbox" name="shohin[D]" <?php print($_SESSION["shohin"]["D"]=="on" ? "checked":"")?> >D商品 \\4,000<br> <input type="checkbox" name="shohin[E]" <?php print($_SESSION["shohin"]["E"]=="on" ? "checked":"")?> >E商品 \\5,000<br><br> <input type="submit" value="送信"> </form> </body> </html> で次のtest3_3.phpのソースコードです。 <?php session_start(); /* * 氏名にデータが入っていない場合はセッション変数を「NG」を入っていた場合はセッション変数に氏名をセットする */ if (strlen($_POST["name"]==0)) { $_SESSION["name"] = "NG"; }else{ $_SESSION["name"] = $_POST["name"]; } if (isset($_POST["shohin"])) { $_SESSION["shohin"]=$_POST["shohin"]; }else{ $_SESSION["shohin"]="NG"; } /* * 氏名か商品の何れかが未入力(未チェック)の場合はtest3_2.phpに遷移します。 */ if ($_SESSION["name"]=="NG" or $_SESSION["shohin"]=="NG") { header("Location: test3_2.php?".SID); exit; } ?> <html> <head> <title>test3_3.php</title> </head> <body> <?php $fp = fopen("C:\Apache2\htdocs\test3_1.txt", "r"); while (!feof($fp)) { $buffer = fgets($fp); $ans = explode(",", $buffer); $shohin[$ans[0]] = $ans[1]; } fclose($fp); $sum = 0; while(list($key, $val)=each($shohin)) { if ($_POST[$key]=="on") { print($key."商品:\\".number_format($val)."<br>"); $sum += $val; $shohizei = $sum * 0.05; $goukei = $sum + $shohizei; } } print("---------------------------<br>"); print("合計金額:\\".number_format($sum)."<br>"); print("消費税  :\\".number_format($shohizei)."<br>"); print("税込金額:\\".number_format($goukei)); ?> </body> </html> 分からないのは氏名欄に何も書かない場合もしくは商品を1つも選択しない場合、それぞれエラー表示されるのですが、何故か氏名欄にはMGと言う値が入力されてリダイレクトされます。 なので、まずはその原因を探しているのですが、いくら見ても分かりません。 なので、氏名欄が空白のときにエラー表示されるのかどうかも分かりません。 もう1つは商品購入の際の計算式が表示されない事です。 その前に連想配列$_SESSION["shohin"]["A"]についても疑問点があります。 これは2次元連想配列と解釈するのでしょうか。 ちなみにtest3_1.txtには以下のような文章が書かれています。 A,1000 B,2000 C,3000 D,4000 E,5000 何か延々とソースコードを書き連ねただけみたいに見えますね。 読み辛いようでしたら、本当に申し訳ありません。 以上の疑問について回答を頂きたいと思い書き込みました。 どうぞ宜しくお願い致します。

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

みんなの回答

noname#112279
noname#112279
回答No.1

氏名欄にNGは入るのは以下が原因だと思われます。 誤)if (strlen($_POST["name"]==0)) { 正)if (strlen($_POST["name"])==0) {

persona
質問者

お礼

アドバイスありがとうございます。 これで氏名欄が未記入の場合正常にエラーがでました。

persona
質問者

補足

if ($_POST[$key]=="on") { print($key."商品:\\".number_format($val)."<br>"); $sum += $val; $shohizei = $sum * 0.05; $goukei = $sum + $shohizei; } ここがエラー部分だそうです。 それと、連想配列$_SESSION["shohin"]["A"]についても疑問点があります。 これはどういう意味があるのでしょうか。

関連するQ&A

  • チェックボックスの初期選択と選択保持

    複数のチェックボックスのうちどれかを初期選択させ、ボタン押下後は選択保持をさせたいです。 片方のみならできるのですが、どなたかご教授いただけるとうれしいです。 現在のソースはこんな感じになっていて選択したものの保持はできるのですが、初期選択ができていません。よろしくおねがいします。 <html> <body> <form name="form" method="post"> <?php test1() ?> test1 <?php test2() ?> test2 <?php test3() ?> test3<br><br> <input type="submit" name="button" value="button"> </form> <?php function test1(){ if ($_POST['test1']){ echo "<input type=\"checkbox\" name=\"test1\" checked>"; }else{ echo "<input type=\"checkbox\" name=\"test1\">"; } } function test2(){ if ($_POST['test2']){ echo "<input type=\"checkbox\" name=\"test2\" checked>"; }else{ echo "<input type=\"checkbox\" name=\"test2\">"; } } function test3(){ if ($_POST['test3']){ echo "<input type=\"checkbox\" name=\"test3\" checked>"; }else{ echo "<input type=\"checkbox\" name=\"test3\">"; } } ?> </body> </html>

    • 締切済み
    • PHP
  • mb_language("Japanese");でエラーが出ます

    PHP初心者です。 少し訂正があるため、それを書き直しました。 回答を頂く方には大変面倒をおかけする事になり、誠に申し訳ありませんが、2つのファイルのソースコードをまず見てもらえますか。 test.php <?php session_start(); ?> <html> <head> <title>test</title> </head> <body> <h2>メールの送信</h2> <?php if ($_SESSION["address"]=="NG") { unset($_SESSION["address"]); print("E-Mailは必須入力です。"."<br>"); } if ($_SESSION["subject"]=="NG") { unset($_SESSION["subject"]); print("タイトルは必須入力です。"."<br>"); } if ($_SESSION["message"]=="NG") { unset($_SESSION["message"]); print("コメントは必須に入力です。"."<br>"); } ?> <form action="./test1.php" method="post"> E-Mail:<br><input type="text" name="address" <?php print("value='".$_SESSION["address"]."'")?> size="50"><br> タイトル:<br><input type="text" name="subject" <?php print("value='".$_SESSION["subject"]."'")?> size="50"><br> コメント:<br><textarea name="message" rows="5" cols="35"> <?php print($_SESSION["message"])?></textarea><br><br> <input type="submit" value="送信"> </form> </body> </html> このページを表示させてどこかを空欄のままにしますが、エラー表示は出ません。 ↑の部分はソースコード抜けや誤字で正常に表示できるようになりました。 では、全ての欄に入力してtest1.phpに移ります。 test1.php <?php session_start(); if(strlen($_POST["address"])==0){ $_SESSION["address"] = "NG"; }else{ $_SESSION["address"] = $_POST["address"]; } if(strlen($_POST["subject"])==0){ $_SESSION["subject"] = "NG"; }else{ $_SESSION["subject"] = $_POST["subject"]; } if(strlen($_POST["message"])==0){ $_SESSION["message"] = "NG"; }else{ $_SESSION["message"] = $_POST["message"]; } if($_SESSION["address"]=="NG" or $_SESSION["subject"]=="NG" or $_SESSION["message"]=="NG"){ header("Location: test.php?".SID); exit; } ?> <html> <head><title>test1.php</title></head> <body> <?php $address=$_POST["address"]; $subject=$_POST["subject"]; $message=$_POST["message"]; $header="From:xxx@xxxxx.xxx\nContent-Type: text/plain;charset=iso-2022-jp"; mb_language("Japanese"); if(mb_send_mail($address,$subject ,mb_convert_encoding($message,"JIS","SJIS"),$header)){ print("送信完了!"); }else{ print("エラー:送信に失敗しました"); } ?> </body> </html> 問題はここです。 移動前にmb_language("Japanese");の部分でエラー表示されます。 この構文がどうしてもエラーになります。 エラー文をここで書きます。 Fatal error: Call to undefined function mb_language() in C:\Apache2\htdocs\sample18_1.php on line 42 それで、構文をググって見ましたが、こういうサイトを見つけました。 http://lib.stwing.jp/archives/2005/12/phpmb_language.html​ ここにも書かれているので構文自体にエラーが出るのはおかしいはずなんですけど。 どこに問題があるのでしょうか。 このソースコードが何故上手く通らないのか教えて頂けると大変助かります。 どうか宜しくお願い致します。

    • ベストアンサー
    • PHP
  • php ファイルの書き込み読みだし

    htmlフォームから回答 phpで処理計算しlog.csvに保存、log.csvファイルを読みだしその結果をブラウザに表示するスクリプトを書いておりますが、log.csvファイルを読みだして結果を表示の部分が調べてもできなくて困っております。どなたか知恵を貸してほしいです。批判や中傷などは書かないでください。 <HTML> <HEAD> <TITLE>テキスト送信のテスト></TITLE> </HEAD> <FORM name="toi_5.html"method="post" action="toi5.php"> <Div Align="center">名前:<BR> <INPUT type="text"name="onamae"> <BR> 性別:<BR> <INPUT type="radio"name="gender" value="男">男<BR> <INPUT type="radio"name="gender" value="女">女<BR> <BR> <SELECT name="syokugyou"> <OPTION value""selectd>職業をえらんでください</OPTION> <OPTION value"学生">学生</OPTION> <OPTION value"会社員">会社員</OPTION> <OPTION value"公務員">公務員</OPTION> <OPTION value"自営業">自営業</OPTION> <OPTION value"その他">その他</OPTION> </SELECT><BR> <p></p> 満足度を答えてください:<BR> <INPUT type="checkbox" name="hobby[]" value="満足"> 満足<BR> <INPUT type="checkbox" name="hobby[]" value="やや満足"> やや満足<BR> <INPUT type="checkbox" name="hobby[]" value="普通"> 普通<BR> <INPUT type="checkbox" name="hobby[]" value="やや不満"> やや不満<BR> <INPUT type="checkbox" name="hobby[]" value="不満"> 不満<BR> <BR> <INPUT type="submit" value="回答"> </div> </FORM> </BOBY> </HTML> <HTML> <HEAD> <TITLE>PHPのテスト</TITLE> </HEAD> <BOBY> <p> <Div Align="center">名前</p> <?php print $_POST["onamae"]; ?> <p> <?php if(isset($_POST["gender"])&&($_POST["gender"]=="男"|| $_POST["gender"]=="女")){ print"性別:<BR>"; print $_POST["gender"]; }else{ print"性別を選んでください。<BR>"; } ?> <?php session_start(); if (isset($_SESSION["gender"])) { $_SESSION["gender"]++; print($_SESSION["gender"]."回目"); } else { $_SESSION["gender"] = 0; } ?> <p> </p> <?php if($_POST["syokugyou"]<>""){ print"職業:<BR>"; print$_POST["syokugyou"]; }else{ print"職業をえらんでください<BR>"; } ?> <?php if (isset($_SESSION["syokugyou"])) { $_SESSION["syokugyou"]++; print($_SESSION["syokugyou"]."回目"); } else { $_SESSION["syokugyou"] = 0; } ?> <p> </p> 満足度を答えてください<BR> <?php if(isset($_POST["hobby"])){ $hobby=implode($_POST["hobby"]); print $hobby; }else{ } ?> <?php if (isset($_SESSION["hobby"])) { $_SESSION["hobby"]++; print($_SESSION["hobby"]."回目"); } else { $_SESSION["hobby"] = 0; } ?> <?php // 出力 $fileName = "log.csv"; header('Content-Disposition: attachment; filename=' . $fileName); ?> </div> </body> </html> </BOBY> </HTML>

    • ベストアンサー
    • PHP
  • ラジオボタンとチェックボックスの計算について

    ラジオボタンとチェックボックスで選択して、その合計を表示させたいのですが、合計の最高は50になる用に作ったのですが、9点にしかなりません。 私が考えるに、<script language="JavaScript">~</script>の間が間違っていると思うのですがどうでしょうか? 皆様ご教授の程お願いします。 <script language="JavaScript"> <!-- // 項目の合計を計算 function ttlValue() { chn = 10; // ラジオボタンとチェックボックスの総数 ttl = 0; for(i=0; i<chn; i++) { if(document.nForm.elements[i].checked) { ttl += eval(document.nForm.elements[i].value); } } document.nForm.result.value = ttl; } //--> </script> </head> <body alink="#000000" bgcolor="#f0f8ff" link="#00ffff" text="#000000" vlink="#ff0000"> <br> それぞれの項目で該当する回答を1つずつ選択して下さい。 <form name="nForm">項目1<br> <input name="ch1" value="3" checked="checked" type="radio">a<br> <input name="ch1" value="2" type="radio">b<br> <input name="ch1" value="1" type="radio">c<br> <input name="ch1" value="0" type="radio">d<br> <br> 項目2<br> <input name="ch2" value="3" checked="checked" type="radio">a<br> <input name="ch2" value="2" type="radio">b<br> <input name="ch2" value="1" type="radio">c<br> <input name="ch2" value="0" type="radio">d<br> <br> 項目3<br> <input name="ch3" value="3" checked="checked" type="radio">a<br> <input name="ch3" value="2" type="radio">b<br> <input name="ch3" value="1" type="radio">c<br> <input name="ch3" value="0" type="radio">d<br> <br> 項目4<br> <input name="ch4" value="1" checked="checked" type="radio">a<br> <input name="ch4" value="0" type="radio">b<br> <br> 項目5<br> <input name="ch5" value="1" checked="checked" type="radio">a<br> <input name="ch5" value="0" type="radio">b<br> <br> オプションがあれば選択して下さい。(複数選択可)<br> <input name="bx1" value="1" type="checkbox">1<br> <input name="bx1" value="1" type="checkbox">2<br> <input name="bx1" value="1" type="checkbox">3<br> <input name="bx1" value="1" type="checkbox">4<br> <input name="bx1" value="1" type="checkbox">5<br> <input name="bx1" value="1" type="checkbox">6<br> <input name="bx1" value="1" type="checkbox">7<br> <input name="bx1" value="1" type="checkbox">8<br> <input name="bx1" value="1" type="checkbox">9<br> <input name="bx1" value="1" type="checkbox">10<br> <input name="bx1" value="1" type="checkbox">11<br> <input name="bx1" value="1" type="checkbox">12<br> <input name="bx1" value="1" type="checkbox">13<br> <input name="bx1" value="1" type="checkbox">14<br> <input name="bx1" value="1" type="checkbox">15<br> <input name="bx1" value="1" type="checkbox">16<br> <input name="bx1" value="1" type="checkbox">17<br> <input name="bx1" value="1" type="checkbox">18<br> <input name="bx1" value="1" type="checkbox">19<br> <input name="bx1" value="1" type="checkbox">20<br> <input name="bx1" value="1" type="checkbox">21<br> <input name="bx1" value="1" type="checkbox">22<br> <input name="bx1" value="1" type="checkbox">23<br> <input name="bx1" value="1" type="checkbox">24<br> あなたの獲得したメダルは何色?<br> <select name="ch2"> <option value="0" selected="selected">なし</option> <option value="5">金メダル</option> <option value="3">銀メダル</option> <option value="1">銅メダル</option> </select> <br> <br> メダル獲得まで何年かかりましたか?<br> 項目6<br> <input name="ch6" value="10" checked="checked" type="radio">20年以上<br> <input name="ch6" value="5" type="radio">19年~10年<br> <input name="ch6" value="3" type="radio">9年~5年<br> <input name="ch6" value="1" type="radio">4年~3年<br> <input name="ch6" value="0" type="radio">2年未満<br> <br> <input value="合計金額を計算" onclick="ttlValue()" type="button"><br> <br> 合計<input name="result" size="10" type="text"> </form> <br>

  • php アンケートについての質問

    アンケートフォームを作成しました。回答ボタンを押すとcsvファイルにアンケート結果の内容を保存できるように造りたいのですが参考になるようなものがなくて困っています。どなたか参考になるようなソースなどをお教えくださると助かります。 <HTML> <HEAD> <TITLE>テキスト送信のテスト></TITLE> </HEAD> <FORM name="form1"method="post" action="view.php"> <Div Align="center">名前:<BR> <INPUT type="text"name="onamae"> <BR> 性別:<BR> <INPUT type="radio"name="gender" value="男">男<BR> <INPUT type="radio"name="gender" value="女">女<BR> <BR> <SELECT name="syokugyou"> <OPTION value""selectd>職業をえらんでください</OPTION> <OPTION value"学生">学生</OPTION> <OPTION value"会社員">会社員</OPTION> <OPTION value"公務員">公務員</OPTION> <OPTION value"自営業">自営業</OPTION> <OPTION value"その他">その他</OPTION> </SELECT><BR> <p></p> 満足度を答えてください:<BR> <INPUT type="checkbox" name="hobby[]" value="満足"> 満足<BR> <INPUT type="checkbox" name="hobby[]" value="やや満足"> やや満足<BR> <INPUT type="checkbox" name="hobby[]" value="普通"> 普通<BR> <INPUT type="checkbox" name="hobby[]" value="やや不満"> やや不満<BR> <INPUT type="checkbox" name="hobby[]" value="不満"> 不満<BR> <BR> <INPUT type="submit" value="回答"> </div> </FORM> </BOBY> </HTML> <HTML> <HEAD> <TITLE>PHPのテスト</TITLE> </HEAD> <BOBY> <p> <Div Align="center">名前</p> <?php print $_POST["onamae"]; ?> <p> <?php if(isset($_POST["gender"])&&($_POST["gender"]=="男"|| $_POST["gender"]=="女")){ print"性別:<BR>"; print $_POST["gender"]; }else{ print"性別を選んでください。<BR>"; } ?> <p> </p> <?php if($_POST["syokugyou"]<>""){ print"職業:<BR>"; print$_POST["syokugyou"]; }else{ print"職業をえらんでください<BR>"; } ?> <p>

    • ベストアンサー
    • PHP
  • []を付けずにcheckboxの値を複数受信

    カテゴリをPHPとするか迷いましたが、 こちらに質問させていただきます。 <input type="checkbox" name="hiragana[]" value="a">あ <input type="checkbox" name="hiragana[]" value="i">い <input type="checkbox" name="hiragana[]" value="u">う とした場合、 $checked=$_POST['hiragana']; print_r($checked); などとして使えることはわかるのですが、 角括弧をつけず、 <input type="checkbox" name="hiragana" value="a">あ <input type="checkbox" name="hiragana" value="i">い <input type="checkbox" name="hiragana" value="u">う としたときに、同様に配列として取得する(すべてのチェックされた項目を取得する) 方法はあるのでしょうか? このようにした場合、 $checked=$_POST['hiragana']; print_r($checked); や print_r($_POST); すると、最後にチェックされた値しか入っていないようです。 (上書きされているようですが...) HTTPヘッダを見ると、 hiragana=a&hiragana=i&hiragana=u のように、すべて送信はされているのは確認できるのですが... 後者のような角括弧をつけていないタイプのcheckboxを使って ちゃんとチェックされた値をすべて受信して動作していると 思われるサイトを目にするので どうすればできるのかと思い質問させて頂きました。 よろしくお願いいたします。

    • ベストアンサー
    • HTML
  • 大量のcheckboxにcheckedを入れる

    チェックボックスが50個あります。 送信ボタンを押して元のページを再度開きます。 そのときにチェックしたボックスにチェックを入れた状態にしたいです。 inputタグの中に<?php if(isset($checkbox2) && in_array('b2',$checkbox2)){echo ' checked';} ?>を入れていますが単調になってしまいます。 単調にならずにする方法はありますか? <input type="checkbox" name="chk1[]" value="a1" />の場合はインデックスが固定でないのでできませんでした。 その他いけない箇所があれば教えて下さい。 お願いします。 <?php if(isset($_GET["chk1"])){ $checkbox1 = $_GET["chk1"]; for($i=0; $i<sizeof($checkbox1); $i++){ print $checkbox1[$i]."<br />"; } } if(isset($_GET["chk2"])){ $checkbox2 = $_GET["chk2"]; foreach($checkbox2 as $key => $val){ print $val."<br />"; } } ?> <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> </head> <body> <form method="get" action="checkbox.php"> <input type="checkbox" name="chk1[]" value="a1" /> <input type="checkbox" name="chk1[]" value="a2" /> <input type="checkbox" name="chk1[]" value="a3" /> <input type="checkbox" name="chk1[]" value="a4" /> <input type="checkbox" name="chk1[]" value="a5" /> <input type="checkbox" name="chk1[]" value="a6" /> <input type="checkbox" name="chk1[]" value="a7" /> <input type="checkbox" name="chk1[]" value="a8" /> <input type="checkbox" name="chk1[]" value="a9" /> <input type="checkbox" name="chk1[]" value="a10" /> <br /> <input type="checkbox" name="chk2['b1']" value="b1" <?php if(isset($checkbox2) && in_array('b1',$checkbox2)){echo ' checked';} ?>/> <input type="checkbox" name="chk2['b2']" value="b2" <?php if(isset($checkbox2) && in_array('b2',$checkbox2)){echo ' checked';} ?>/> <input type="checkbox" name="chk2['b3']" value="b3" <?php if(isset($checkbox2) && in_array('b3',$checkbox2)){echo ' checked';} ?>/> <input type="checkbox" name="chk2['b4']" value="b4" <?php if(isset($checkbox2) && in_array('b4',$checkbox2)){echo ' checked';} ?>/> <input type="checkbox" name="chk2['b5']" value="b5" <?php if(isset($checkbox2) && in_array('b5',$checkbox2)){echo ' checked';} ?>/> <input type="checkbox" name="chk2['b6']" value="b6" <?php if(isset($checkbox2) && in_array('b6',$checkbox2)){echo ' checked';} ?>/> <input type="checkbox" name="chk2['b7']" value="b7" <?php if(isset($checkbox2) && in_array('b7',$checkbox2)){echo ' checked';} ?>/> <input type="checkbox" name="chk2['b8']" value="b8" <?php if(isset($checkbox2) && in_array('b8',$checkbox2)){echo ' checked';} ?>/> <input type="checkbox" name="chk2['b9']" value="b9" <?php if(isset($checkbox2) && in_array('b9',$checkbox2)){echo ' checked';} ?>/> <input type="checkbox" name="chk2['b10']" value="b10" <?php if(isset($checkbox2) && in_array('b10',$checkbox2)){echo ' checked';} ?>/> <br /> <input type="submit" value="送信" /> </form> </body> </html>

    • 締切済み
    • PHP
  • 送信後のチェックボックスの表示

    最初の画面でAにチェックされているとします。 そのあとに、AとBをチェックしたあとにSubmitで送信します。 送信したあとに、AとBにチェックした最初の画面を表示させたいときは、 どんな風にすればよいのでしょうか。 今は・・・ If Request.Form="" <input type="checkbox" name="test" value="A" checked>A <input type="checkbox" name="test" value="B">B <input type="checkbox" name="test" value="C">C Else Select Request.Form("test") Case "A" <input type="checkbox" name="test" value="A" checked>A <input type="checkbox" name="test" value="B">B <input type="checkbox" name="test" value="C">C Case "B" <input type="checkbox" name="test" value="A">A <input type="checkbox" name="test" value="B" checked>B <input type="checkbox" name="test" value="C">C Case "C" <input type="checkbox" name="test" value="A">A <input type="checkbox" name="test" value="B">B <input type="checkbox" name="test" value="C" checked>C   ・・・ End Select End If というように、全ての場合のときに"checke"をつけて表示させています。 もっと、効率のよい書き方はないものでしょうか?

  • チェックボックスのperlでの値の渡し方と、postgreSQLでのデータ書込みについて教えて下さい。

    今、下記のような複数選択可のチェックボックスを 作成していまして、perlでの値の渡し方と、 postgreSQLでのデータ書込みについて悩んでいます。 良かったら教えて下さい。 <INPUT type="checkbox" name="test" value="A">A<BR> <INPUT type="checkbox" name="test" value="B">B<BR> <INPUT type="checkbox" name="test" value="C">C<BR> というチェックボックスのうち、AとCにチェックをつけたと します。その際、perlでデータを引き継いだ場合、 testには、AとCが入っているのでしょうか? また、サーバに書き込む際に、データはどのように保存される のでしょうか? 1つの名前では無理なのでしょうか?またその場合、postgreSQL のデータ項目名も3つ名前を用意しておかないといけないので しょうか?編集画面を作成する際に、そのサーバの 項目から値をひっぱりだして、checkedを表示させたいのですが、 <INPUT type="checkbox" name="test" value="A" checked>A<BR> <INPUT type="checkbox" name="test" value="B">B<BR> <INPUT type="checkbox" name="test" value="C" checked>C<BR> と出るようにしたいのですが、何か良い方法がありましたら、 教えて下さい。お願いします。

    • ベストアンサー
    • Perl
  • 表の枠組み表示

    下記、ソースで表から表へデータを飛ばしています。 textboxに入力した値を別のファイルで受け取り 同じような表内で表示しています。 text入力したデーターがないときにも受け取り側の 表の枠組みだけは、表示させたいのですが 何か良い方法ないでしょうか? //送り側ソース <html> <head><title>session.html</title></head> <body> 商品登録 <form action="register.php" method="post"> <table border="1"> <tr> <td><input type="text" name="syouhin"></td> <td><input type="text" name="conto"></td> <td><input type="text" name="thank"></td> </tr> <tr> <td><input type="text" name="xyz"></td> <td><input type="text" name="opq"></td> <td><input type="text" name="stu"></td> </tr> </table> <input type="submit" value="登録"> </body> </html> //受け取り側ソース <?php session_start(); ?> <html> <head><title>register.php</title></head> <body> <?php $syouhin=$_POST['syouhin']; $_SESSION['syouhin'].=$_POST['syouhin']; $conto=$_POST['conto']; $_SESSION['conto'].=$_POST['conto']; $thank=$_POST['thank']; $_SESSION['thank'].=$_POST['thank']; $xyz=$_POST['xyz']; $_SESSION['xyz'].=$_POST['xyz']; $opq=$_POST['opq']; $_SESSION['opq'].=$_POST['opq']; $stu=$_POST['stu']; $_SESSION['stu'].=$_POST['stu']; print("次の商品を登録しました<br />"); print "<table border=1>"; print"<tr><td width=50>適用</td><td width=50>商品</td><td width=50>数量</td></tr>"; print"<tr><td width=50>".$syouhin."</td>"; print"<td width=50>".$conto."</td>"; print"<td width=50>".$thank."</td>"; print "</tr>" ; print"<tr><td width=50>".$xyz."</td>"; print"<td width=50>".$opq."</td>"; print"<td width=50>".$stu."</td>"; print "</tr>" ; print "</table>"; ?> </body> </html>

    • 締切済み
    • PHP

専門家に質問してみよう