| << レンタルサーバー上のPHPプログラ... | 質問一覧 | 週間カレンダーについて >> |
- 0P
フォーム内のチェックボックスの値を取得
- 0P
今回は、チェックボックスの値の取り方で悩んでいます。
下記サンプルを使って、テキストボックスやラジオボタン以外にチェックボックス(複数選択可)も
使うことになりました。HTML側でname="abc[]"をセットしてvalue(値)を取得するのは
わかったのですが、下記プログラムにどう組み込んで良いのかがわかりません。
print_r($_POST)を使用して、値が入ってくるのは確認したのですが…。
毎度、申し訳ありませんがどなたかご指導頂けますでしょうか。
- チェックボックス側の処理
- <input type="checkbox" name="abc[]" id="abc" value="abc1">abc1
- <input type="checkbox" name="abc[]" id="abc" value="abc2">abc2
- <input type="checkbox" name="abc[]" id="abc" value="abc3>abc3
- ーーーーー
- $script ="sendmail.php";
- $to = "example@example.com";
- $sbj = "お問い合わせ";
- // 送信確認画面の表示(する=1, しない=0)
- $chmail = 1;
- // 送信後のページジャンプ(する=1, しない=0)
- $jpage = 0;
- // 送信後にジャンプするページ
- $next = "http://example.com/";
- // 差出人は、送信者のメールアドレスにする(する=1, しない=0)
- // する場合は、メール入力欄のname属性を「email」
- $from_add = 1;
- // 差出人に送信内容確認メールを送る(送る=1, 送らない=0)
- // 送る場合は、メール入力欄のname属性を「email」にしてください。
- $remail = 1;
- // 差出人に送信確認メールを送る場合のメールのタイトル
- $resbj = "件名";
- // 必須入力項目を設定する(する=1, しない=0)
- $esse = 1;
- // 必須入力項目(入力フォームで指定したname)
- $eles = array('email');
- ーーーーー
- $sendm = 0;
- foreach($_POST as $key=>$var) {
- if($var == "eweb_submit") $sendm = 1;
- }
- // 文字の置き換え
- $string_from = "\";
- $string_to = "ー";
- // 未入力項目のチェック
- if($esse == 1) {
- $flag = 0;
- $length = count($eles) - 1;
- foreach($_POST as $key=>$var) {
- $key = strtr($key, $string_from, $string_to);
- if($var == "eweb_submit") ;
- else {
- for($i=0; $i<=$length; $i++) {
- if($key == $eles[$i] && empty($var)) {
- $errm .= "<P>「".$key."」は必須入力項目です。</P>\n";
- $flag = 1;
- }
- }
- }
- }
- foreach($_POST as $key=>$var) {
- $key = strtr($key, $string_from, $string_to);
- for($i=0; $i<=$length; $i++) {
- if($key == $eles[$i]) {
- $eles[$i] = "eweb_ok";
- }
- }
- }
- for($i=0; $i<=$length; $i++) {
- if($eles[$i] != "eweb_ok") {
- $errm .= "<P>「".$eles[$i]."」が未選択です。</P>\n";
- $eles[$i] = "eweb_ok";
- $flag = 1;
- }
- }
- if($flag == 1){
- htmlHeader();
- <p>入力エラー</p>
- echo $errm;
- <INPUT type="button" value="前画面に戻る" onClick="history.back()">
- <!--- 終了 --->
- htmlFooter();
- exit(0);
- }
- }
- //--- メールのレイアウトの編集 --- 開始 ------------------->
- $body="「".$sbj."」からの発信です\n\n";
- $body.="-------------------------------------------------\n\n";
- foreach($_POST as $key=>$var) {
- $key = strtr($key, $string_from, $string_to);
- if(get_magic_quotes_gpc()) $var = stripslashes($var);
- if($var == "eweb_submit") ;
- else $body.="[".$key."] ".$var."\n";
- }
- $body.="\n-------------------------------------------------\n\n";
- $body.="送信日時:".date( "Y/m/d (D) H:i:s", time() )."\n";
- $body.="ホスト名:".getHostByAddr(getenv('REMOTE_ADDR'))."\n\n";
- //--- 終了 --->
- if($remail == 1) {
- //--- 差出人への送信確認メールのレイアウトの編集 --- 開始 ->
- $rebody="ありがとうございました。\n";
- $rebody.="以下の内容が送信されました。\n\n";
- $rebody.="-------------------------------------------------\n\n";
- foreach($_POST as $key=>$var) {
- $key = strtr($key, $string_from, $string_to);
- if(get_magic_quotes_gpc()) $var = stripslashes($var);
- if($var == "eweb_submit") ;
- else $rebody.="[".$key."] ".$var."\n";
- }
- $rebody.="\n-------------------------------------------------\n\n";
- $rebody.="送信日時:".date( "Y/m/d (D) H:i:s", time() )."\n";
- $reto = $_POST['email'];
- $rebody=mb_convert_encoding($rebody,"JIS","utf-8");
- $resbj="=?iso-2022-jp?B?".base64_encode(mb_convert_encoding($resbj,"JIS","utf-8"))."?=";
- $reheader="From: $to\nReply-To: ".$to."\nContent-Type: text/plain;charset=iso-2022-jp\nX-Mailer: PHP/".phpversion();
- //--- 終了 --->
- }
- $body=mb_convert_encoding($body,"JIS","utf-8");
- $sbj="=?iso-2022-jp?B?".base64_encode(mb_convert_encoding($sbj,"JIS","utf-8"))."?=";
- if($from_add == 1) {
- $from = $_POST['email'];
- $header="From: $from\nReply-To: ".$_POST['email']."\nContent-Type: text/plain;charset=iso-2022-jp\nX-Mailer: PHP/".phpversion();
- } else {
- $header="Reply-To: ".$_POST['email']."\nContent-Type: text/plain;charset=iso-2022-jp\nX-Mailer: PHP/".phpversion();
- }
- if($chmail == 0 || $sendm == 1) {
- mail($to,$sbj,$body,$header);
- if($remail == 1) { mail($reto,$resbj,$rebody,$reheader); }
- }
- else { htmlHeader();
- <!--- 送信確認画面のレイアウトの編集 --- 開始 ------------->
- <p>以下の内容で間違いがなければ、「送信する」ボタンを押してください。</p>
- <FORM action=" echo $script; " method="POST">
- echo $err_message;
- <TABLE border=1>
- foreach($_POST as $key=>$var) {
- $key = strtr($key, $string_from, $string_to);
- if(get_magic_quotes_gpc()) $var = stripslashes($var);
- $var = htmlspecialchars($var);
- print("<TR><TH>".$key."</TH><TD>".$var);
- <INPUT type="hidden" name=" $key " value=" $var ">
- print("</TD></TR>\n");
- }
- </TABLE>
- <INPUT type="hidden" name="eweb_set" value="eweb_submit">
- <INPUT type="submit" value="送信する">
- <INPUT type="button" value="前画面に戻る" onClick="history.back()">
- </FORM>
フォーム内のチェックボックスの値を取得 surerura [03月09日 17時40分] コメント一覧
| レンタルサーバー上のPHPプログラ... | 質問一覧 | 週間カレンダーについて |




