1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157
| <?php
logged_only(); // Vérifie si le membre est connecté.
$titre = 'Recherche avancée'; // titre meta
$user_id = $_SESSION['auth']->id; // Récupère l'id du membre connecté.
// array
$array_origine = array('Européenne', 'Africaine', 'Asiatique', 'Arabe', 'Indienne', 'Hispanique', 'Autre', 'Sans importance');
$array_religion = array('Protestante', 'Catholique', 'Musulmane', 'Juive', 'Bouddhiste', 'Orthodoxe', 'Autre', 'Croyante, non pratiquante', 'Ni croyante, ni pratiquante', 'Sans importance');
$array_consommation_tabac = array('Jamais', 'Plusieurs fois dans l\'année', 'Environ une fois par semaine', 'Plusieurs fois par semaine', 'Plusieurs fois par jour');
$array_consommation_alcool = array('Jamais', 'Plusieurs fois dans l\'année', 'Environ une fois par semaine', 'Plusieurs fois par semaine', 'Plusieurs fois par jour');
$array_nombre_enfants = array('Oui', 'Non');
// Initialisation / Récupération
$recherche_origine = (isset($_POST['recherche_origine']))? $_POST['recherche_origine'] : array(); // checkbox -> array
$recherche_religion = (isset($_POST['recherche_religion']))? $_POST['recherche_religion'] : array();
$recherche_consommation_tabac = (isset($_POST['recherche_consommation_tabac']))? $_POST['recherche_consommation_tabac'] : array();
$recherche_consommation_alcool = (isset($_POST['recherche_consommation_alcool']))? $_POST['recherche_consommation_alcool'] : array();
$recherche_nombre_enfants = (isset($_POST['recherche_nombre_enfants']))? $_POST['recherche_nombre_enfants'] : '';
// Traitement form
if(!empty($_POST)){
if (empty($recherche_origine)) {
$_SESSION['flash']['danger'] = 'De quelle origine souhaitez-vous que la personne que vous recherchez soit ?';
}
if (empty($recherche_religion)) {
$_SESSION['flash']['danger'] = 'De quelle religion souhaiteriez-vous que la personne que vous recherchez soit ?';
}
if (empty($recherche_consommation_tabac)) {
$_SESSION['flash']['danger'] = 'Accepteriez-vous que la personne que vous recherchez fume ?';
}
if (empty($recherche_consommation_alcool)) {
$_SESSION['flash']['danger'] = 'Accepteriez-vous que la personne que vous recherchez consomme de l\'alcool ?';
}
if (empty($recherche_nombre_enfants)) {
$_SESSION['flash']['danger'] = 'Accepteriez-vous une personne qui vit avec des enfants de moins de 18 ans ?';
} elseif (!in_array($recherche_nombre_enfants, $array_nombre_enfants)) {
$_SESSION['flash']['danger'] = 'Accepteriez-vous une personne qui vit avec des enfants de moins de 18 ans ? Veuillez répondre à la question.';
}
if(empty($_SESSION['flash'])) {
$req = $pdo->prepare("INSERT INTO recherche_avancee SET idmbr = ?, origine = ?, religion = ?, tabac = ?, alcool = ?, enfants = ?");
// Conversion et création de variables pour l'insertion des données dans la table.
$bdd_origine = implode( ', ', $recherche_origine);
$bdd_religion = implode( ', ', $recherche_religion);
$bdd_tabac = implode( ', ', $recherche_consommation_tabac);
$bdd_alcool = implode( ', ', $recherche_consommation_alcool);
$req->execute([$user_id, $bdd_origine, $bdd_religion, $bdd_tabac, $bdd_alcool, $_POST['recherche_nombre_enfants']]);
$_SESSION['flash']['success'] = 'Vos critères de recherche ont bien été enregistrés.';
}
var_dump($_POST); // Un var_dump toujours pour les tests..
}
?>
<div class="page-header">
<h1>Recherche avancée</h1>
</div>
<form action="" method="POST">
<div class="form-group">
<label>De quelle origine souhaitez-vous que la personne que vous recherchez soit ?</label>
<?php
foreach($array_origine as $libelle_origine => $origine) // on parcourt l'array des origines (défini plus haut).
{
$checked = (in_array($origine, $recherche_origine))? ' checked="checked"' : ''; // permet de cocher la sélection après traitement du formulaire (utile en cas d'erreur à corriger).
?>
<div class="checkbox">
<label>
<input type="checkbox" name="recherche_origine[]" value="<?php echo $libelle_origine; ?>" <?php echo $checked; ?>/><?php echo $origine; ?>
</label>
</div>
<?php
}
?>
</div>
<div class="form-group">
<label for="recherche_religion">De quelle religion souhaiteriez-vous que la personne que vous recherchez soit ?</label>
<?php
foreach($array_religion as $libelle_religion => $religion) // on parcourt l'array des religions (défini plus haut).
{
$checked = (in_array($religion, $recherche_religion))? ' checked="checked"' : ''; // permet de cocher la sélection après traitement du formulaire (utile en cas d'erreur à corriger).
?>
<div class="checkbox">
<label>
<input type="checkbox" name="recherche_religion[]" value="<?php echo $libelle_religion; ?>" <?php echo $checked; ?>/><?php echo $religion; ?>
</label>
</div>
<?php
}
?>
</div>
<div class="form-group">
<label for="recherche_consommation_tabac">Accepteriez-vous que la personne que vous recherchez fume ?</label>
<?php
foreach($array_consommation_tabac as $libelle_consommation_tabac => $consommation_tabac) // on parcourt l'array (défini plus haut).
{
$checked = (in_array($consommation_tabac, $recherche_consommation_tabac))? ' checked="checked"' : ''; // permet de cocher la sélection après traitement du formulaire (utile en cas d'erreur à corriger).
?>
<div class="checkbox">
<label>
<input type="checkbox" name="recherche_consommation_tabac[]" value="<?php echo $libelle_consommation_tabac; ?>" <?php echo $checked; ?>/><?php echo $consommation_tabac; ?>
</label>
</div>
<?php
}
?>
</div>
<div class="form-group">
<label for="recherche_consommation_alcool">Accepteriez-vous que la personne que vous recherchez consomme de l'alcool ?</label>
<?php
foreach($array_consommation_alcool as $libelle_consommation_alcool => $consommation_alcool) // on parcourt l'array (défini plus haut).
{
$checked = (in_array($consommation_alcool, $recherche_consommation_alcool))? ' checked="checked"' : ''; // permet de cocher la sélection après traitement du formulaire (utile en cas d'erreur à corriger).
?>
<div class="checkbox">
<label>
<input type="checkbox" name="recherche_consommation_alcool[]" value="<?php echo $libelle_consommation_alcool; ?>" <?php echo $checked; ?>/><?php echo $consommation_alcool; ?>
</label>
</div>
<?php
}
?>
</div>
<div class="form-group">
<label for="recherche_nombre_enfants">Accepteriez-vous une personne qui vit avec des enfants de moins de 18 ans ?</label>
<?php
foreach($array_nombre_enfants as $nombre_enfants) // on parcourt l'array (défini plus haut).
{
$checked = ($recherche_nombre_enfants == $nombre_enfants)? ' checked="checked"' : ''; // permet de cocher la sélection après traitement du formulaire (utile en cas d'erreur à corriger).
?>
<div class="radio">
<label>
<input type="radio" name="recherche_nombre_enfants" value="<?php echo $nombre_enfants; ?>" <?php echo $checked; ?>/><?php echo $nombre_enfants; ?>
</label>
</div>
<?php
}
?>
</div>
<button type="submit" class="btn btn-default">Submit</button>
</form> |
Partager