wordpressの固定ページ内にpage-01.php、page-registar.phpを追加しました。
【理想】
page-01.phpのformでデータを取得し、page-registar.phpで確認そしてデータベース内にデータの送信を行いたいのです。
データベース名:a-cen
テーブル名 :event_information
データベース内のデータの型については
event_id (int)
date (date)
start_time (time)
end_time (time)
capacty (int)
place (int)
です。
パーマリンクについて
form画面の方がhttp://localhost/gnavi/
保存画面の方がhttp://localhost/registar/
で設定しています。
page-01.phpを以下に載せます。
php
1<form action="page-registar.php" method="post"> 2 <div> 3 <p style="font-size:25px">イベント種類</p> 4 <select name="eventKind" style="font-size:30px"> 5 <option>---</option> 6 <option value="1">イベントA</option> 7 <option value="2">イベントB</option> 8 <option value="3">イベントC</option> 9 </select> 10 <p style="font-size:25px">日付</p> 11 <input type="date" name="date" value="" style="font-size:30px"> 12 <span>~</span> 13 <input type="date" name="date2" value="" style="font-size:30px"> 14 </div> 15 <div> 16 <p style="font-size:25px">時間</p> 17 <input type="time" name="time" step="600" value="" style="font-size:30px"> 18 <span>~</span> 19 <input type="time" name="time2" step="600" value="" style="font-size:30px"> 20 </div> 21 <div> 22 <p style="font-size:25px">枠数</p> 23 <input type="text" name="capacity" value="" style="font-size:30px"> 人 24 </div> 25 <div> 26 <p style="font-size:25px">会場</p> 27 <select name="place" style="font-size:30px"> 28 <option>---</option> 29 <option value="1">本町</option> 30 <option value="2">天王寺</option> 31 <option value="3">京橋</option> 32 <option value="10">大阪</option> 33 </select> 34 </div> 35 <input type="submit" value="登録ボタン" style="font-size:30px;float:right; margin-right:600px"> 36 </form>
以下にpage-registar.phpのコードを載せます。
php
1 <main id="main" class="site-main" role="main"> 2 <?php 3 global $wpdb; 4 if ($_SERVER['REQUEST_METHOD'] !== 'POST') { 5 header('Location: http://'. $_SERVER['HTTP_HOST'] . '/index.html'); 6 exit; 7 }else { 8 9 $eventKind = (string)filter_input(INPUT_POST, 'eventKind'); 10 $date = (string)filter_input(INPUT_POST,'date'); 11 $time = (string)filter_input(INPUT_POST,'time'); 12 $time2 = (string)filter_input(INPUT_POST,'time2'); 13 $capacity = (string)filter_input(INPUT_POST,'capacity'); 14 $place = (string)filter_input(INPUT_POST,'place'); 15 16 try { 17 $db_user = $wpdb->dbuser; 18 $db_passwd = $wpdb->dbpassword; 19 $db_host = $wpdb->dbhos; 20 $db_name = 'a-cen'; 21 $another_wpdb = new wpdb($db_user, $db_passwd, $db_name, $db_host); 22 } catch (PDOException $e) { 23 exit('データベース接続失敗'.$d->getMessage()); 24 } 25 26 $sql = "insert into event_information(event_id,date,start_time,end_time,capacity,place) values (:eventKind,:date,:time,:time2,:capacity,:place)"; 27 28 $stmt = $another_wpdb->prepare($sql); 29 30 $parametar = array( 31 ':eventKind' => $eventKind, 32 ':date' => $date, 33 ':time' => $time, 34 ':time2' => $time2, 35 ':capacity' => $capacity, 36 ':place' => $place 37 ); 38 39 $stmt->excute($parametar); 40 } 41 ?> 42 43 </main> 44
2つ疑問がありまして
①日付をいつからいつまでにした場合、その間の日をどうとっていくのか
例)21日~24日→21日、22日、23日、24日と別々に保存
②そもそもformの内容をとってくれません、そもそもhttp://localhost/gnavi/の登録ボタンを押すと、http://localhost/gnavi/page-registar.phpに飛びます。。。
確認したこと
form入力をし、登録ボタンを押した先にgnavi/page-registar.phpとページには飛びますがエラーページになります
助力ください、よろしくお願いします。。。
回答1件
あなたの回答
tips
プレビュー