cloud9を使っています。
Macです。
フォームからの入力情報がデータベースに接続されません。
以下ご確認の上アドバイスいただけますと幸いです。
form.php
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>フェスタ入力フォーム</title> <link href="css/bootstrap.min.css" rel="stylesheet"> <link rel="stylesheet" type="text/css" href="form.css" > <script src="js/bootstrap.min.js"></script> </head> <body> <form action="registration.php" method="post" name="sample" class="form" align="left"> <div class="form-group"> アイテムID <input type="text" name="item" placeholder="01~99" class="form-control" required maxlength="2"> </div> <div class="form-group"> データフラグ <select name="dataflag" required> <option value="1">ENTRY</option> <option value="2">PICKUP情報</option> </select> </div> <div class="form-group"> ステータス <select name="status" required> <option value="1">1.募集中</option> <option value="2">2.募集終了</option> <option value="3">3.coming soon</option> <option value="4">4.非表示</option> </select> </div> <div class="form-group"> 画像ファイル名 <input type="text" name="gazou" placeholder="半角英数、jpg/pngのみ" required> </div> <div class="form-group"> カテゴリー <select name="category" required> <option value="1">1.撮影会</option> <option value="2">2.ワークショップ</option> <option value="3">3.ステージ</option> <option value="1">4.セミナー</option> <option value="2">5.施設</option> <option value="3">6.その他</option> </select> </div> <div class="form-group"> タイトル <input type="text" name="title" placeholder="全角36文字以内" class="form-control" required maxlength="36"> </div> <div class="form-group"> 出演者 <input type="text" name="performer" class="form-control"> </div> <div class="form-group"> 出演者URL <input type="url" name="performerurl" value="" class="form-control"> </div> <div class="form-group"> 日時 ① <input type="datetime-local" name="date1" value="2017-09-19T10:00"> <input type="time" name="date2" value="10:00"> <br> 日時 ② <input type="datetime-local" name="date3" value="2017-09-19T10:00"> <input type="time" name="date4" value="10:00"> </div> <div class="form-group"> 場所 <input type="text" name="place" class="form-control"> </div> <div class="form-group"> 参加費 <select name="fee" required> <option value="1">無料</option> <option value="2">300円</option> <option value="3">500円</option> <option value="1">1,000円</option> <option value="2">1,500円</option> <option value="3">3,000円</option> </select> </div> <div class="form-group"> 参加費補足 <textarea rows="3" cols="40" name="fees" class="form-control"></textarea> </div> <div class="form-group"> 募集人数 <input type="text" name="recruit" class="form-control"> </div> <div class="form-group"> 応募条件 <input type="text" name="appcondition" class="form-control"> </div> <div class="form-group"> 応募締め切り <input type="datetime-local" name="deadline" value="2017-09-19T10:00"> </div> <div class="form-group"> 当選発表 <input type="datetime-local" name="announce" value="2017-09-19T10:00"> </div> <div class="form-group"> 備考 <textarea rows="3" name="remark" cols="40" class="form-control"></textarea> </div> <div class="form-group"> 注意事項 <textarea rows="3" name="attention" cols="40" class="form-control"></textarea> </div> <div class="form-group"> 応募者URL <input type="url" name="appurl" value="" class="form-control"> </div> <div class="form-group"> <button type="submit" class="btn btn-default registration">登録</button> </div> </form> </body> </html>
registration.php
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>アドレス登録</title> </head> <body> <?php echo "テスト"; try{ $db = new PDO('mysql:host=localhost;dbname=2017_t_autumn;charset=utf8','root',''); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING); $ftt=$db->prepare('INSERT INTO tokyo(item,flag,status,gazou,category,title,performer,performerurl,date1,date2,date3,date4,place,fee,fees,recruit,appcondition,deadline,announce,remark,attention,appurl) VALUES(:item,:flag,:status,:gazou,:category,:title,:performer,:performerurl,:date1,:date2,:date3,:date4,:place,:fee,:fees,:recruit,:appcondition,:deadline,:announce,:remark,:attention,:appurl)'); $ftt->bindValue(':item',$_POST['item']); $ftt->bindValue(':flag',$_POST['flag']); $ftt->bindValue(':status',$_POST['status']); $ftt->bindValue(':gazou',$_POST['gazou']); $ftt->bindValue(':category',$_POST['category']); $ftt->bindValue(':title',$_POST['title']); $ftt->bindValue(':performer',$_POST['performer']); $ftt->bindValue(':performerurl',$_POST['performerurl']); $ftt->bindValue(':date1',$_POST['date1']); $ftt->bindValue(':date2',$_POST['date2']); $ftt->bindValue(':date3',$_POST['date3']); $ftt->bindValue(':date4',$_POST['date4']); $ftt->bindValue(':place',$_POST['place']); $ftt->bindValue(':fee',$_POST['fee']); $ftt->bindValue(':fees',$_POST['fees']); $ftt->bindValue(':recruit',$_POST['recruit']); $ftt->bindValue(':appcondition',$_POST['appcondition']); $ftt->bindValue(':deadline',$_POST['deadline']); $ftt->bindValue(':announce',$_POST['announce']); $ftt->bindValue(':remark',$_POST['remark']); $ftt->bindValue(':attention',$_POST['attention']); $ftt->bindValue(':appurl',$_POST['appurl']); $ftt->execute(); $db = NULL; echo "テスト"; }catch(PDOException $e){ die('エラーメッセージ:'.$e->getMessage()); } ?> <p>登録が完了しました。<br /><a href='form.php'>戻る</a></p> </body> </html>
なお、フォーム送信後は「登録が完了しました。」のみ表示されます。
なので、データベースには接続していると思うのですが、、、
よろしくお願いいたします。
追記:
PDOのエラー処理コードを追加してやってみました。→PDO::ERRMODE_WARNING
すると、以下のエラーが出ました。
Warning: PDOStatement::execute(): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'flag' in 'field list' in /home/ubuntu/workspace/bootstrap-3.3.7-dist/registration.php on line 33
でも、flagに問題は見当たらないのですが、、、なお,DESCRIBE tokyoの結果は以下の通りです。
+-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | item | int(11) | YES | | NULL | | +-------+---------+------+-----+---------+-------+ 1 row in set (0.00 sec)
回答1件
あなたの回答
tips
プレビュー