チェックボックスは、チェックされている場合にのみ投稿されます。したがって、チェックボックスがチェックされていない場合、$_POST
には表示されません。 。また、通常、チェックボックスに値を指定しないでください。代わりに、名前を使用してそれらを区別してください。
データベースでは通常、チェックボックスをtinyintsで表し、チェックされている場合は1、チェックされていない場合は0を格納します。
// If your checkbox name is foo, this will convert it
// into a value that can be stored in the database
$foo = isset($_POST['foo']) ? 1 : 0;
また、htmlではIDが一意である必要があることに注意してください。したがって、同じIDを持つ複数の要素を持つことはできません。また、SQLインジェクションを防ぐために、入力をサニタイズする必要があります。 mysql_real_escape_string()
を使用します データベースに入力するユーザー入力について。
更新
主な問題は、クエリに')
がないことです。 '最後の行。クエリは次のようになります
$query = "INSERT INTO markers (ciudad,
zona,address,name,
telefono,email,piso,
tipo,erasmus,nhabitaciones,
plazas,equipHabita,nbanos,
salon,cocina,electrodomesticos,
garaje,internet,calefaccion,
sexo,precio,superficie,otros,
fecha,lat,lng)
VALUES ('{$_POST['ciudad']}','{$_POST['zona']}',
'{$_POST['address']}','{$_POST['name']}','{$_POST['telefono']}',
'{$_POST['email']}','{$_POST['piso']}','{$_POST['tipo']}',
'{$_POST['erasmus']}','{$_POST['nhabitaciones']}',
'{$_POST['plazas']}','{$equipHabitaF}',
'{$_POST['nbanos']}','{$equipSalonF}',
'{$equipCocinaF}','{$equipElectroF}','{$_POST['garaje']}',
'{$_POST['internet']}','{$_POST['calefaccion']}',
'{$_POST['sexo']}','{$_POST['precio']}',
'{$_POST['superficie']}','{$_POST['otrosF']}',
'{$_POST['fecha']}','{$_POST['lat']}',
'{$_POST['lng']}')";
mysql_query($query, $link);
終了')
に注意してください 'クエリの最後の行。また、このようなクエリを変数で作成すると、作成したクエリを出力できるため、MySQLに送信されたものを正確に確認でき、別の環境(phpmyadminやその他のデータベース管理など)でクエリをテストすることもできます。ツール)。