現在独学でやっていまして、わからないことがでてきたので質問させていただきます。
やりたいことはフォームを入力して送信したらmysqlに登録されているというものです。
後々にはそこから入力したデータを表示とかしたいのですが、まだその域にたどり着けないので、とりあえずは登録をちゃんとできるようにしたいと思っています。
色々参考にしながら試みているのですが、チェックボックスでつまづいています。
チェックボックスの箇所をコメントアウトしてみるとエラーがでなくてチェックボックス以外は登録できていました。
現在チェックボックス導入後、エラー表示はでないのですが、登録ができなくなっています。
以下記述内容です
html
1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4 <meta charset="UTF-8"> 5 <title>フォーム登録</title> 6 <link rel="stylesheet" type="text/css" href="css/test09_04.2.css"> 7</head> 8<body> 9 <legend class="form"><h1>フォーム登録</h1> 10 <form name="form1" class="page1" id="page1" action="php/task_ex1.php" method="post"> 11 <div> 12 <label for="textForm">名前:</label> 13 <input type="text" placeholder="名前入力してください" size="50" maxlength="50" name="name_form" id="textForm"> 14 </div> 15 <div> 16 <label for="radioForm" class="gender">性別:</label> 17 <label for="gender1">男性</label><input type="radio" name="gender" value="男性" id="gender1"> 18 <label for="gender2">女性</label><input type="radio" name="gender" value="女性" id="gender2"> 19 <label for="gender3">その他</label><input type="radio" name="gender" value="その他" id="gender3" checked="checked"> 20 </div> 21 <div class="age"> 22 年齢:<select name="age" id="selbox"> 23 <option value="~20代">~20代</option> 24 <option value="30代~40代">30代~40代</option> 25 <option value="50代~60代">50代~60代</option> 26 <option value="70代~">70代~</option> 27 </select> 28 </div> 29 <div class="questionnaire"> 30 アンケート:好きな色(複数選択可) 31 <input type="checkbox" name="q1[]" value="赤" id="color1" ><label for="color1">赤</label> 32 <input type="checkbox" name="q1[]" value="青" id="color2" ><label for="color2">青</label> 33 <input type="checkbox" name="q1[]" value="黄" id="color3" ><label for="color3">黄</label> 34 <input type="checkbox" name="q1[]" value="緑" id="color4" ><label for="color4">緑</label> 35 <input type="checkbox" name="q1[]" value="紫" id="color5" ><label for="color5">紫</label> 36 </div> 37 <div class="free_space"> 38 自由記入欄:<br> 39 <textarea id="freeSpace" name="free_space" cols="50" rows="6" placeholder="ご自由にご記入して下さい" ></textarea> 40 </div> 41 <div> 42 <input type="submit" id="button" value="取得する" > 43 <input type="reset" value="クリア"> 44 </div> 45 </form> 46 </legend> 47</body> 48</html>
php
1<html> 2<head> 3<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 4<title>フォーム登録2</title> 5</head> 6<body> 7<?php 8 9$con = mysqli_connect('localhost','root',''); 10if (!$con) { 11 exit('データベースに接続できませんでした。'); 12} 13 14$result = mysqli_select_db($con,'task_ex1_db'); 15if (!$result) { 16 exit('データベースを選択できませんでした。'); 17} 18 19$result = mysqli_query($con,'SET NAMES utf8'); 20if (!$result) { 21 exit('文字コードを指定できませんでした。'); 22} 23 24$name_form = addslashes($_REQUEST['name_form']); 25$gender = addslashes($_REQUEST['gender']); 26$age = addslashes($_REQUEST['age']); 27//$q1 = addslashes($_REQUEST['q1']); 28$q1; 29if (!empty($_POST['q1'])){ 30 $q1 = implode(',', $_POST['q1']); 31}else{ 32 $q1 = 'チェックなし'; 33} 34$free_space = addslashes($_REQUEST['free_space']); 35 36$result = mysqli_query($con,"INSERT INTO personaldata(name_form, gender, age, q1, free_space) VALUES('$name_form', '$gender', '$age', '$q1', '$free_space')"); 37if (!$result) { 38 exit('データを登録できませんでした。'); 39} 40 41$con = mysqli_close($con); 42if (!$con) { 43 exit('データベースとの接続を閉じられませんでした。'); 44} 45 46?> 47<p>登録が完了しました。<br /><a href="../task_ex1.html">戻る</a></p> 48</body> 49</html>
似たような質問もあったので参考にはしたんですが、それでも解決まで至れなかったのでアドバイスなどいただけると助かります!
よろしくお願いいたしますm(_ _)m
回答1件
あなたの回答
tips
プレビュー