Probleme checkbox

Mickael - 6 sept. 2017 à 20:52 - Dernière réponse : jordane45 21718 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 23 juillet 2018 Dernière intervention
- 7 sept. 2017 à 16:29
Bonjour,
Je n'arrive pas à recevoir par mail plusieurs réponse par checkbox
je n'ai qu'un seule réponse


$date = htmlentities($_POST['date']);



<INPUT type="checkbox" name="date" value="Lundi"> Lundi
<INPUT type="checkbox" name="date" value="Mardi "> Mardi
<INPUT type="checkbox" name="date" value="Mercredi "> Mercredi
<INPUT type="checkbox" name="date" value="Jeudi "> Jeudi
<INPUT type="checkbox" name="date" value="Vendredi "> Vendredi
Afficher la suite 

Votre réponse

4 réponses

jordane45 21718 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 23 juillet 2018 Dernière intervention - 7 sept. 2017 à 13:46
0
Merci
Bonjour,

commence par mettre les "name" de tes checkbox façon array
comme ceci :
<INPUT type="checkbox" name="date[]" value="Lundi"> Lundi
<INPUT type="checkbox" name="date[]" value="Mardi "> Mardi
...etc...


Puis côté php:
//récupération PROPRE des variables avant de les utiliser
$a_date = !empty($_POST['date']) ? $_POST['date'] : NULL;

// affichage des variables (on boucle sur l'array)
foreach($a_date as $key=>$date){
  echo "<br>".$date;
}


NB: On n'utilise htmlspecialchar, htmlentities... QUE POUR L'AFFICHAGE ... Jamais pour le traitement ou l'insertion en bdd !

NB²: Tu feras attention.. dans tes "value" tu as des espaces à la fin de certains jours.

Commenter la réponse de jordane45
mickaelc34 2 Messages postés jeudi 7 septembre 2017Date d'inscription 7 septembre 2017 Dernière intervention - Modifié par mickaelc34 le 7/09/2017 à 15:55
0
Merci
Avec le array je n'arrive pas à recevoir les informations cela me met une erreur

C'est pour un formulaire de contact

Regarde sur mon site : http://www.sas-capely.fr/contact1.php

Voici le code en entier


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<title>Titre de la page</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>


<?php
// S'il y des données de postées
if ($_SERVER['REQUEST_METHOD']=='POST') {
// Code PHP pour traiter l'envoi de l'email

$nombreErreur = 0; // Variable qui compte le nombre d'erreur

// Définit toutes les erreurs possibles


if (!isset($_POST['email'])) { // Si la variable "email" du formulaire n'existe pas (il y a un problème)
$nombreErreur++; // On incrémente la variable qui compte les erreurs
$erreur1 = '<p>Il y a un problème avec la variable "email".</p>';
} else { // Sinon, cela signifie que la variable existe (c'est normal)
if (empty($_POST['email'])) { // Si la variable est vide
$nombreErreur++; // On incrémente la variable qui compte les erreurs
$erreur2 = '<p>Vous avez oublié de donner votre email.</p>';
} else {
if (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
$nombreErreur++; // On incrémente la variable qui compte les erreurs
$erreur3 = '<p>Cet email ne ressemble pas un email.</p>';
}
}
}


if (!isset($_POST['message'])) {
$nombreErreur++;
$erreur4 = '<p>Il y a un problème avec la variable "message".</p>';
} else {
if (empty($_POST['message'])) {
$nombreErreur++;
$erreur5 = '<p>Vous avez oublié de donner un message.</p>';
}
}

if (!isset($_POST['captcha'])) {
$nombreErreur++;
$erreur6 = '<p>Il y a un problème avec la variable "captcha".</p>';
} else {
if ($_POST['captcha']!=4) {
$nombreErreur++;
$erreur7 = '<p>Désolé, le captcha anti-spam est erroné.</p>';
}
}

if ($nombreErreur==0) { // S'il n'y a pas d'erreur
// Récupération des variables et sécurisation des données
$nom = htmlentities($_POST['nom']); // htmlentities() convertit des caractères "spéciaux" en équivalent HTML
$email = htmlentities($_POST['email']);
$tel = htmlentities($_POST['tel']);
$a_date = !empty($_POST['date']) ? $_POST['date'] : NULL;
$a_heure = !empty($_POST['heure']) ? $_POST['heure'] : NULL;
$objetrdv = htmlentities($_POST['objetrdv']);
$message = htmlentities($_POST['message']);

// Variables concernant l'email
$destinataire = 'monadresse@gmail.com'; // Adresse email du webmaster
$sujet = 'Titre du message'; // Titre de l'email
$contenu = '<html><head><title>Titre du message</title></head><body>';
$contenu .= '<p>Bonjour, vous avez reçu un message à partir de votre site web.</p>';
$contenu .= '<p><strong>Nom</strong>: '.$nom.'</p>';
$contenu .= '<p><strong>Email</strong>: '.$email.'</p>';
$contenu .= '<p><strong>Tel</strong>: '.$tel.'</p>';
$contenu .= '<p><strong>Date</strong>: '.$a_date.'</p>';
$contenu .= '<p><strong>Horaire</strong>: '.$a_heure.'</p>';
$contenu .= '<p><strong>Objet</strong>: '.$objetrdv.'</p>';
$contenu .= '<p><strong>Message</strong>: '.$message.'</p>';
$contenu .= '</body></html>'; // Contenu du message de l'email

// Pour envoyer un email HTML, l'en-tête Content-type doit être défini
$headers = 'MIME-Version: 1.0'."\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1'."\r\n";

@mail($destinataire, $sujet, $contenu, $headers); // Fonction principale qui envoi l'email

echo '<h2>Message envoyé!</h2>'; // Afficher un message pour indiquer que le message a été envoyé
} else { // S'il y a un moins une erreur
echo '<div style="border:1px solid #ff0000; padding:5px;">';
echo '<p style="color:#ff0000;">Désolé, il y a eu '.$nombreErreur.' erreur(s). Voici le détail des erreurs:</p>';
if (isset($erreur1)) echo '<p>'.$erreur1.'</p>';
if (isset($erreur2)) echo '<p>'.$erreur2.'</p>';
if (isset($erreur3)) echo '<p>'.$erreur3.'</p>';
if (isset($erreur4)) echo '<p>'.$erreur4.'</p>';
if (isset($erreur5)) echo '<p>'.$erreur5.'</p>';
if (isset($erreur6)) echo '<p>'.$erreur6.'</p>';
if (isset($erreur7)) echo '<p>'.$erreur7.'</p>';
if (isset($erreur8)) echo '<p>'.$erreur8.'</p>';
echo '</div>';
}
}
?>

