Квадратчетата за отметка се публикуват само когато са отбелязани. Така че, ако квадратчето за отметка не е поставено, то няма да се появи в $_POST
. Освен това обикновено не трябва да давате никакви стойности на квадратчетата за отметка. Вместо това използвайте имена, за да ги различавате.
В базата данни обикновено представлявам квадратчета за отметка с малки точки и съхранявам 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. И трябва да дезинфекцирате въведените данни, за да предотвратите инжектиране на 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 или друга администрация на база данни инструмент).