Petits soucis avec la récuperation de pls valeurs checkbox
Résolu/Fermé
fabi00
Messages postés
82
Date d'inscription
vendredi 4 février 2022
Statut
Membre
Dernière intervention
18 mars 2022
-
17 mars 2022 à 12:31
fabi00 Messages postés 82 Date d'inscription vendredi 4 février 2022 Statut Membre Dernière intervention 18 mars 2022 - 18 mars 2022 à 15:03
fabi00 Messages postés 82 Date d'inscription vendredi 4 février 2022 Statut Membre Dernière intervention 18 mars 2022 - 18 mars 2022 à 15:03
A voir également:
- Petits soucis avec la récuperation de pls valeurs checkbox
- Convertisseur récupération de texte - Guide
- Impossible de récupérer mon compte gmail - Guide
- Quand on visite cette page, des messages sont échangés entre le navigateur et le site web. des extraits des messages échangés lors de la première connexion sont reproduits ci-dessous. des valeurs ont été remplacées par des numéros. retrouvez chacune de ces valeurs. - Forum Windows 10
- Excel liste de valeurs - Guide
- Récupération message whatsapp - Guide
5 réponses
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 717
18 mars 2022 à 13:58
18 mars 2022 à 13:58
Mais non... Il faut le mettre a la place de la boucle que tu as déjà..
fabi00
Messages postés
82
Date d'inscription
vendredi 4 février 2022
Statut
Membre
Dernière intervention
18 mars 2022
18 mars 2022 à 11:08
18 mars 2022 à 11:08
Help please :')
yg_be
Messages postés
23399
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 décembre 2024
1 556
18 mars 2022 à 11:13
18 mars 2022 à 11:13
bonjour,
ne manque-t-il pas une partie de ton code php?
ne manque-t-il pas une partie de ton code php?
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 717
18 mars 2022 à 11:18
18 mars 2022 à 11:18
Bonjour,
Question pas très claire...
Donc..
ceci:
OK !
Si tu fais un var_dump de cette variable, tu devrais voir une string qui contient chaque modèle selectionnés, séparés par un point virgule.
Par contre, tes deux autres lignes de codes... heu.. why ??
Que veux tu en faire ??
Qu'est-ce que cette variable $fields ?? A quoi doit elle te servir ?
Pourquoi veux tu transformer ton array de modeles en string ?
Si c'est pour stocker en bdd, il est préférable d'ajouter une table d'association plutôt que de tout vouloir stocker dans un champ de la table existante... ( ne serait-ce que pour faciliter les recherches)
Si c'est pour essayer de faire du JSON .. il n'y à pas besoin de faire du bricolage.. il existe des fonctions php pour transformer un array en json directement ..
Bref.. il faut détailler ton besoin de façon la plus claire possible
Question pas très claire...
Donc..
ceci:
$modele=implode(';', $_POST['modele']);
OK !
Si tu fais un var_dump de cette variable, tu devrais voir une string qui contient chaque modèle selectionnés, séparés par un point virgule.
Par contre, tes deux autres lignes de codes... heu.. why ??
Que veux tu en faire ??
Qu'est-ce que cette variable $fields ?? A quoi doit elle te servir ?
Pourquoi veux tu transformer ton array de modeles en string ?
Si c'est pour stocker en bdd, il est préférable d'ajouter une table d'association plutôt que de tout vouloir stocker dans un champ de la table existante... ( ne serait-ce que pour faciliter les recherches)
Si c'est pour essayer de faire du JSON .. il n'y à pas besoin de faire du bricolage.. il existe des fonctions php pour transformer un array en json directement ..
Bref.. il faut détailler ton besoin de façon la plus claire possible
fabi00
Messages postés
82
Date d'inscription
vendredi 4 février 2022
Statut
Membre
Dernière intervention
18 mars 2022
18 mars 2022 à 11:25
18 mars 2022 à 11:25
En fait les $fields c'est pour envoyer dans le mail toutes les infos du formulaire que l'utilisateur à sélectionner.
fabi00
Messages postés
82
Date d'inscription
vendredi 4 février 2022
Statut
Membre
Dernière intervention
18 mars 2022
18 mars 2022 à 11:19
18 mars 2022 à 11:19
Si, c'est vrai que j'ai envoyé seulement quelques parties.
Voici tout le code php
Voici tout le code php
<?php //Code php //On démarre une nouvelle session session_start(); //Si on appuie sur le bouton "Envoyer" if(isset($_POST['suivant'])){ //On récupère les données dans $_POST //foreach($_POST['modele'] as $modele); $modele=implode(';', $_POST['modele']); $marque=htmlspecialchars($_POST['marque'], ENT_QUOTES); $reference=htmlspecialchars($_POST['reference'], ENT_QUOTES); $couleur=$_POST['couleur']; $quantite=$_POST['quantite']; $qualite=$_POST['qualite']; $emplacement=$_POST['emplacement']; $impression=$_POST['impression']; $prenom=htmlspecialchars($_POST['prenom'], ENT_QUOTES); $nom=htmlspecialchars($_POST['nom'], ENT_QUOTES); $societe=htmlspecialchars($_POST['societe'], ENT_QUOTES); $tva=htmlspecialchars($_POST['tva'], ENT_QUOTES); $email=htmlspecialchars($_POST['email'], ENT_QUOTES); $telephone=htmlspecialchars($_POST['telephone'], ENT_QUOTES); $adresse=htmlspecialchars($_POST['adresse'], ENT_QUOTES); $precision=htmlspecialchars($_POST['precision'], ENT_QUOTES); //On définit des variables de session $_SESSION['modele'] = $modele; $_SESSION['marque'] = $marque; $_SESSION['reference'] = $reference; $_SESSION['couleur'] = $couleur; $_SESSION['quantite'] = $quantite; $_SESSION['qualite'] = $qualite; $_SESSION['emplacement'] = $emplacement; $_SESSION['impression'] = $impression; $_SESSION['prenom'] = $prenom; $_SESSION['nom'] = $nom; $_SESSION['societe'] = $societe; $_SESSION['tva'] = $tva; $_SESSION['email'] = $email; $_SESSION['telephone'] = $telephone; $_SESSION['adresse'] = $adresse; $_SESSION['precison'] = $precision; // associer un label à chaque donnée récupérée du formulaire dans un tableau $fields = array(); $fields{"modele"} = "\nModèle"; $fields{"marque"} = "\nMarque"; $fields{"reference"} = "\nRéférence"; $fields{"couleur"} = "\nCouleur"; $fields{"quantite"} = "\nQuantité"; $fields{"qualite"} = "\nQualité"; $fields{"emplacement"} = "\nEmplacement"; $fields{"impression"} = "\nTechnique d'impression"; $fields{"prenom"} = "\nPrenom"; $fields{"nom"} = "\nNom"; $fields{"societe"} = "\nNom de Société"; $fields{"tva"} = "\nTva"; $fields{"email"} = "\nEmail"; $fields{"telephone"} = "\nTéléphone"; $fields{"adresse"} = "\nAdresse"; $fields{"precision"} = "\nDescription du projet"; //Envoi du fichier /* variables à modifier */ $taillemax = 1000000; // taille max d'un fichier (multiple de 1024) $filetype = "/jpeg|pdf|png|gif/i"; // types de fichiers acceptés, séparés par | $nametype = "/\.jpeg|\.jpg|\.pdf|\png|\.gif/i"; // extensions correspondantes $rep = "uploads/"; // répertoire de destination $maxfichier = 10; // nombre maximal de fichiers /* fin des modifications */ // fichier courant (URI absolue) : formulaire récursif $PHP_SELF = basename($_SERVER['PHP_SELF']); if($_POST) { $msg = array(); // message $fichier = $_FILES['fichier']; // simplication du tableau $_FILES for($i=0; $i<count($fichier['name']); $i++) { // nom du fichier original = nom par défaut $nom = $fichier['name'][$i]; // test existence fichier if(!strlen($nom)) { $msg[] = "Aucun fichier !"; continue; } // si un nouveau nom est renseigné (avec extension correcte) if(preg_match($nametype, $_POST['lenom'][$i])) $nom = $_POST['lenom'][$i]; // répertoire de destination $destination = $rep.$nom; // test erreur (PHP 4.3) if($fichier['error'][$i]) { switch($fichier['error'][$i]) { // dépassement de upload_max_filesize dans php.ini case UPLOAD_ERR_INI_SIZE: $msg[] = "Fichier trop volumineux !"; break; // dépassement de MAX_FILE_SIZE dans le formulaire case UPLOAD_ERR_FORM_SIZE: $msg[] = "Fichier trop volumineux (supérieur à ".(INT)($taillemax/1024)." Mo)"; break; // autres erreurs default: $msg[] = "Impossible d'uploader le fichier !"; } } // test taille fichier elseif($fichier['size'][$i] > $taillemax) $msg[] = "Fichier $nom trop volumineux : ".$fichier['size'][$i]; // test type fichier elseif(!preg_match($filetype, $fichier['type'][$i])) $msg[] = "Fichier $nom de type incorrect : ".$fichier['type'][$i]; // test upload sur serveur (rep. temporaire) elseif(!@is_uploaded_file($fichier['tmp_name'][$i])) $msg[] = "Impossible d'uploader $nom"; // test transfert du serveur au répertoire elseif(!@move_uploaded_file($fichier['tmp_name'][$i], $destination)) $msg[] = "Problème de transfert avec $nom"; else $msg[] = "Fichier <b>$nom</b> téléchargé avec succès !"; } // affichage confirmation for($i=0; $i<=count($msg); $i++) echo "<p>$msg[$i]</p>"; } // To $to = 'monadress@monadress.com'; //From $from = $_SESSION['email']; // Subject $subject = 'Formulaire de devis - Test Mail'; $msg = $modele; // clé aléatoire de limite $boundary = md5(uniqid(microtime(), TRUE)); // Headers $headers = "Reply-to: \"test\" <monadress@monadresse.com>\n"; $headers .= "From: \"test\"<monadress@monadresse.com>\n"; //NOTE: l'adresse email indiquée dans le header From doit etre l'adresse absolue du serveur qui envoie les messages, //et peut etre differente de votre adresse de contact si vous etes par exemple sur un serveur dedié partagé. $headers .= 'Mime-Version: 1.0'. 'Date: '. date('r') . "\r\n"; $headers .= 'Content-Type: multipart/mixed;boundary='.$boundary."\r\n"; $headers .= "\r\n"; // Message $msg = 'This is a multipart/mixed message.'."\r\n\r\n"; // Texte $msg .= '--'.$boundary."\r\n"; $msg .= 'Content-type:text/plain;charset=utf-8'."\r\n"; $msg .= 'Content-transfer-encoding:8bit'."\r\n"; $msg .= 'Information de la commande:'."\r\n"; foreach($fields as $a => $b){ $msg .= sprintf("%20s: %s",$b,$_REQUEST[$a]) . "\r\n"; } //indice de boucle permettant d'ajouter tous les fichiers joints $i=0; //Boucle permettant l'ajout de toutes les pieces jointes while($i < sizeof($fichier)) { //=====Lecture et mise en forme de la pièce jointe $fichier1 = fopen($rep . $fichier['name'][$i], "rb" ); $attachement = fread($fichier1, filesize($rep . $fichier['name'][$i])); $attachement = chunk_split(base64_encode($attachement)); fclose($fichier1); $msg .= '--'.$boundary."\r\n"; $msg .= 'Content-type:'.$filetype.';name='.$fichier['name'][$i]."\r\n"; $msg .= 'Content-transfer-encoding:base64'."\r\n"; $msg .= $attachement."\r\n"; $i++; } // Fin $msg .= '--'.$boundary."\r\n"; function validateEmail($email) { if(preg_match("/^[_\.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z-]+\.)+[a-zA-Z]{2,6}$/i", $email)) return true; else return false; } //envoie du formulaire if(mail($to,$subject,$msg,$headers) && mail($from,$subject,$msg,$headers)){ //header('Location: #'); echo "<h6>Votre message a bien été envoyé !</h6>"; $_SESSION = array(); } else{ //non envoyer //header('Location: #'); echo "<h6>Votre message n'a pas pu être envoyé !<h6>"; $_SESSION = array(); } //supprimer les fichiers uploadés pour ne pas encombrer inutilement le serveur unlink ("uploads/".$_FILES['fichier']['name']); } ?>
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 717
18 mars 2022 à 11:26
18 mars 2022 à 11:26
Le problème ne vient pas du code que tu nous as montré .. mais du fait que tu n'utilises pas cette variable dans ta boucle !
Tu boucles directement sur les données envoyées par ton formulaire ( à travers la variable $_REQUEST ... ce qui n'est pas conseillé au passage )
A la limite ( je n'ai pas envie de passer 4h à te refaire un code propre... ) tu peux
Tu boucles directement sur les données envoyées par ton formulaire ( à travers la variable $_REQUEST ... ce qui n'est pas conseillé au passage )
foreach($fields as $a => $b){ $msg .= sprintf("%20s: %s",$b,$_REQUEST[$a]) . "\r\n"; }
A la limite ( je n'ai pas envie de passer 4h à te refaire un code propre... ) tu peux
foreach($fields as $a => $b){ // si la "clé" du field = modele alors .. if($a == 'modele'){ $msg .= $modele; // on affiche le contenu de ta variable $modele } else { // sinon on traite les autres données envoyées en $_POST via la variable $_REQUEST $msg .= sprintf("%20s: %s",$b,$_REQUEST[$a]) . "\r\n"; } }
fabi00
Messages postés
82
Date d'inscription
vendredi 4 février 2022
Statut
Membre
Dernière intervention
18 mars 2022
>
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
18 mars 2022 à 11:42
18 mars 2022 à 11:42
Et est-ce que je dois placer ça avec les autres $fields ?
$fields = array(); $fields{"modele"} = "\nModèle"; foreach($fields as $a => $b){ // si la "clé" du field = modele alors .. if($a == 'modele'){ $msg .= $modele; // on affiche le contenu de ta variable $modele } else { // sinon on traite les autres données envoyées en $_POST via la variable $_REQUEST $msg .= sprintf("%20s: %s",$b,$_REQUEST[$a]) . "\r\n"; } } $fields{"marque"} = "\nMarque"; $fields{"reference"} = "\nRéférence"; $fields{"couleur"} = "\nCouleur"; $fields{"quantite"} = "\nQuantité"; $fields{"qualite"} = "\nQualité"; $fields{"emplacement"} = "\nEmplacement"; $fields{"impression"} = "\nTechnique d'impression"; $fields{"prenom"} = "\nPrenom"; $fields{"nom"} = "\nNom"; $fields{"societe"} = "\nNom de Société"; $fields{"tva"} = "\nTva"; $fields{"email"} = "\nEmail"; $fields{"telephone"} = "\nTéléphone"; $fields{"adresse"} = "\nAdresse"; $fields{"precision"} = "\nDescription du projet";
fabi00
Messages postés
82
Date d'inscription
vendredi 4 février 2022
Statut
Membre
Dernière intervention
18 mars 2022
>
fabi00
Messages postés
82
Date d'inscription
vendredi 4 février 2022
Statut
Membre
Dernière intervention
18 mars 2022
18 mars 2022 à 13:33
18 mars 2022 à 13:33
Parce que quand je fais ça, j'ai toujours comme message "Array"...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
fabi00
Messages postés
82
Date d'inscription
vendredi 4 février 2022
Statut
Membre
Dernière intervention
18 mars 2022
18 mars 2022 à 15:03
18 mars 2022 à 15:03
Ahh oui juste, merci beaucoup !