メールフォームのチェックボックスの値をPOSTでキャッチする方法について

このQ&Aのポイント
  • PHP初心者がメールフォームのチェックボックスの値をPOSTでキャッチし、表示させる方法について教えてください。
  • メールフォームのチェックボックスの値をPOSTで取得した後、値を表示させるための処理方法を教えてください。
  • PHPでメールフォームのチェックボックスからの値を取得し、表示させる方法を教えてください。
回答を見る
  • ベストアンサー

メールフォームについて質問です。

php初心者です。 メールフォームのチェックボックスの値をPOSTでキャッチしたあと表示がしたいのですがうまくいきません。 他のPOSTでキャッチした値も、最終的にforeachで回しています。 チェックボックスからの値のみ「array」と出力されます。 多次元配列の値を並列に表示したい場合、どのような処理の考え方があるのか教えていただきたいです。 送信元 <form action="entry.php" method="post"> <dl> <dt>氏名 <span class="red">[必須]</span></dt> <dd><input type="text" name="氏名"></dd> </dl> <dl> <dt>フリガナ <span class="red">[必須]</span></dt> <dd><input type="text" name="フリガナ"></dd> </dl> <dl> <dt>メールアドレス <span class="red">[必須]</span></dt> <dd><input type="text" name="メールアドレス" style="white-space:nowrap;"></dd> </dl> <dl> <dt>参加内容</dt> <dd><input type="checkbox" value="値1" name="参加内容[]">値1</dd> <dd><input type="checkbox" value="値2" name="参加内容[]">値2</dd> </dl> <dl> <dt>個人情報保護方針 <span class="red">[必須]</span><br /><input type="checkbox" class="checkbox" name="個人情報保護方針">同意する</dd> </dl> <p class="contactBt"><input type="submit" value="確認ページ" /></p> </form> 【送信先】 $_POSTSTRINGCODE = "EUC-JP"; $_THISFILESTRING = "UTF-8"; $_MYPOST = ""; foreach($_POST as $key=>$var) { //mb_convert_variables($_THISFILESTRING, $_POSTSTRINGCODE, $key); //smb_convert_variables($_THISFILESTRING, $_POSTSTRINGCODE, $var); $_MYPOST[$key] = $var; } <dl> <?php unset( $_MYPOST['個人情報保護方針'] ); foreach($_MYPOST as $key=>$var) { $key = strtr($key, $string_from, $string_to); if(get_magic_quotes_gpc()) $var = stripslashes($var); $var = htmlspecialchars($var); $OUT_var = ($var == "")?'&nbsp;&nbsp;':nl2br($var); print("<dt>".$key."</dt><dd>".$OUT_var."</dd>"); ?> <INPUT type="hidden" name="<?php echo $key ?>" value="<?php echo $var ?>"> <?php print("</dt></dd>\n"); } ?> </dl> 配列はこんな感じです。 array(6) { ["所属団体"]=> string(1) "a" ["氏名"]=> string(2) "aa" ["フリガナ"]=> string(3) "ア" ["メールアドレス"]=> string(15) "aaa@aaa.co.jp" ["ご参加内容"]=> array(2) { [0]=> string(51) "値1" [1]=> string(15) "値2" } ["個人情報保護方針"]=> string(2) "on" } このまま表示させると「array」として表示されてしまうため「値1」「値2」の値を表示 させるためループ内で色々やってみましたが、考え方自体少しつかめていません。   【現状】 所属団体 a 氏名 aa フリガナ ア メールアドレス aaa@aaa.co.jp ご参加内容 Array (この場所に「値1」「値2」が表示させるようにしたいです) どなたかご教授いただければと思います。 よろしくおねがいいたします。

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

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

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

配列の要素が配列だったときにどう扱うかというだけの問題ですよね? 深くなる場合には再帰なども使いますが今回の$_POSTの配列は最大でも二次元配列までと既知ですから、配列だったら値をimplodeしてしまえばいいのでは? foreach($_POST as $key=>$var) { if (is_array($var)) { $_MYPOST[$key] = implode(',', $var); } else { $_MYPOST[$key] = $var; } }

paranoaman
質問者

お礼

このサイトの使い方が分からずお礼もせぬまま放置してしまいました。 申し訳ありません。 アドバイスありがとうございました! おかげで解決することが出来ました!

関連するQ&A

  • フォームデータの内容が確認画面で反映されません。

    フォームデータの内容が確認画面で反映されません。当方素人ですので優しくお答えいただけますと幸いです。 まず入力画面がこちら。 <dt>御社名 <span class="must">&#8251;必須</span></dt> <dd><input type="text" class="inputs" name="company_name" placeholder="例)wash life" value="<?php echo form_field["company_name"]; ?>"></dd> <dt>住所 <span class="must">&#8251;必須</span></dt> <dd><input type="text" class="inputs" name="aaa" placeholder="例)大阪市中央区" value="<?php echo $form_field["aaa"]; ?>"></dd> <dt>購入代理店名又は担当者名<span class="must">&#8251;必須</span></dt> <dd id="_field_your_name"><input type="text" class="inputs" name="your_name" value="<?php echo $form_field["your_name"]; ?>" placeholder="例)田中太郎"></dd> <dt>お名前<span class="must">&#8251;必須</span></dt> <dd id="_field_user_name"><input type="text" class="inputs" name="user_name" value="<?php echo $form_field["user_name"]; ?>" placeholder="例)山田太郎" value=""></dd> そして確認画面がこちら。 <dt>御社名</dt> <dd><?php echo h($form_field['company_name']);?></dd> <dt>住所</dt> <dd><?php echo h($form_field['aaa']);?></dd> <dt>購入代理店名又は担当者名</dt> <dd><?php echo h($form_field['your_name']);?></dd> <dt>お名前</dt> <dd><?php echo h($form_field['user_name']);?></dd> 御社名とお名前は入力した文字が確認画面で反映されるのですが、他の2つは反映されません。 どなたかよろしくお願いいたします。

    • 締切済み
    • PHP
  • PHPを勉強しながらメールフォームの作成をしています。

    PHPを勉強しながらメールフォームの作成をしています。 PHPは初心者です。 ご質問なのですが、メールフォームでinput type="hidden"で値の受け渡しをしたいと思っています。 SESSIONなどありますが、こちらはのちのち勉強していきます。 まずメールフォームから確認画面を表示する流れにしていきたいのですが、ここでご質問があります。 ソースは下記のとおりになります。 <!-- index.php --> <form action="comfirm.php" method="post"> <dl> <dt>名前</dt> <dd><input type="text" name="name" value="" /></dd> <dt>性別</dt> <dd> <input type="radio" name="sex" value="男" />男 <input type="radio" name="sex" value="女" />女 </dd> <dt>カテゴリ</dt> <dd> <select name="category"> <option value="サッカー">サッカー</option> <option value="野球">野球</option> <option value="バスケ">バスケ</option> <option value="バレー">バレー</option> </select> </dd> </dl> <input type="hidden" name="contact" value="form" /> <input type="submit" value="送信" /> </form> としており、 <!-- comfirm.php --> <?php $name = $_POST['name']; $sex = $_POST['sex']; $category = $_POST['category']; ?> <html> <body> <dl> <dt>名前</dt> <dd><?php echo $name; ?></dd> <dt>性別</dt> <dd><?php echo $sex; ?></dd> <dt>カテゴリ</dt> <dd><?php echo $category; ?></dd> </dl> </body> </html> となっております。 ここでconfirm.phpに渡る際ににエラー表示をしたいのですが、記述の仕方がどうもわかりません・・・ confirm.phpに渡るときに名前が記入されていなかったらindex.phpに名前が記入されていませんと表示させたいのですがどなたかご教授いただけませんでしょうか? 初心者のため、わからないことがあると思いますが、いろいろと教えていただけたら幸いです。 宜しくお願いいたします。

    • ベストアンサー
    • PHP
  • PHPによるアンケートの項目追加

    質問投稿させていただきます。 急遽仕事でPHPのアンケートの項目を追加することになったのですが PHPは全くの素人で困っています。 既存のアンケートに項目を追加したいのですが <h2>アンケートフォーム</h2> <form action="question2.php" method="post"> <dl class="clearfix"> <dt>性別は?</dt> <dd> <?php $male = '男性'; $female = '女性'; $number = array('1', '2'); echo ' <label><input type="radio" name="gender" value="' . $number[0] . '" />' . $male . '</label>' . "\n"; echo ' <label><input type="radio" name="gender" value="' . $number[1] . '" />' . $female . '</label>' . "\n"; ?> </dd> <dt>年齢は?</dt> <dd> <label> <select name="age"> <option value="0" selected="selected">選択してください</option> <?php for ($num = 1; $num <= 4; $num++) { echo ' <option value="' . $num . '">' . $num . '0代</option>' . "\n"; } ?> <option value="5">50代以上</option> </select> </label> </dd> <dt>趣味は?</dt> <dd class="hobby-area"> <?php $hobby = array(1 => '音楽鑑賞', 2 => '映画鑑賞', 3 => 'ドライブ', 4 => '旅行', 5 => 'その他'); foreach ($hobby as $key => $value) { echo ' <label><input type="checkbox" name="hobby[' . $key . ']" value="' . $key . '" />' . $value . '</label>' . "\n"; } ?> </dd> </dl> <p> <input type="submit" value="投票する" /> </p> </form> この文に <dt>趣味は?</dt> <dd class="hobby-area"> <?php $service = array(1 => 'あああ', 2 => 'あああ', 3 => 'あああ', 4 => 'あああ', 5 => 'あああ'); foreach ($service as $key => $value) { echo ' <label><input type="checkbox" name="service[' . $key . ']" value="' . $key . '" />' . $value . '</label>' . "\n"; } ?> </dd> </dl> このように項目を増やしたいのですがなぜか追加した項目の確認ページで Warning: Invalid argument supplied for foreach() in ~ と表示され echo '<dt>サービスは?</dt>'; echo '<dd>'; foreach ($service as $value) { switch ($value) { case 1: echo 'あああ<br />'; break; case 2: echo 'あああ<br />'; break; case 3: echo 'あああ<br />'; break; case 4: echo 'あああ<br />'; break; case 5: echo 'あああ<br />'; break; } } echo '</dd>'; この部分にエラーがあると表示されてしまいます。 これは$serviceに値がうまくいっていないということでしょうか? 素人の質問なので足りない処などあると思いますが よろしければ御回答ください。 よろしくお願い致します。

    • ベストアンサー
    • PHP
  • チェックボックスがundefinedと表示します

    下記のように入力すると、チェックボックスがundefinedと表示されてしまいます。 どのように変更すればよいのでしょうか? 教えてください <script type="text/javascript"> <!-- function CheckForm() { //****************送信内容の取得**************** var data = new Array(); var namesArray = new Array( 'Name', 'Sex', 'Age', 'Address' , 'Tel', 'Email'); var f = document.forms[0]; for (var i in namesArray) { var n = namesArray[i]; if (n == 'Sex') { data[n] = ''; for (var j = 0; j < f[n].length; j++) { if (f[n][j].checked) { data[n] = f[n][j].value; break; } } } else { data[n] = f[n].value; } } //****************名前のチェック**************** if (data.Name.length == 0) { alert('名前が入力されていません。'); f.Name.focus(); return false; } //***********確認ダイアログによる確認*********** return confirm('下記の内容で送信して' + 'よろしいですか?\n\n' + '選んでください:\t\t' + data.Course1 + '\n' + data.Course2 + '\n' + data.Course3 + '\n' + '名前:\t\t' + data.Name + '\n' + '性別:\t\t' + data.Sex + '\n' + '年齢:\t\t' + data.Age + '\n' + '住所:\t\t' + data.Address + '\n' + '電話番号:\t' + data.Tel + '\n' + 'E-Mailアドレス:\t' + data.Email); } //--> </script> <form action="/kantan-cgi/formmail.pl?id=*********" method="post" onSubmit="return CheckForm();"> <dl> <dt><span class="mainBp">【選んでください】</span></dt> <dd><input type="checkbox" name="Course1" value="コース1" />コース1 <input type="checkbox" name="Course2" value="コース2" />コース2 <input type="checkbox" name="Course3" value="コース3" />コース3</dd> <dt>名前(必須)</dt> <dd><input type="text" name="Name" /></dd> <dt>性別</dt> <dd> <input type="radio" name="Sex" value="男性" />男 <input type="radio" name="Sex" value="女性" />女 </dd> <dt>年齢</dt> <dd><input type="text" name="Age" size="2" /></dd> <dt>住所</dt> <dd><input type="text" name="Address" size="70" /></dd> <dt>電話番号</dt> <dd><input type="text" name="Tel" /></dd> <dt>E-Mailアドレス</dt> <dd><input type="text" name="Email" size="50" /></dd> </dl> <input type="submit" value="送信" /> </form>

  • メールフォームについて質問です。

    メールフォームを作成したのですが、今まではメールフォームから送ると、受け取り用のアドレスでは送信者の名前が各々表示されていたのですが、現在、受け取り用のメーラーではpiyo@hoge.co.jp(当社のアドレス)から送られてくる様になりました。 したがって、受信メッセージがまとまってしまいます。 説明が難しいので画像を添付します。 画像は受け取り用のメールソフトです。 4 と表示されていますが、これがまとまっている状況です。 メールが送られてくるたびに5,6,7...と増えて行きます。 これはどのように解消すればよいのでしょうか。 お力添えの程よろしくお願いいたします。 <form action="http://www.piyo.co.jp/CGI/postmail/postmail.cgi" method="post"> <input type="hidden" name="match" value="e-mail e-mail2" /> <input type="hidden" name="need" value="お名前 フリガナ e-mailアドレス 確認用アドレス プライバシーポリシーに同意 送信内容" /> <input type="hidden" name="mailto" value="piyo@hoge.co.jp" /> <input type="hidden" name="subject" value="お名前" />■お名前<span class="red">【必須】</span><br /> <input type="text" name="お名前" size="45" maxlength="50" /><span class="sitemap_link">例:山田 太郎</span><br /> ■カナ<span class="red">【必須】</span><br /> <input type="text" name="フリガナ" size="45" maxlength="50" /><span class="sitemap_link">例:ヤマダ タロウ</span><br /> <br /> ■幼稚園名 / 会社名<br /> <input type="text" name="会社名" size="45" maxlength="50" /><span class="sitemap_link">例:株式会社山田</span><br /> <br /> ■E-mail アドレス<span class="red">【必須】</span><br /> <input type="text" name="e-mailアドレス" size="45" maxlength="50" /><span class="sitemap_link">例:xxx@xxx.co.jp</span><br /> ■E-mail アドレス (再度入力)<span class="red">【必須】</span><br /> <input type="text" name="確認用アドレス" size="45" maxlength="50"/><span class="sitemap_link">例:xxx@xxx.co.jp</span> <br /> <br /> ■お問い合わせ内容をご記入ください<span class="red">【必須】</span><br /> <textarea name="送信内容" rows="8" cols="70"></textarea> <br /> <input id="checkboxPrivacy" name="プライバシーポリシーに同意" value="プライバシーポリシーに同意します" type="checkbox" /><span class="sitemap_link2">プライバシーポリシーに同意する<span class="red">【必須】</span></span><br /> <br /> <input type="submit" value="送信" /> <input type="reset" value="リセット" /> よろしくお願いいたします。

    • ベストアンサー
    • HTML
  • JSPでショッピングサイト(会員登録画面実装)

    表題のように、新規会員登録画面を作成しています。 1.新規会員登録画面 #名前などの各項目入力フォーム(テキストボックス) #会員登録ボタン押下で2.へ ↓ 2.入力情報確認画面 #前の画面から名前などの各項目を受け取り、表示させる #会員登録ボタン押下で3.へ ↓ 3.データベースに追加jsp #前の画面から名前などの各項目を受け取ってデータベースに追加し、4.へ ↓ 4.登録ありがとうございます画面 #ありがとうございますmes表示とトップへ戻るリンク こんな感じの流れで作成していますが、 画面の表示的には上手くいってるように見えますが データベースの中身を見ると全てnullになってしまっています。 2.で一旦入力内容を表示させてっていうのを省くと 上手くデータベースに追加されます。 2.と3.のパラメータから取得しているlast_nameなどの表記が一緒なのが原因ではと思い 3.の方を下記に変更しても同じ結果でした。 3.変更前 String strLast_name=request.getParameter("last_name"); 3.変更後 String last_name=request.getParameter("strLast_name"); ソースコードは下記に載せますので、ご教示お願いします。 1.新規会員登録画面-------------------------------------- <!--jsp、HTMLのヘッダーがあります--> <form action="add_member_confirmation.jsp" method="post"> <dl class="dl-contact"> <dt><label>お名前 </label><span>(必須)</span></dt> <dd>姓 <input type="text" name="last_name" size="10" /> 名 <input type="text" name="first_name" size="10" /></dd> <br> <dt><label>お名前(カタカナ) </label><span>(必須)</span></dt> <dd>セイ <input type="text" name="last_name_kana" size="10" /> メイ <input type="text" name="first_name_kana" size="10" /></dd> <br> <dt><label>メールアドレス </label><span>(必須)</span></dt> <dd><input type="text" name="mail" size="50" placeholder="aaa@bbbbb.com"/></dd> <br> <dt><label>郵便番号 </label><span>(必須)</span></dt> <dd><input type="text" id="zip_1" name="zip_1" size="2" maxlength="3" placeholder="123"/> - <input type="text" id="zip_2" name="zip_2" size="3" maxlength="4" placeholder="4567"/></dd> <br> <dt><label>都道府県 </label><span>(必須)</span></dt> <dd><select id="address_1" name="prefecture"> <option value="北海道">北海道</option> <option value="沖縄県">沖縄県</option> </select><br /></dd> <br> <dt><label>市町村 </label><span>(必須)</span></dt> <dd><input type="text" id="address_2" name="city" size="50"/></dd> <br> <dt><label>番地など </label><span>(必須)</span></dt> <dd><input type="text" id="address_3" name="address" size="50"/></dd> <br> <dt><label>アパート・ビル名等 </label><span>(必須)</span></dt> <dd><input type="text" name="apartment" size="50"/></dd> <br> <dt><label>電話番号 </label><span>(必須)</span></dt> <dd><input type="text" name="tel" size="50" placeholder="00-0000-0000"/></dd> <br> <dt><label>パスワード </label><span>(必須)</span></dt> <dd><input type="password" name="password_1" size="50"/></dd> <br> <dt><label>パスワード(確認) </label><span>(必須)</span></dt> <dd><input type="password" name="password_2" size="50"/></dd> <dd class="clear"><input type="submit" value=" 新規会員登録 " />&nbsp;<input type="reset" value=" リセット " /></dd> </dl> </form> <br> <h2 class="member-title">Test Shop利用規約</h2> <textarea id="" name="textarea" cols="95" rows="30" readonly> Test Shop利用規約 </textarea> </div> <!-- HTMLのフッターがあります --> ---------------------------------------------------------

    • ベストアンサー
    • CSS
  • 【PHP】メールフォームの連動するセレクトボックス

    メールフォームを作っているのですが、 連動するセレクトボックスにおいて、 自動返信メールに内容が思った様に記載されません。 複数のチェックボックがあり、それぞれに連動して、 セレクトボックス1でサイズを選び、セレクトボックス2で数を選ぶようになっています。 ソースは最後に記載しますが、希望する返信メールの形は以下の通りです。 ーーーーーー現在ーーーーーー 【色 / サイズ / 数量】 S 1個 L 2個 S 3個 【料金】 (表示なし) ーーーーーー希望ーーーーーー 【色 / サイズ / 数量】 レッド S 1個 ブルー L 2個 イエロー S 3個 【料金】 S × 4個:600円 =1,800円 L × 2個:900円 =1,800円 ご教示のほど、お願い致します。 以下、ソースです。 <dt>色</dt> <dd> <label class="color"><input type="checkbox" name="color[]" id="color_01" value="レッド">レッド</label> </dd> <dd> <select class="parent" name="size_01"> <option value="" class="msg" selected>サイズを選択</option> <option value="S">S:600円</option> <option value="L">L:900円</option> </select> </dd> <dd> <select class="children" name="number_01"> <option value="0" class="msg" selected>0</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> </select><br> </dd> <dd> <label class="color"><input type="checkbox" name="color[]" id="color_01" value="ブルー">ブルー</label> </dd> <dd> <select class="parent" name="size_02"> <option value="" class="msg" selected>サイズを選択</option> <option value="S">S:600円</option> <option value="L">L:900円</option> </select> </dd> <dd> <select class="children" name="number_02"> <option value="0" class="msg" selected>0</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> </select><br> </dd> <以下、他の色が同様に続きます> <dt>料金</dt> <dd class="required"> <div id="result"> S:合計<span class="s maisu" name="sum_s_n" value="0">0</span>個 × 600円 = <span class="s kingaku" name="sum_s_p" value="">0</span>円<br> L:合計<span class="a maisu" name="sum_a_n">0</span>個 × 900円 = <span class="all kingaku" name="sum_all">0</span>

    • ベストアンサー
    • PHP
  • 動的に作ったチェックボックスが選択できません!!

    こんにちは 閲覧ありがとうございます。 タイトルの通り、HTMLのcheckboxをjQuery/javascriptで動的に作ったのですが、動かなくて困っています。 単純に一つ一つcreateElement()で作った場合は大丈夫なのですが、作りたいものが入れ子になった状態です。 まず、作りたいものをHTMLで書くと以下になります。 <div class="input-checkbox"> <span class="kintoneplugin-input-checkbox-item"> <input type="checkbox" name="checkbox" value="value*****" id="id*****"> <label for="id*****">チェックボックス1</label> </span> </div> そして、次にこの形を動的に作ろうとしたものが以下です。 上のHTMLの<div class="input-checkbox">はあるという前提で、その子に動的に作った要素を入れようとしています。 arrayとあるのは、この内容をfor文で回すためです。 //1.span要素作成 var checkSpan = document.createElement('span'); checkSpan.className = "input-checkbox-item"; //2.checkbox作成 var viewCheckBox = document.createElement('input'); viewCheckBox.type = "checkbox"; viewCheckBox.name = "checkbox"; viewCheckBox.id = array2[k]; viewCheckBox.value = array2[k]; viewCheckBox.disabled=""; //3.ラベル作成 var viewLabel = document.createElement("label"); viewLabel.for = array2[k]; viewLabel.id = "label_"+k; viewLabel.innerHTML = array[k]; 4.//追加 $('.input-checkbox').append($(checkSpan).append(viewCheckBox).append(viewLabel)); 上記の内容で実行すると、チェックボックスとそのラベルは表示されるのですが、チェックボックスが編集不可というか、、チェックできないのです。 disabledの指定などもしてみたのですが、うまくいきませんでした。 どうやったらチェックをできるようになるでしょうか>< プログラミング初心者なので、変なところとかがあったらすいません。。。 よろしくお願いします!!

  • メールフォームについて

    ​いつもお世話になってます。 http://php.eweb-design.com/1301_mail.html​ のアンケートフォームのサンプル(sample1)で勉強しています。 確認画面で表示した内容を最後の送信完了画面でも再度表示しているのですが最後の行にeweb_sub{ :eweb_submitと表示されるのですがこの表示を消したいのですが、どのようにすればよいのでしょうか?またこのソースで確認画面以降にも確認した内容を表示することはできるのでしょうか? <?php header("Content-Type:text/html;charset=Shift_JIS"); ?> <?php 省略 <?php htmlFooter(); exit(0); } } if($chmail == 0 || $sendm == 1) { mail($to,$sbj,$body,$header); if($remail == 1) { mail($reto,$resbj,$rebody,$reheader); } } else { htmlHeader(); ?> <FORM action="<? echo $script; ?>" method="POST"> <? echo $err_message; ?> <TABLE width="400" bgcolor="#cccccc" cellspacing="1" cellpadding="3"> <?php 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 bgcolor=#ffffff><TD bgcolor=#eeeeee>".$key."</TD><TD>".$var); ?> <INPUT type="hidden" name="<?= $key ?>" value="<?= $var ?>"> <?php print("</TD></TR>\n"); } ?> </TABLE> <BR> <INPUT type="hidden" name="eweb_set" value="eweb_submit"> <INPUT type="submit" value="送信する"> <INPUT type="button" value="前画面に戻る" onClick="history.back()"> </FORM> <FORM action="<? echo $script; ?>" method="POST"> <? echo $err_message; ?> <TABLE width="400" bgcolor="#cccccc" cellspacing="1" cellpadding="3"> <?php 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 bgcolor=#ffffff><TD bgcolor=#eeeeee>".$key."</TD><TD>".$var); ?> <INPUT type="hidden" name="<?= $key ?>" value="<?= $var ?>"> <?php print("</TD></TR>\n"); } ?> </TABLE> <BR> <INPUT type="hidden" name="eweb_set" value="eweb_submit"> <INPUT type="submit" value="送信する"> <INPUT type="button" value="前画面に戻る" onClick="history.back()"> </FORM> <!--- 終了 ---> <?php htmlFooter(); } if(($jpage == 0 && $sendm == 1) || ($jpage == 0 && ($chmail == 0 && $sendm == 0))) { htmlHeader(); ?> <!--- 送信終了画面のレイアウトの編集 --- 開始 -------------> <font size="16px">送信完了</font><br> ありがとうございました。<BR> 以下の内容で送信は無事に終了しました。<BR><BR> --------------追加項目-------------------------------- <TABLE width="400" bgcolor="#cccccc" cellspacing="1" cellpadding="3"> <?php 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 bgcolor=#ffffff><TD bgcolor=#eeeeee>".$key."</TD><TD>".$var); ?> <?php print("</TD></TR>\n"); } ?> </TABLE> 以下省略

    • 締切済み
    • PHP
  • wordpress 検索フォームと結果を同ページで

    wordpressで検索フォームと検索結果を作成しています。 検索フォームは <form action="<?php echo home_url(); ?>" method="get"> <dl> <dt> お部屋のタイプ</dt> <dd> <?php wp_dropdown_categories(array( 'show_option_all' => '全てのタイプ' )); ?></dd> <dt> こだわり検索</dt> <dd> <?php $terms = get_terms('good'); foreach ($terms as $term): ?> <label> <input type="radio" name="good" value="<?php echo esc_attr($term->slug); ?>"> <?php echo esc_html($term->name); ?></label> <?php endforeach; ?> </select> </dd> <dt> キーワード</dt> <dd> <input type="text" value="" name="s" /> </dd> </dl> <input type="submit" value="この内容で検索!" /> </form> としています。 検索結果は「search.php」を作り <div id="wrapper"> <h4 class="h4_search">★検索結果</h4> <div id="content"> <section> <?php if (is_search()) : ?> <?php endif; ?> <?php if (have_posts()) :?> <div class="postWrap"> <?php while (have_posts()) : the_post(); ?> <article id="post-<?php the_ID(); ?>"> <div class="search"> <header> <h5><a href="<?php the_permalink(); ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><span><?php the_title(); ?></span></a></h5> <a href="<?php the_permalink(); ?>"> <?php the_post_thumbnail(); ?></a> <?php echo mb_substr(get_the_excerpt(),0, 50);?> <a href="<?php the_permalink();?>">&emsp;…&nbsp;続きを読む</a> </header> </div> <?php endwhile; ?> </div> <?php endif; ?> としています。 このままでは、検索フォームのあるページから別のページ(search.php)に飛んで検索結果が出ます。 ここで、検索結果を検索フォームのあるページ内で表示したいと思っております。 検索フォームに入力し、submitボタンを押すと、そのすぐ下に検索結果がずらりと表示できるようにしたいです。 このようなことは可能でしょうか? できればプラグインを使わずに実現したいので、コードを教えていただければ有難いです。 何卒よろしくお願いします。

    • ベストアンサー
    • PHP

専門家に質問してみよう