質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.75%

  • PHP

    19178questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • JavaScript

    15277questions

    JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

  • HTML

    8300questions

    HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

  • WordPress

    6654questions

    WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

複数日程のフォーム登録

受付中

回答 2

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 136

naonao11

score 44

登録フォームで複数日(例:4月21日、4月23日、4月26日を一気に)登録したいのですが、日程のみ登録できません。NULLが返ってきます。
他のformタグで作成しているためでしょうか、この場合について調べてみたのですが腑に落ちることが書かれていません。。。
お力をお借りしたく思います。

日程については
配列で入れています。

以下、登録フォームのファイルです。

<div class="wrap2" style="margin: 200px 0 0 600px">
    <h1>イベント登録</h1>
       <div id="primary" class="content-area">
             <main id="main" class="site-main" role="main">
            <form action=<?php echo get_permalink( get_page_by_title("confirm") ); ?> name="event" method="post">
                <div>
                       <p style="font-size:25px">イベント種類</p>
                           <select name="eventKind" style="font-size:30px">
                            <option>---</option>
                            <option value="1">イベントA</option>
                                 <option value="2">イベントB</option>
                            <option value="3">イベントC</option>
                           </select>
                </div>
                <div>
                        <p style="font-size:25px">時間</p>
                        <input type="time" name="startTime" step="600" value="" style="font-size:30px">
                        <span></span>
                        <input type="time" name="endTime" step="600" value="" style="font-size:30px">
                  </div>
                  <div>
                        <p style="font-size:25px">枠数</p>
                        <input type="text" name="capacity" value="" style="font-size:30px"> 人 
                  </div>
                  <div>
                         <p style="font-size:25px">会場</p>
                         <select name="place" style="font-size:30px">
                         <option>---</option>
                               <option value="1">天王寺</option>
                           <option value="2">京橋</option>
                             <option value="3">梅田</option>
                           <option value="10">大阪</option>
                       </select>
                  </div>
                    <input type="submit" id="regestar" name="submit" value="登録ボタン" style="font-size:30px;float:right; margin-right:600px">
            </form>
            <form id="dateCalender" method="post">
                <input type="hidden" id="date" name="date" >
                <p style="font-size:25px">日付<p>
                <div class="mycalendar"></div>
                <input type="hidden" name="enterDate" id="enterDate" value="">
            </form>
        </main><!-- #main -->
        <p><a href="http://localhost">もとに戻る</a></p>
        <p><a href="http://localhost/wp-admin/">wordpress編集画面</a></p>
     </div><!-- #primary -->
 </div><!-- .wrap -->

<style type="text/css">
.mycalendar {
    overflow:hidden;
}
table{
    border: #dddddd solid 1px;
    border-collapse: collapse;
    line-height:1em;
    float: left;
    margin: 5px;
}
table th{
    border: #dddddd solid 1px;
    background-color: #162F6B;
    padding: 5px;
    color: #FFFFFF;
    font-size: 0.9em;
}
table td{
    border: #dddddd solid 1px;
    padding:10px;
    text-align: right;
    cursor: pointer;
}
table td:hover{
    background-color: #FFF09E;
}
.calendar_button a{
    color: #FFFFFF;
    text-decoration: none;
    font-weight: normal;
    display: inline-block;
    background-color: #878787;
    padding: 5px;
    border-radius: 3px;
}
.calendar_button a:hover{
    background-color: #9E9E9E;
}
</style>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src="http://studio-key.com/Sample/MyPlugin/CheckCalendar/check.calendar...."></script>

<script type="text/javascript">
$(function(){

    var today = new Date();
    var thisYear = today.getFullYear();
    var lastMonth = today.getMonth() + 1;

$('.mycalendar').cehckcalendar({
    'start' : thisYear + '-' + lastMonth,
    'week' : ["日", "月", "火", "水", "木", "金", "土"],
    'roop' : 3,
    'prefix' : 'neko_',
    'delimiter' : '-',
    'td_on' : '#BE8EB5',
    'td_off' : '#FFFFFF',
    'send' : 'date'
});

//保存 (送信)
    $("#regestar").on("click", function(){
        if ($("#date").val()==""){
            alert("送信すべきデータがありません。");
            return;
        }
    });
});
</script>

