I want to have all the checkboxes of 'parfum[]' (see code) in a php variable (it needs to go in the db). I'm struggling with that. I have the code in a JQuery constant, but in no way I'm able to get it into a php var. I get null or zeroes (0) or only the last checked checkbox, but not all of them.
Here's the code of the site:
<?php
require_once 'core/init.php';
date_default_timezone_set('Europe/Brussels');
$date = date('Y-m-d h:i:s a', time());
$today_time = strtotime($date);
$user = new user();
if(input::exists()) {
if(token::check(input::get('token'))) {
$validate = new validate();
$validation = $validate->check($_POST, array(
'username' => array('required' => true,'min' => 2,'max' => 50,'unique' => 'users'),
'allergie' => array('required' => true),
'lucht' => array('required' => true),
'kinderen' => array('required' => true),
'rokers' => array('required' => true),
'parfum' => array('required' => true),
'leeftijd' => array('required' => true),
'status' => array('required' => true),
'woning' => array('required' => true),
'werk' => array('required' => true),
'voornaam' => array('required' => true,'lowercase' => true,'min' => 2,'max' => 50),
'familienaam' => array('required' => true,'lowercase' => true,'min' => 2,'max' => 50),
'land' => array('required' => true),
'adres' => array('required' => true,'lowercase' => true,'min' => 2,'max' => 50),
'postcode' => array('required' => true,'figures' => true,'max' => 4,'notlowercase' => true,'notuppercase' => true, 'notspecial' => true),
'stad' => array('required' => true,'lowercase' => true,'min' => 2,'max' => 50),
'gsm' => array('required' => true,'figures' => true,'max' => 10,'notlowercase' => true,'notuppercase' => true, 'notspecial' => true),
'fbvriend' => array('required' => true,'lowercase' => true,'min' => 2,'max' => 50),
'tijdstip' => array('required' => true),
'privacy' => array('required' => true)
));
if($validation->passed()) {
$item = new item();
$userId = session::get(config::get('session/session_name'));
$allergieofastma = $_POST["allergie"];
$lucht = $_POST["lucht"];
$kinderen = $_POST["kinderen"];
$rokers = $_POST["rokers"];
$leeftijd = $_POST["leeftijd"];
$status = $_POST["status"];
$woning = $_POST["woning"];
$werk = $_POST["werk"];
$land = $_POST["land"];
//$parfum = foreach($_POST["parfum"] as $parfums){echo $parfums[];}
//foreach($_POST["tijdstip"] as $tijdstip){$finaltijdstip += $tijdstip;}
//echo $finalparfum, $finaltijdstip;
try{
$item->insert(array(
'email' => input::get('username'),
'user' => $userId,
'done' => 0,
'created' => date('Y-m-d H:i:s'),
'allergie' => $allergieofastma,
'luchtkwaliteit' => $lucht,
'kinderen' => $kinderen,
'rokers' => $rokers,
'parfumeren' => $finalparfum,
'leeftijd' => $leeftijd,
'status' => $status,
'woning' => $woning,
'werk' => $werk,
'voornaam' => input::get('voornaam'),
'familienaam' => input::get('familie'),
'beroep_partner' => input::get('beroep'),
'land' => $land,
'adres' => input::get('adres'),
'postcode' => input::get('postcode'),
'stad' => input::get('stad'),
'gsmnr' => input::get('gsm'),
'facebookvriend' => input::get('fbvriend'),
'tijdstip' => $finaltijdstip
));
} catch(Exception $e) {
die($e->getMessage());
}
}
}
}
?>
<script>
function parfum() {
var x = document.getElementById("geen").checked;
if(x === true){
document.getElementById("geurkaarsen").checked = false;
document.getElementById("geurspray").checked = false;
document.getElementById("plug").checked = false;
document.getElementById("autogeur").checked = false;
document.getElementById("parfumandere").checked = false;
$("#geurkaarsen").attr("disabled", true);
$("#geurspray").attr("disabled", true);
$("#plug").attr("disabled", true);
$("#autogeur").attr("disabled", true);
$("#parfumandere").attr("disabled", true);
<?php $parfum = ""; ?>
}else if(x === false){
$("#geurkaarsen").removeAttr("disabled");
$("#geurspray").removeAttr("disabled");
$("#plug").removeAttr("disabled");
$("#autogeur").removeAttr("disabled");
$("#parfumandere").removeAttr("disabled");
}
}
function parfumClick(){
$("input[name='parfum[]']:checked").on('change', function() {
var checkedVals = $('input[name="parfum[]"]:checked').map((i,c) => c.value).get();
checkedVals = checkedVals.join('');
console.log(checkedVals);
});
}
function tijdstipClick(){
$("input[name='tijdstip[]']:checked").on('change', function() {
const checkedVals = $('input[name="tijdstip[]"]:checked').map((i,c) => c.value).get();
console.log( checkedVals ); //array
console.log( checkedVals.join('') ); //strings: values concatenated
});
}
</script>
<?php include 'head.php' ?>
<?php
$userId = session::get(config::get('session/session_name'));
$items = DB::getInstance()->get('items', array('user', '=', $userId));
?>
<!-- Navigation-->
<nav class="navbar navbar-expand-lg navbar-light fixed-top py-3" id="mainNav">
<div class="container">
<a class="navbar-brand js-scroll-trigger" href="#page-top">Purello</a>
<button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation"><span class="navbar-toggler-icon"></span></button>
<div class="collapse navbar-collapse" id="navbarResponsive">
<ul class="navbar-nav ml-auto my-2 my-lg-0">
<li class="nav-item"><a class="nav-link js-scroll-trigger" href="index.php">Index</a></li>
<li class="nav-item"><a class="nav-link js-scroll-trigger" href="login.php">Login</a></li>
</ul>
</div>
</div>
</nav>
<!-- Masthead-->
<header class="masthead">
<div class="container h-100">
<div class="row h-100 align-items-center justify-content-center text-center">
<div class="col-lg-10 align-self-end">
<h1 class="text-uppercase text-white font-weight-bold">Zeg “NEEN” tegen Allergieën en “JA” tegen zuivere lucht.</h1>
<hr class="divider my-4" />
</div>
<div class="col-lg-8 align-self-baseline">
<p class="text-white-75 font-weight-light mb-5">Vul nu uw contactgegevens in om een kans te maken op het winnen van een luchtzuiveraar en aromatherapie apparaat! : onze PURELLO Wij zijn een lokaal bedrijf uit Sint-Katelijne-Waver en Brugge dat luchtreinigers GRATIS aan u weggeeft! Dit ter gelegenheid van ons 30 jarig bestaan van het moederbedrijf. U hoeft niets te kopen en er zijn GEEN KOSTEN aan verbonden! Dit is onze manier om te adverteren en onze naamsbekendheid te vergroten. We weten dat je helemaal weg zal zijn van de lentefrisse lucht in uw woning. En bij deze hopen wij dat u op dezelfde manier als uw facebookvrienden en familie over ons zal spreken.</p>
</div>
</div>
</div>
</header>
<p style="display:inline;">De invulvelden met een <div style="color:red;display:inline;">*</div> zijn vereist.</p>
<!-- Form -->
<section class="page-section" id="services">
<div class="container">
<div class="row justify-content-center">
<div class="col-lg-8 text-center">
<form action="" method="post">
<div class="form-label-group">
<h2 for="username">E-Mail: <div style="color:red;display:inline;">*</div></h2>
<input type="email" id="username" name="username" class="form-control" placeholder="E-Mail" required value="<?php if($user->isLoggedIn()){echo escape($user->data()->username);} ?>">
</div>
<div class="form-label-group">
<h2>Ontvang deze Luchtzuiveraar gratis</h2>
<img src="assets/img/purelloioniser.PNG" />
</div>
<div class="form-label-group">
<h2 for="allergie">
Heeft er iemand in uw gezin last van allergieën of astma? <div style="color:red;display:inline;">*</div>
</h2>
<input type="radio" id="allergie" name="allergie" value="Allergie" required><label for="allergie">Allergie</label><br>
<input type="radio" id="astma" name="allergie" value="Astma"><label for="astma">Astma</label><br>
<input type="radio" id="astallbeide" name="allergie" value="Beide"><label for="astallbeide">Beide</label><br>
<input type="radio" id="notallerma" name="allergie" value="Geen van beiden"><label for="notallerma">Geen van beiden</label><br>
</div>
<div class="form-label-group">
<h2 for="lucht">
Hoe is de luchtkwaliteit in uw woning? <div style="color:red;display:inline;">*</div>
</h2>
<input type="radio" id="slecht" name="lucht" value="Slecht" required><label for="slecht">Slecht</label><br>
<input type="radio" id="ok" name="lucht" value="OK"><label for="ok">OK</label><br>
<input type="radio" id="goed" name="lucht" value="Goed"><label for="goed">Goed</label><br>
<input type="radio" id="luchtanders" name="lucht" value="Anders"><label for="luchtanders">Anders</label><br>
</div>
<div class="form-label-group">
<h2 for="kinderen">
Heeft u kinderen in huis? <div style="color:red;display:inline;">*</div>
</h2>
<input type="radio" id="kindja" name="kinderen" value="Ja" required><label for="kindja">Ja</label>
<input type="radio" id="kindnee" name="kinderen" value="Nee"><label for="kindnee">Nee</label><br>
</div>
<div class="form-label-group">
<h2 for="rokers">
Zijn er rokers in huis? <div style="color:red;display:inline;">*</div>
</h2>
<input type="radio" id="rokersja" name="rokers" value="Ja" required><label for="rokersja">Ja</label>
<input type="radio" id="rokersnee" name="rokers" value="Nee"><label for="rokersnee">Nee</label><br>
</div>
<div class="form-label-group">
<h2 for="parfum">
Wat gebruikt u om uw huis te parfumeren? <div style="color:red;display:inline;">*</div>
</h2>
<input type="checkbox" id="geurkaarsen" onclick="parfumClick()" name="parfum[]" value="Geurkaarsen"><label for="geurkaarsen">Geurkaarsen</label><br>
<input type="checkbox" id="geurspray" onclick="parfumClick()" name="parfum[]" value="Geurspray"><label for="geurspray">Geurspray</label><br>
<input type="checkbox" id="plug" onclick="parfumClick()" name="parfum[]" value="plug"><label for="plug">Plug-ins (stekker verspreiders)</label><br>
<input type="checkbox" id="autogeur" onclick="parfumClick()" name="parfum[]" value="Automatische geur"><label for="autogeur">Automatische geur verspreiders</label><br>
<input type="checkbox" id="parfumandere" onclick="parfumClick()" name="parfum[]" value="Andere"><label for="parfumandere">Andere</label><br>
<input type="checkbox" id="geen" name="parfum[]" value="GEEN" onclick="parfum()"><label for="geen">GEEN</label><br>
</div>
<div class="form-label-group">
<h2 for="leeftijd">
Leeftijdsgroep <div style="color:red;display:inline;">*</div>
</h2>
<input type="radio" id="leeftijd18" name="leeftijd" value="18-24" required><label for="leeftijd18">18-24</label><br>
<input type="radio" id="leeftijd25" name="leeftijd" value="25-35"><label for="leeftijd25">25-35</label><br>
<input type="radio" id="leeftijd36" name="leeftijd" value="36-45"><label for="leeftijd36">36-45</label><br>
<input type="radio" id="leeftijd46" name="leeftijd" value="46-59"><label for="leeftijd46">46-59</label><br>
<input type="radio" id="leeftijd60" name="leeftijd" value="60-69"><label for="leeftijd60">60-69</label><br>
<input type="radio" id="leeftijd70" name="leeftijd" value="70+"><label for="leeftijd70">70+</label><br>
</div>
<div class="form-label-group">
<h2 for="status">
Wat is uw status? <div style="color:red;display:inline;">*</div>
</h2>
<input type="radio" id="statusalleen" name="status" value="alleen" required><label for="statusalleen">Alleenstaand</label>
<input type="radio" id="statuskoppel" name="status" value="koppel"><label for="statuskoppel">Koppel</label><br>
</div>
<div class="form-label-group">
<h2 for="woning">
Bent u? <div style="color:red;display:inline;">*</div>
</h2>
<input type="radio" id="woningeigenaar" name="woning" value="eigenaar" required><label for="woningeigenaar">Eigenaar van uw woning</label><br>
<input type="radio" id="woninghuurder" name="woning" value="huurder"><label for="woninghuurder">Huurder</label><br>
<input type="radio" id="woninggeen" name="woning" value="geen"><label for="woninggeen">Geen van beiden</label><br>
</div>
<div class="form-label-group">
<h2 for="werk">
Wat is uw werksituatie? <div style="color:red;display:inline;">*</div>
</h2>
<input type="radio" id="werkfull" name="werk" value="Full-time" required><label for="werkfull">Full-time</label><br>
<input type="radio" id="werkpart" name="werk" value="Part-time"><label for="werkpart">Part-time</label><br>
<input type="radio" id="werkzelf" name="werk" value="Zelfstandig"><label for="werkzelf">Zelfstandig</label><br>
<input type="radio" id="werkpensioen" name="werk" value="Op pensioen"><label for="werkpensioen">Op pensioen</label><br>
<input type="radio" id="werkonbekwaam" name="werk" value="Werkonbekwaam"><label for="werkonbekwaam">Werkonbekwaam</label><br>
<input type="radio" id="werkloos" name="werk" value="Werkloos"><label for="werkloos">Werkloos</label><br>
</div>
<div class="form-label-group">
<h2 for="voornaam">Voornaam: <div style="color:red;display:inline;">*</div></h2>
<input type="text" id="voornaam" name="voornaam" class="form-control" placeholder="Voornaam" required>
</div>
<div class="form-label-group">
<h2 for="username">Familienaam: <div style="color:red;display:inline;">*</div></h2>
<input type="text" id="familienaam" name="familienaam" class="form-control" placeholder="Familienaam" required>
</div>
<div class="form-label-group">
<h2 for="beroep">Beroep van uw partner: </h2>
<input type="text" id="beroep" name="beroep" class="form-control" placeholder="Beroep van uw partner">
</div>
<div class="form-label-group">
<h2 for="land">Land: <div style="color:red;display:inline;">*</div></h2>
<select class="select" name="land" id="land">
<option value="belgie">Belgie</option>
<option value="nederland">Nederland</option>
<option value="anderland">Ander land</option>
</select>
</div>
<div class="form-label-group">
<h2 for="adres">Adres: <div style="color:red;display:inline;">*</div></h2>
<input type="text" id="adres" name="adres" class="form-control" placeholder="Adres" required>
</div>
<div class="form-label-group">
<h2 for="postcode">Postcode: <div style="color:red;display:inline;">*</div></h2>
<input type="text" id="postcode" name="postcode" class="form-control" placeholder="Postcode" required>
</div>
<div class="form-label-group">
<h2 for="stad">Stad: <div style="color:red;display:inline;">*</div></h2>
<input type="text" id="stad" name="stad" class="form-control" placeholder="Stad" required>
</div>
<div class="form-label-group">
<h2 for="gsm">Uw GSM nummer: <div style="color:red;display:inline;">*</div></h2>
<input type="text" id="gsm" name="gsm" class="form-control" placeholder="Uw GSM nummer" required>
</div>
<div class="form-label-group">
<h2 for="fbvriend">Naam van uw facebookvriend die u aanmeldde: <div style="color:red;display:inline;">*</div></h2>
<input type="text" id="fbvriend" name="fbvriend" class="form-control" placeholder="Naam van uw facebookvriend die u aanmeldde" required>
</div>
<div class="video-container">
<h2 for="video">Ontdek onze Purello GRATIS samen met uw vrienden</h2>
<iframe width="320" height="180" src="https://www.youtube.com/embed/2a6vMkeR7m4" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe>
</div>
<div class="form-label-group">
<h2 for="tijdstip">Bij winst, op welke tijdstippen kan de Purello bij u geleverd worden? <div style="color:red;display:inline;">*</div></h2>
<input type="checkbox" id="voormiddag" onclick="tijdstipClick()" name="tijdstip[]" value="Voormiddag"><label for="voormiddag" required>Voormiddag</label><br>
<input type="checkbox" id="namiddag" onclick="tijdstipClick()" name="tijdstip[]" value="Namiddag"><label for="namiddag">Namiddag</label><br>
<input type="checkbox" id="avond17" onclick="tijdstipClick()" name="tijdstip[]" value="Avond17"><label for="avond17">Avond na 17:00</label><br>
<input type="checkbox" id="avond19" onclick="tijdstipClick()" name="tijdstip[]" value="Avond19"><label for="avond19">Avond na 19:00</label><br>
<input type="checkbox" id="weekend" onclick="tijdstipClick()" name="tijdstip[]" value="In het weekend"><label for="weekend">In het weekend</label><br>
</div>
<div class="form-label-group">
<h2 for="privacy">Akkoord met privacy disclaimer <div style="color:red;display:inline;">*</div></h2>
<input type="checkbox" id="privacy" name="privacy" value="privacyakkoord" required><label for="privacy">Ik verklaar mij akkoord met onderstaande privacy disclaimer</label><br>
<h2>Privacy disclaimer</h2>
<p>Uw gegevens worden nooit gedeeld. Ik begrijp, dat ik indien ik voldoe aan de selectie criteria van het bedrijf ik kans maak op het winnen van een gratis purello luchtreiniger ter waarde van 135 euro. (selectiecriteria te verkrijgen op het bedrijf) Als u vragen of opmerkingen heeft, neem dan gerust contact met ons op. Dankjewel voor het aanmelden!</p>
<p>
<bold>Kantoor:</bold><br>
Purello Pathoekeweg 120 G/0.2, 8000 Brugge, tel: +3250376652<br>
<br>
Purello Mechelsesteenweg 113, 2860 Sint-Katelijne-Waver, tel: +3215559200
</p>
</div>
<input type="hidden" class="hidden" name = "token" value="<?php echo token::generate(); ?>" />
<button class="btn btn-lg btn-primary btn-block btn-login text-uppercase font-weight-bold mb-2" type="submit">Verzenden</button>
<!--<p>If you keep scrolling, you're going to fall off</p>-->
<div class="text-center w-full p-t-25 p-b-230">
<?php
foreach ($validation->errors() as $error) {
echo '<span style="color:red;">'.$error.'</span><br />';
}
?>
</div>
</form>
</div>
</div>
</div>
</section>
<?php include 'bottom.php' ?>
All that I tried is in comments
Aucun commentaire:
Enregistrer un commentaire