Kryssrutor läggs bara upp när de är bockade. Så om kryssrutan inte är markerad kommer den inte att visas i $_POST
. Dessutom bör du i allmänhet inte ge några värden till kryssrutor. Använd istället namn för att skilja dem åt.
I databasen representerar jag vanligtvis kryssrutor med pyttesmå koder och lagra 1 för markerad och 0 för omarkerad.
// 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;
Observera också att html kräver att ID är unikt. Så du kan inte ha flera element med samma id. Och du bör sanera dina ingångar för att förhindra sql-injektion. Använd mysql_real_escape_string()
på användarinmatningar som går i databasen.
Uppdatera
Huvudproblemet är att frågan saknar en ')
' på sista raden. Frågan ska se ut
$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);
Notera den avslutande ')
' på den sista raden i frågan. Observera också att genom att skapa frågan så här, i en variabel, kan du mata ut den skapade frågan så att du kan se exakt vad som skickas till MySQL och du kan också testa din fråga i en annan miljö (t.ex. i phpmyadmin eller någon annan databasadministration verktyg).