<?php
if ( isset($_POST['enterDate']) ){
    $task = $_POST['enterDate'];
    if(!empty($task)){
        file_put_contents('days.txt', $_POST['date']);
    }
}

if (file_exists('days.txt')) {
    $resdays = file_get_contents('days.txt');
    $array = explode(',', $resdays);
    $str = '"' . implode('","', $array) . '"';
}
?>

以下、確認画面のフォームです。

<?php
if(isset($_POST['submit'])) {
     $_SESSION['eventKind'] = $_POST['eventKind'];
     $_SESSION['enterDate'] = $_POST['enterDate'];
     $_SESSION['startTime'] = $_POST['startTime'];
     $_SESSION['endTime'] = $_POST['endTime'];
     $_SESSION['capacity'] = $_POST['capacity'];
     $_SESSION['place'] = $_POST['place'];
     $_SESSION['submit'] = $_POST['submit'];
 }
 var_dump($_POST['date']);
?>

<table rules="all" border="border">
    <tr>
        <th>イベント名</th><td><p><?php echo htmlspecialchars($_SESSION['eventKind']); ?></p></td>
    </tr>
    <tr>
        <th>日付</th><td><p>
          <? foreach ($_SESSION['enterDate'] as $value){
                $date = htmlspecialchars($value)." ";
           };
           echo $date;
          ?>
        </p></td>
    </tr>
    <tr>
        <th>時間</th><td><p><?php echo htmlspecialchars($_SESSION['startTime']); ?><?php echo htmlspecialchars($_SESSION['endTime']); ?></p></td>
    </tr>
    <tr>
        <th>枠数</th><td><p><?php echo htmlspecialchars($_SESSION['capacity']); ?></p></td>
    </tr>
    <tr>
        <th>会場</th><td><p><?php echo htmlspecialchars($_SESSION['place']); ?></p></td>
    </tr>
</table>

<center><span>
    <button class="submit" type="button" onclick="location.href='contact'">修正</button>
    <button class="submit" type="button" onclick="location.href='complete'">完了</button>
</span></center>
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • naonao11

    2018/04/18 08:28

    なるほど。。。昨日いじって値は反映されるようになったので今回はそれを使ってみます!本当に親切にありがとうございます!

    キャンセル

  • mts10806

    2018/04/18 08:53

    あとは本質問の落としどころですね・・。回答もついてきているので、「ゴール」をもう少し明確に質問に書いてみてください。今現在の内容だけだとおそらく回答のもので良いのですが、ここのコメント欄で色々進んでいるようにも思うので。

    キャンセル

  • naonao11

    2018/04/18 09:42

    かしこまりました、ゴールをうまく伝えれるようにしておきます!

    キャンセル

回答 2

+2

他のformタグで作成しているためでしょうか、

このとおりです。
submitしたbuttonやinput[type=submit]を内包するformのみのデータしかリクエストされないためです。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

UI次第でしょうけど、たとえばセレクトボックスをつかって
複数の日付をおくるときはこんな感じ

<form method="post">
<select name="date[]" multiple size="10">
<option value="2018-04-20">4/20</option>
<option value="2018-04-21" selected>4/21</option>
<option value="2018-04-22">4/22</option>
<option value="2018-04-23" selected>4/23</option>
<option value="2018-04-24">4/24</option>
<option value="2018-04-25">4/25</option>
<option value="2018-04-26" selected>4/26</option>
</select><br>
<input type="submit" value="go">
</form>
<?PHP
$date=filter_input(INPUT_POST,"date",FILTER_DEFAULT,["options"=>["default"=>[]],"flags"=>FILTER_REQUIRE_ARRAY]);
print_r($date);
?>

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.75%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • PHP

    19178questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • JavaScript

    15277questions

    JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

  • HTML

    8300questions

    HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

  • WordPress

    6654questions

    WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。