<form method="post" action="<?php echo strip_tags($_SERVER['REQUEST_URI']); ?>">
<h1>Information</h1>
<p>Votre nom et prénom: <input type="text" name="nom" size="30" /></p>
<p>Votre email: <span style="color:#ff0000;">*</span>: <input type="text" name="email" size="30" /></p>
<p>Tel : <span style="color:#ff0000;">*</span>: <input type="text" name="tel" size="30" /></p>

<h1>Votre disponibilité</h1>
<p>Jours : <span style="color:#ff0000;">*</span>:
<INPUT type="checkbox" name="date[L]" value="Lundi"> Lundi
<INPUT type="checkbox" name="date[M]" value="Mardi"> Mardi
<INPUT type="checkbox" name="date[M]" value="Mercredi"> Mercredi
<INPUT type="checkbox" name="date[J]" value="Jeudi"> Jeudi
<INPUT type="checkbox" name="date[V]" value="Vendredi"> Vendredi</p>

<p>Horaires : <span style="color:#ff0000;">*</span>:
<INPUT type="checkbox" name="heure[8]" value="8H"> 8H
<INPUT type="checkbox" name="heure[10]" value="10H "> 10H
<INPUT type="checkbox" name="heure[14]" value="14H "> 14H
<INPUT type="checkbox" name="heure[16]" value="16H "> 16H
<INPUT type="checkbox" name="heure[18]" value="18H "> 18H

<p>Objet du rendez-vous : <span style="color:#ff0000;">*</span>:
<SELECT name="objetrdv" size="1">
<OPTION>
<OPTION>Devis installation climatisation
<OPTION>Devis installation electrique
<OPTION>Dépannage climatisation
<OPTION>Dépannage electrique
</SELECT>

<p>Message <span style="color:#ff0000;">*</span>:</p>
<textarea name="message" cols="60" rows="10"></textarea>
<p>Combien font 1+3: <span style="color:#ff0000;">*</span>: <input type="text" name="captcha" size="2" /></p>
<p><input type="submit" name="submit" value="Envoyer" /></p>
</form>

</body>
</html>
mickaelc34 2 Messages postés jeudi 7 septembre 2017Date d'inscription 7 septembre 2017 Dernière intervention - 7 sept. 2017 à 15:54
Notice: Array to string conversion in /public_html/sascapely/contact1.php on line 74

Notice: Array to string conversion in /public_html/sascapely/contact1.php on line 75
jordane45 21718 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 23 juillet 2018 Dernière intervention > mickaelc34 2 Messages postés jeudi 7 septembre 2017Date d'inscription 7 septembre 2017 Dernière intervention - 7 sept. 2017 à 16:29
Tu ne peux pas utiliser la variable array directement .... tu dois BOUCLER dessus ... comme dans l'exemple que je t'ai donné !
Commenter la réponse de mickaelc34

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.