Choix de contact dans formulaire
jeremyyyyy
Messages postés
32
Statut
Membre
-
Profil bloqué -
Profil bloqué -
Bonjour,
Voila mon souci, après avoir pas mal chercher sur le net, je n'ai pas trouvé la réponse que je cherchais.
Je souhaiterai faire un formulaire en html (jusqu'ici tout va bien!) où l'utilisateur puisse choisir le destinataire parmi 4 choix (cases à cocher) avec la possibilité d'envoyer à 1 seul destinataire ou les 4 en même temps (voila le problème).
Merci de votre aide.
Voila mon souci, après avoir pas mal chercher sur le net, je n'ai pas trouvé la réponse que je cherchais.
Je souhaiterai faire un formulaire en html (jusqu'ici tout va bien!) où l'utilisateur puisse choisir le destinataire parmi 4 choix (cases à cocher) avec la possibilité d'envoyer à 1 seul destinataire ou les 4 en même temps (voila le problème).
Merci de votre aide.
A voir également:
- Choix de contact dans formulaire
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook compte désactivé - Guide
- Liste déroulante de choix excel - Guide
- Formulaire de reclamation instagram - Guide
- Formulaire de contact le bon coin introuvable ✓ - Forum Vos droits sur internet
12 réponses
Pas très cohérent selon moi ce que tu lui fais faire Veraldi Q...
Déjà tu peux regarder entre autre cette page: https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/913099-transmettez-des-donnees-avec-les-formulaires
Tu pourras ainsi mieux comprendre les bases du traitement de formulaire en PHP.
Je reprends mon exemple.
(Je me suis planté dans mon précédent message. C'était name="" et non value="")
Explication:
<form> est la balise qui délimite le formulaire.
traitement.php est dans mon exemple la page qui va contenir la script PHP du traitement du formulaire. Dans mon exemple est donc dans un deuxième fichier.
Tu peux très bien l'inclure dans le fichier qui contient le formulaire.
Côté traitement
if(): tu peux le traduire par un "si"
isset(): vérifie avec l'ajout du if() si ta variable est défini.
$_POST['personne1']: variable qui récupère la valeur du champ du formulaire <input />.
Dans le cas présent, il récupère la valeur de la balise html:
La valeur $_POST[] prends la valeur d'une balise input en fonction de l'attribue name="" de celle-ci.
Autrement dit:
$_POST['personne1'] prends la valeur de la balise
Checkbox
Une balise de type checkbox prends deux valeurs.
Si la case est coché la variable $_POST[''] est défini.
Dans le cas contraire elle n'est pas défini.
Autrement dit:
La condition if() vérifie que la case correspondante est bien coché et execute le script contenu entre { et }.
Dans le cas présent, tu veux envoyer un mail.
Il te faudra utiliser la fonction mail() de PHP.
Je te conseil déjà de bien analysé et comprendre tout ce que je viens d'expliquer.
Tu as tout sur ces deux pages qui sont très bien faite:
https://openclassrooms.com/fr/courses/1603881-apprenez-a-creer-votre-site-web-avec-html5-et-css3
https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/913099-transmettez-des-donnees-avec-les-formulaires
Pour l'envoi de mail en PHP:
https://www.vulgarisation-informatique.com/mail.php
J'espère avoir été clair dans mes explications.
En cas de besoin, hésite à me demander des précisions.
« La recherche commence là où s'arrête la connaissance. »
Déjà tu peux regarder entre autre cette page: https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/913099-transmettez-des-donnees-avec-les-formulaires
Tu pourras ainsi mieux comprendre les bases du traitement de formulaire en PHP.
Je reprends mon exemple.
<form method="post" action="traitement.php"> <p>Destinataire:</p> <p><input type="checkbox" name="personne1" /> Personne 1</p> <p><input type="checkbox" name="personne2" /> Personne 2</p> <p><input type="checkbox" name="personne3" /> Personne 3</p> <p><input type="checkbox" name="personne4" /> Personne 4</p> <p><input type="submit" name="envoi" value="Envoyer" /></p> </form>
(Je me suis planté dans mon précédent message. C'était name="" et non value="")
Explication:
<form method="post" action="traitement.php">
<form> est la balise qui délimite le formulaire.
action="traitement.php"
traitement.php est dans mon exemple la page qui va contenir la script PHP du traitement du formulaire. Dans mon exemple est donc dans un deuxième fichier.
Tu peux très bien l'inclure dans le fichier qui contient le formulaire.
Côté traitement
<?php
if(isset($_POST['personne1']))
{
// Traitement...
}
if(isset($_POST['personne2']))
{
// Traitement...
}
// Etc...
?>
if(isset($_POST['personne1']))
if(): tu peux le traduire par un "si"
isset(): vérifie avec l'ajout du if() si ta variable est défini.
$_POST['personne1']: variable qui récupère la valeur du champ du formulaire <input />.
Dans le cas présent, il récupère la valeur de la balise html:
<input type="checkbox" name="personne1" />
La valeur $_POST[] prends la valeur d'une balise input en fonction de l'attribue name="" de celle-ci.
Autrement dit:
$_POST['personne1'] prends la valeur de la balise
<input type="checkbox" name="personne1" />
Checkbox
Une balise de type checkbox prends deux valeurs.
Si la case est coché la variable $_POST[''] est défini.
Dans le cas contraire elle n'est pas défini.
Autrement dit:
if(isset($_POST['personne1']))
{
// Traitement si la variable est défini, donc si la case est coché
}
La condition if() vérifie que la case correspondante est bien coché et execute le script contenu entre { et }.
Dans le cas présent, tu veux envoyer un mail.
Il te faudra utiliser la fonction mail() de PHP.
Je te conseil déjà de bien analysé et comprendre tout ce que je viens d'expliquer.
Tu as tout sur ces deux pages qui sont très bien faite:
https://openclassrooms.com/fr/courses/1603881-apprenez-a-creer-votre-site-web-avec-html5-et-css3
https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/913099-transmettez-des-donnees-avec-les-formulaires
Pour l'envoi de mail en PHP:
https://www.vulgarisation-informatique.com/mail.php
J'espère avoir été clair dans mes explications.
En cas de besoin, hésite à me demander des précisions.
« La recherche commence là où s'arrête la connaissance. »
Bonjour,
Est-ce que tu sais te servir de php ?
Si oui, il faut que tu mettes une condition dans ton form, et que le destinataire tu le mettes dans une variable, que tu mettras dans "action=...".
En gros
Est-ce que tu sais te servir de php ?
Si oui, il faut que tu mettes une condition dans ton form, et que le destinataire tu le mettes dans une variable, que tu mettras dans "action=...".
En gros
genre <form method=".." action="<?php echo $destinataire ?>">
Ca mettrai dans action la valeur de la variable $destinataire
Et il te faudrai mettre dans celle-ci ce que tu souhaites, exemple
<? php $destinataire="mavaleurdedestinataire" ?>
Dans cet exemple, action renverrait à la page contenue dans $destinataire,
Après tu adaptes, bien entendu, ce qui t'intéresse n'est pas forcément de le mettre dans action, tu peux le mettre partout.
Ca mettrai dans action la valeur de la variable $destinataire
Et il te faudrai mettre dans celle-ci ce que tu souhaites, exemple
<? php $destinataire="mavaleurdedestinataire" ?>
Dans cet exemple, action renverrait à la page contenue dans $destinataire,
Après tu adaptes, bien entendu, ce qui t'intéresse n'est pas forcément de le mettre dans action, tu peux le mettre partout.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Qlqe chose dans ce style ?
<form method="post" action="<?php echo $destinataire ?>">
<tr>
<td class="normal">Service à contacter</td>
</tr>
<tr>
<td width="300" height="24">
<select name="Destinataire" id="Destinataire">
<option value="adresse1@mail.fr">Service 1</option>
<option value="adresse2@mail.fr">Service 2</option>
<option value="adresse3@mail.fr">Service 3</option>
<option value="adresse4@mail.fr">Service 4</option>
</select>
</td>
</tr>
<? php $destinataire="Destinataire" ?>
<tr>
<td class="texte">Votre Nom</td>
</tr>
<tr>
<td width="300" height="24"><input name="Nom" size="26"></td>
</tr>
...
...
...
<tr>
<td class="texte">Votre Message</td>
</tr>
<tr>
<td width="100%"><textarea wrap=virtual rows=2 cols=26 name="Message" size="26"></textarea>
<br><br>
<input name="submit" type="submit" value="Envoyer" />
</td>
</tr>
</form>
<form method="post" action="<?php echo $destinataire ?>">
<tr>
<td class="normal">Service à contacter</td>
</tr>
<tr>
<td width="300" height="24">
<select name="Destinataire" id="Destinataire">
<option value="adresse1@mail.fr">Service 1</option>
<option value="adresse2@mail.fr">Service 2</option>
<option value="adresse3@mail.fr">Service 3</option>
<option value="adresse4@mail.fr">Service 4</option>
</select>
</td>
</tr>
<? php $destinataire="Destinataire" ?>
<tr>
<td class="texte">Votre Nom</td>
</tr>
<tr>
<td width="300" height="24"><input name="Nom" size="26"></td>
</tr>
...
...
...
<tr>
<td class="texte">Votre Message</td>
</tr>
<tr>
<td width="100%"><textarea wrap=virtual rows=2 cols=26 name="Message" size="26"></textarea>
<br><br>
<input name="submit" type="submit" value="Envoyer" />
</td>
</tr>
</form>
Je pense qu'il faudrait plutôt te mettre dans la page qui reçoit tes données.
Ensuite tu fais un test sur les valeurs des checkbox envoyées, en php, pour récupérer tes adresses mail, genre
<?php
if (isset($_POST['Tontruc']))
{
if ($_POST['Tontruc']=="adressemail1")
{
$destinataire="adressemail1";
}
if ($_POST['Tontruc']=="adressemail2")
{
$destinataire="adressemail2";
}
if ($_POST['Tontruc']=="adressemail3")
{
$destinataire="adressemail3";
}
if ($_POST['Tontruc']=="adressemail4")
{
$destinataire="adressemail4";
}
}
?>
C'est un exemple. Après, il faut que tu mettes tes bonnes conditions dans if, et les bonnes instructions dans $destinataire.
Après tu peux utiliser ta variable $destinataire pour faire ce que tu veux...
Ensuite tu fais un test sur les valeurs des checkbox envoyées, en php, pour récupérer tes adresses mail, genre
<?php
if (isset($_POST['Tontruc']))
{
if ($_POST['Tontruc']=="adressemail1")
{
$destinataire="adressemail1";
}
if ($_POST['Tontruc']=="adressemail2")
{
$destinataire="adressemail2";
}
if ($_POST['Tontruc']=="adressemail3")
{
$destinataire="adressemail3";
}
if ($_POST['Tontruc']=="adressemail4")
{
$destinataire="adressemail4";
}
}
?>
C'est un exemple. Après, il faut que tu mettes tes bonnes conditions dans if, et les bonnes instructions dans $destinataire.
Après tu peux utiliser ta variable $destinataire pour faire ce que tu veux...
Si tu veux avoir la possibilité d'en choisir soit un, soit deux ou même les quatres, il te faut utiliser des checkbox.
Côté formulaire:
Côté traitement:
Voir cette page pour les formulaire: https://openclassrooms.com/fr/courses/1603881-apprenez-a-creer-votre-site-web-avec-html5-et-css3
Côté formulaire:
<form method="post" action="traitement.php"> <p>Destinataire:</p> <p><input type="checkbox" value="personne1" /> Personne 1</p> <p><input type="checkbox" value="personne2" /> Personne 2</p> <p><input type="checkbox" value="personne3" /> Personne 3</p> <p><input type="checkbox" value="personne4" /> Personne 4</p> <p><input type="submit" name="envoi" value="Envoyer" /></p> </form>
Côté traitement:
<?php
if(isset($_POST['personne1']))
{
// Traitement...
}
if(isset($_POST['personne2']))
{
// Traitement...
}
// Etc...
?>
Voir cette page pour les formulaire: https://openclassrooms.com/fr/courses/1603881-apprenez-a-creer-votre-site-web-avec-html5-et-css3
Désolé j'insister mais je suis vraiment mauvais en php et je ne vois pas comment programmer mon fichier "traitement.php".... :(
et comment lier mon bouton "envoyer" avec la variable "destinataire" ?
et comment lier mon bouton "envoyer" avec la variable "destinataire" ?
Isset vérifie que ta variable soit définie, pour pouvoir après tester l'égalité ou quoi.
Ensuite, tu testes la valeur qui est transférée via ton form, tans $_POST
et en gros, tu vas mettre ce que tu veux dans ta variable $destinataire.
Et pour l'utiliser, il te faudra juste mettre
<?php echo $destinataire ?>
Qui va ecrire ce qui est contenu dans la variable $destinataire.
Ensuite, tu testes la valeur qui est transférée via ton form, tans $_POST
et en gros, tu vas mettre ce que tu veux dans ta variable $destinataire.
Et pour l'utiliser, il te faudra juste mettre
<?php echo $destinataire ?>
Qui va ecrire ce qui est contenu dans la variable $destinataire.
Comme cela ?
<form method="post" action="<?php echo $destinataire ?>">
<tr>
<td class="normal">Service à contacter</td>
</tr>
<tr>
<td width="300" height="24">
<select name="Destinataire" id="Destinataire">
Service 1<input name="Service 1" type="checkbox" value="personne1" checked /><br />
Service 2<input name="Service 2" type="checkbox" value="personne2" checked /><br />
Service 3<input name="Service 3" type="checkbox" value="personne3" checked /><br />
Service 4<input name="Service 4" type="checkbox" value="personne4" checked /><br />
</select>
</td>
</tr>
<?php
if(isset($_POST['personne1']))
{
$destinataire="adresse1@mail.com";
}
if(isset($_POST['personne2']))
{
$destinataire="adresse2@mail.com";
}
if(isset($_POST['personne3']))
{
$destinataire="adresse3@mail.com";
}
if(isset($_POST['personne4']))
{
$destinataire="adresse4@mail.com";
}
}
?>
<tr>
<td class="texte">Votre Nom</td>
</tr>
<tr>
<td width="300" height="24"><input name="Nom" size="26"></td>
</tr>
...
...
...
<tr>
<td class="texte">Votre Message</td>
</tr>
<tr>
<td width="100%"><textarea wrap=virtual rows=2 cols=26 name="Message" size="26"></textarea>
<br><br>
<input name="submit" type="submit" value="Envoyer" />
</td>
</tr>
</form>
MERCI POUR AIDE
<form method="post" action="<?php echo $destinataire ?>">
<tr>
<td class="normal">Service à contacter</td>
</tr>
<tr>
<td width="300" height="24">
<select name="Destinataire" id="Destinataire">
Service 1<input name="Service 1" type="checkbox" value="personne1" checked /><br />
Service 2<input name="Service 2" type="checkbox" value="personne2" checked /><br />
Service 3<input name="Service 3" type="checkbox" value="personne3" checked /><br />
Service 4<input name="Service 4" type="checkbox" value="personne4" checked /><br />
</select>
</td>
</tr>
<?php
if(isset($_POST['personne1']))
{
$destinataire="adresse1@mail.com";
}
if(isset($_POST['personne2']))
{
$destinataire="adresse2@mail.com";
}
if(isset($_POST['personne3']))
{
$destinataire="adresse3@mail.com";
}
if(isset($_POST['personne4']))
{
$destinataire="adresse4@mail.com";
}
}
?>
<tr>
<td class="texte">Votre Nom</td>
</tr>
<tr>
<td width="300" height="24"><input name="Nom" size="26"></td>
</tr>
...
...
...
<tr>
<td class="texte">Votre Message</td>
</tr>
<tr>
<td width="100%"><textarea wrap=virtual rows=2 cols=26 name="Message" size="26"></textarea>
<br><br>
<input name="submit" type="submit" value="Envoyer" />
</td>
</tr>
</form>
MERCI POUR AIDE
mets plutôt
<form method="post" action="#ici">
<tr>
<td class="normal">Service à contacter</td>
</tr>
<tr>
<td width="300" height="24">
<select name="Destinataire" id="Destinataire">
Service 1<input name="Service 1" type="checkbox" value="personne1" checked /><br />
Service 2<input name="Service 1" type="checkbox" value="personne2" checked /><br />
Service 3<input name="Service 1" type="checkbox" value="personne3" checked /><br />
Service 4<input name="Service 1" type="checkbox" value="personne4" checked /><br />
</select>
</td>
</tr>
<?php
if(isset($_POST['Service1']))
{if ($_POST['Service1']=="personne1")
{
$destinataire="adresse1@mail.com";
}
{if ($_POST['Service1']=="personne2")
{
$destinataire="adresse2@mail.com";
}
{if ($_POST['Service1']=="personne3")
{
$destinataire="adresse3@mail.com";
}
{if ($_POST['Service1']=="personne4")
{
$destinataire="adresse4@mail.com";
}
}
}
?>
<tr>
<td class="texte">Votre Nom</td>
</tr>
<tr>
<td width="300" height="24"><input name="Nom" size="26"></td>
</tr>
...
...
...
<tr>
<td class="texte">Votre Message</td>
</tr>
<tr>
<td width="100%"><textarea wrap=virtual rows=2 cols=26 name="Message" size="26"></textarea>
<br><br>
<input name="submit" type="submit" value="Envoyer" />
</td>
</tr>
</form>
La valeur de $destinataire est :
<?php echo $destinataire ?>
Inspires toi de ça. Tu vas finir par trouver.
<form method="post" action="#ici">
<tr>
<td class="normal">Service à contacter</td>
</tr>
<tr>
<td width="300" height="24">
<select name="Destinataire" id="Destinataire">
Service 1<input name="Service 1" type="checkbox" value="personne1" checked /><br />
Service 2<input name="Service 1" type="checkbox" value="personne2" checked /><br />
Service 3<input name="Service 1" type="checkbox" value="personne3" checked /><br />
Service 4<input name="Service 1" type="checkbox" value="personne4" checked /><br />
</select>
</td>
</tr>
<?php
if(isset($_POST['Service1']))
{if ($_POST['Service1']=="personne1")
{
$destinataire="adresse1@mail.com";
}
{if ($_POST['Service1']=="personne2")
{
$destinataire="adresse2@mail.com";
}
{if ($_POST['Service1']=="personne3")
{
$destinataire="adresse3@mail.com";
}
{if ($_POST['Service1']=="personne4")
{
$destinataire="adresse4@mail.com";
}
}
}
?>
<tr>
<td class="texte">Votre Nom</td>
</tr>
<tr>
<td width="300" height="24"><input name="Nom" size="26"></td>
</tr>
...
...
...
<tr>
<td class="texte">Votre Message</td>
</tr>
<tr>
<td width="100%"><textarea wrap=virtual rows=2 cols=26 name="Message" size="26"></textarea>
<br><br>
<input name="submit" type="submit" value="Envoyer" />
</td>
</tr>
</form>
La valeur de $destinataire est :
<?php echo $destinataire ?>
Inspires toi de ça. Tu vas finir par trouver.