Problème value radio
delaville81
Messages postés
195
Date d'inscription
Statut
Membre
Dernière intervention
-
delaville81 Messages postés 195 Date d'inscription Statut Membre Dernière intervention -
delaville81 Messages postés 195 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'aurais besoin de votre aide pour comprendre quel est le problème.
Quand je clique sur "Envoyer" il ne récupère pas les pas les adresses mails.
Configuration: Macintosh / Chrome 101.0.4951.64
J'aurais besoin de votre aide pour comprendre quel est le problème.
$destina = $_POST['desti']; if($destina == 1){ $sql = "SELECT id_membre,email FROM membre WHERE email != ''"; $pdo->exec('SET NAMES utf8'); $resultat = $pdo->query($sql); $tableau = array(); while($var = $resultat->fetch()){ $tableau[] = $var['email']; } $mailing = ""; for($i=0;$i<count($tableau);$i++){ $mailing .= $tableau[$i].","; } }
<form id= "" action="mail_send.php" method ="POST" enctype="multipart/form-data"> <h4>Destinataires</h4> <div class="form-check"> <input class="form-check-input radio_block" type="radio" name="desti" id="radio1" value="1"> <label class="form-check-label" for="radio1">Tous les membres</label> </div> <div class="form-check"> <input class="form-check-input radio_block" type="radio" name="desti" id="radio2" value="2"> <label class="form-check-label" for="radio2">Membres non incrits</label> </div> <div class="form-check"> <input class="form-check-input radio_block" type="radio" name="desti" id="radio3" value="3"> <label class="form-check-label" for="radio3">Membres incrits</label> </div> <div class="form-check"> <input class="form-check-input radio_block" type="radio" name="desti" id="radio4" value="4"> <label class="form-check-label" for="radio4">Référents</label> </div> <div class="ligne_top"></div> <input type="hidden" name="mailmembre" id="mailmembre" value="<?php echo substr($mailing,0,-1); ?>"> <div class="input-group mb-3"> <div class="input-group-prepend"> <span class="input-group-text" id="inputGroup-sizing-default">Sujet</span> </div> <input type="text" class="form-control" name="sujet" aria-label="Default" aria-describedby="inputGroup-sizing-default" id="sujetMail"> </div> <div class="form-group"> <label for="exampleFormControlTextarea1">Mail</label> <textarea class="form-control" name="mail" id="textMail" rows="3"></textarea> </div> <div class="button_right"> <button type="submit" class="btn btn-primary" name="envoyer" id="sendMailing" disabled="disabled">Envoyer</button> </div> </form>
Quand je clique sur "Envoyer" il ne récupère pas les pas les adresses mails.
Configuration: Macintosh / Chrome 101.0.4951.64
A voir également:
- Problème value radio
- Radio française - Télécharger - Médias et Actualité
- Télécharger podcast radio france mp3 - Guide
- Horloge radio pilotée ne se met pas à l'heure ✓ - Forum Windows 8 / 8.1
- Comment amplifier une antenne radio fm - Forum Audio
- Écouter la radio freebox pop - Forum Freebox
8 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour,
le point de départ, c'est d'afficher le contenu de $_POST.
le point de départ, c'est d'afficher le contenu de $_POST.
Bonjour,
Commence par faire un var_dump de la variable $_POST et regarde ce qu'elle contient.
De plus, vu que tu fais du PDO, je t'invite à mettre en place ceci :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Tu peux aussi remplacer ta boucle pour concaténer tes adresses .. par l'utilisation de la fonction implode()
https://www.php.net/manual/fr/function.implode.php
Commence par faire un var_dump de la variable $_POST et regarde ce qu'elle contient.
De plus, vu que tu fais du PDO, je t'invite à mettre en place ceci :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Tu peux aussi remplacer ta boucle pour concaténer tes adresses .. par l'utilisation de la fonction implode()
https://www.php.net/manual/fr/function.implode.php
Ma variable est NULL au chargement de la page. Une fois postée j'ai : String (1) "1"
La page appelé dans le <form> envoi un mail.
La liste n'est pas remplie par le POST.
Je bloque
La page appelé dans le <form> envoi un mail.
La liste n'est pas remplie par le POST.
Je bloque
As tu modifié ton code PDO comme je te l'ai demandé ?
Et puis.. as tu essayé de faire des var_dump des différentes variables ($tableau, $mailing) pour voir ce qu'elles contiennent ? (Au passage.. je t'ai demandé un var_dump de $_POST ... pas un var_dump de $_POST['desti'] )
Et as tu testé ta requête DIRECTEMENT dans ta bdd ( via l'interface de phpmyadmin par exemple ) ? Te retourne-t'elle ce que tu veux ? peux tu nous en mettre une capture écran ?
Et puis.. as tu essayé de faire des var_dump des différentes variables ($tableau, $mailing) pour voir ce qu'elles contiennent ? (Au passage.. je t'ai demandé un var_dump de $_POST ... pas un var_dump de $_POST['desti'] )
Et as tu testé ta requête DIRECTEMENT dans ta bdd ( via l'interface de phpmyadmin par exemple ) ? Te retourne-t'elle ce que tu veux ? peux tu nous en mettre une capture écran ?
Jordane45,
Je m'excuse pour ma réponse si tardive.
en réponse à tes questions,
J'ai bien modifier mon code avec les erreurs PDO
var_dump($_POST);
array(5) { ["desti"]=> string(1) "1" ["mailmembre"]=> string(0) "" ["sujet"]=> string(0) "" ["mail"]=> string(0) "" ["envoyer"]=> string(0) "" }
Je m'excuse pour ma réponse si tardive.
en réponse à tes questions,
J'ai bien modifier mon code avec les erreurs PDO
var_dump($_POST);
array(5) { ["desti"]=> string(1) "1" ["mailmembre"]=> string(0) "" ["sujet"]=> string(0) "" ["mail"]=> string(0) "" ["envoyer"]=> string(0) "" }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question<?php error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); include 'header.php'; if(isset($_SESSION['log'])){ ?> <div class="ligne_top"></div> <div class="row"> <div class="col-12 col-sm-12 col-md-8"> <?php if(isset($_POST['desti']) == 1){ $sql = "SELECT id_membre,email FROM membre WHERE email != ''"; $pdo->exec('SET NAMES utf8'); $resultat = $pdo->query($sql); $tableau = array(); while($var = $resultat->fetch()){ $tableau[] = $var['email']; } $mailing = ""; for($i=0;$i<count($tableau);$i++){ $mailing .= $tableau[$i].","; } var_dump($_POST); } if(isset($_POST['desti']) == 2){ $sql = "SELECT id_membre, mail FROM user"; $pdo->exec('SET NAMES utf8'); $resultat = $pdo->query($sql); $tab_user = array(); while($var = $resultat->fetch()){ $tab_user[] = $var['id_membre']; } $user_insrits = ""; for($i=0;$i<count($tab_user);$i++){ $user_insrits .= $tab_user[$i].","; } $extarct_user = substr($user_insrits,0,-1); $sql_not = "SELECT id_membre,email FROM membre WHERE email != '' AND id_membre NOT IN (".$extarct_user.")"; $pdo->exec('SET NAMES utf8'); $resu = $pdo->query($sql_not); $tableau = array(); while($var = $resu->fetch()){ $tableau[] = $var['email']; } $mailing = ""; for($j=0;$j<count($tableau);$j++){ $mailing .= $tableau[$j].","; } } if(isset($_POST['desti'])== 3){ $sql = "SELECT id_user, mail FROM user"; $pdo->exec('SET NAMES utf8'); $resultat = $pdo->query($sql); $tableau = array(); while($var = $resultat->fetch()){ $tableau[] = $var['mail']; } $mailing = ""; for($i=0;$i<count($tableau);$i++){ $mailing .= $tableau[$i].","; } } if(isset($_POST['desti']) == 4){ $sql = "SELECT id_membre,email,ref FROM membre WHERE email != '' AND ref = 1"; $pdo->exec('SET NAMES utf8'); $resultat = $pdo->query($sql); $tableau = array(); while($var = $resultat->fetch()){ $tableau[] = $var['email']; } $mailing = ""; for($i=0;$i<count($tableau);$i++){ $mailing .= $tableau[$i].","; } } ?> <h1>Mailing</h1> <form id= "" action="mailing.php" method ="POST" enctype="multipart/form-data"> <!--<form id= "" action="mail_send.php" method ="POST" enctype="multipart/form-data">--> <h4>Destinataires</h4> <div class="form-check"> <input class="form-check-input radio_block" type="radio" name="desti" id="radio1" value="1"> <label class="form-check-label" for="radio1">Tous les membres</label> </div> <div class="form-check"> <input class="form-check-input radio_block" type="radio" name="desti" id="radio2" value="2"> <label class="form-check-label" for="radio2">Membres non incrits</label> </div> <div class="form-check"> <input class="form-check-input radio_block" type="radio" name="desti" id="radio3" value="3"> <label class="form-check-label" for="radio3">Membres incrits</label> </div> <div class="form-check"> <input class="form-check-input radio_block" type="radio" name="desti" id="radio4" value="4"> <label class="form-check-label" for="radio4">Référents</label> </div> <div class="ligne_top"></div> <input type="hidden" name="mailmembre" id="mailmembre" value="<?php echo substr($mailing,0,-1); ?>"> <div class="input-group mb-3"> <div class="input-group-prepend"> <span class="input-group-text" id="inputGroup-sizing-default">Sujet</span> </div> <input type="text" class="form-control" name="sujet" aria-label="Default" aria-describedby="inputGroup-sizing-default" id="sujetMail"> </div> <div class="form-group"> <label for="exampleFormControlTextarea1">Mail</label> <textarea class="form-control" name="mail" id="textMail" rows="3"></textarea> </div> <div class="button_right"> <button type="submit" class="btn btn-primary" name="envoyer" id="sendMailing" disabled="disabled">Envoyer</button> </div> </form> </div> </div> <?php }else{ header('location:../erreur.php'); } include 'footer.php';
Pourrais tu me donner la bonne syntaxe ?
Je cherche aussi la bonne syntaxe des requête préparée en SELECT (Tu m'avais donné la bonne syntaxe en INSERT UPDATE et DELETE)
Je trouve plusieurs exemple sur les sites php.
Merci
Je cherche aussi la bonne syntaxe des requête préparée en SELECT (Tu m'avais donné la bonne syntaxe en INSERT UPDATE et DELETE)
Je trouve plusieurs exemple sur les sites php.
Merci
Que ça soit un insert, un update, un delete .. ou un select ... c'est toujours la même chose...
//préparation de la requête et des variables $sql = "SELECT * FROM matable WHERE champ1 = :valeur1"; //Les données à envoyer dans la requête $datas = array(':valeur1'=>$valeur1); //Execution de la requete ( TOUJOURS LE MEME CODE...) try{ $requete = $bdd -> prepare($sql) ; $requete->execute($datas) ; }catch(Exception $e){ // en cas d'erreur : echo " Erreur ! ".$e->getMessage(); echo " Les datas : " ; print_r($datas); }
J'ai fait comme tu m'a dit
j'ai :
Notice: Undefined variable: id_membre in /home/........./mailing.php on line 17
Notice: Undefined variable: email in /home/........./mailing.php on line 17
Notice: Undefined variable: bdd in /home/........./mailing.php on line 20
Fatal error: Uncaught Error: Call to a member function prepare() on null in /home/........./mailing.php:20 Stack trace: #0 {main} thrown in /home/........./mailing.php on line 20
Merci de ton aide
$sql = "SELECT id_membre,email FROM membre WHERE email != ''"; $datas = array(':id_membre'=>$id_membre, ':email'=>$email); try{ $requete = $bdd -> prepare($sql) ; $requete->execute($datas) ; while($var = $requete->fetch()){ $tableau[] = $var['email']; } $mailing = ""; for($i=0;$i<count($tableau);$i++){ $mailing .= $tableau[$i].","; } }catch(Exception $e){ echo " Erreur ! ".$e->getMessage(); echo " Les datas : " ; print_r($datas); }
j'ai :
Notice: Undefined variable: id_membre in /home/........./mailing.php on line 17
Notice: Undefined variable: email in /home/........./mailing.php on line 17
Notice: Undefined variable: bdd in /home/........./mailing.php on line 20
Fatal error: Uncaught Error: Call to a member function prepare() on null in /home/........./mailing.php:20 Stack trace: #0 {main} thrown in /home/........./mailing.php on line 20
Merci de ton aide
J'ai résolu le problème des requêtes SELECT.
Fatal error j'ai remplacé $bdd par $pdo, ça marche.
Je les ai testé indépendamment, elles fonctionnent.
Par contre ça ne résout pas mon problème de liste qui change sur le click de mes boutons radio.
Mon Code PHP pour validation
Merci de ton aide
Fatal error j'ai remplacé $bdd par $pdo, ça marche.
Je les ai testé indépendamment, elles fonctionnent.
Par contre ça ne résout pas mon problème de liste qui change sur le click de mes boutons radio.
Mon Code PHP pour validation
if(isset($_POST['desti']) == 1){ $sql = "SELECT id_membre,email FROM membre WHERE email != :email"; $nothing = ""; $datas = array(':email'=>$nothing); try{ $requete = $pdo->prepare($sql); $requete->execute($datas); $tableau = array(); while($var = $requete->fetch()){ $tableau[] = $var['email']; } $mailing = ""; for($i=0;$i<count($tableau);$i++){ $mailing .= $tableau[$i].","; } }catch(Exception $e){ echo " Erreur ! ".$e->getMessage(); echo " Les datas : " ; print_r($datas); } } if(isset($_POST['desti']) == 2){ $sql = "SELECT id_membre, mail FROM user"; try{ $requete = $pdo->prepare($sql); $requete->execute(); $tab_user = array(); while($var = $requete->fetch()){ $tab_user[] = $var['id_membre']; } $user_insrits = ""; for($i=0;$i<count($tab_user);$i++){ $user_insrits .= $tab_user[$i].","; } $extarct_user = substr($user_insrits,0,-1); }catch(Exception $e){ echo " Erreur ! ".$e->getMessage(); echo " Les datas : " ; print_r($datas); } $sql_not = "SELECT id_membre,email FROM membre WHERE email != '' AND id_membre NOT IN ($extarct_user)"; try{ $requet = $pdo->prepare($sql_not); $requet->execute(); $tableau = array(); while($var = $requet->fetch()){ $tableau[] = $var['email']; } $mailing = ""; for($j=0;$j<count($tableau);$j++){ $mailing .= $tableau[$j].","; } }catch(Exception $e){ echo " Erreur ! ".$e->getMessage(); echo " Les datas : " ; print_r($datas); } } if(isset($_POST['desti'])== 3){ $sql = "SELECT id_user, mail FROM user"; try{ $requete = $pdo->prepare($sql); $requete->execute(); $tableau = array(); while($var = $requete->fetch()){ $tableau[] = $var['mail']; } $mailing = ""; for($i=0;$i<count($tableau);$i++){ $mailing .= $tableau[$i].","; } }catch(Exception $e){ echo " Erreur ! ".$e->getMessage(); echo " Les datas : " ; print_r($datas); } } if(isset($_POST['desti']) == 4){ $sql = "SELECT id_membre,email,ref FROM membre WHERE email != '' AND ref = 1"; try{ $requete = $pdo->prepare($sql); $requete->execute($datas); $tableau = array(); while($var = $requete->fetch()){ $tableau[] = $var['email']; } $mailing = ""; for($i=0;$i<count($tableau);$i++){ $mailing .= $tableau[$i].","; } }catch(Exception $e){ echo " Erreur ! ".$e->getMessage(); echo " Les datas : " ; print_r($datas); } }
Merci de ton aide