Pb formulaire php
Fermé
ZeroO
Messages postés
11
Date d'inscription
jeudi 24 avril 2008
Statut
Membre
Dernière intervention
1 mai 2008
-
25 avril 2008 à 00:29
ZeroO Messages postés 11 Date d'inscription jeudi 24 avril 2008 Statut Membre Dernière intervention 1 mai 2008 - 26 avril 2008 à 23:15
ZeroO Messages postés 11 Date d'inscription jeudi 24 avril 2008 Statut Membre Dernière intervention 1 mai 2008 - 26 avril 2008 à 23:15
A voir également:
- Pb formulaire php
- Formulaire de réclamation facebook - Guide
- Easy php - Télécharger - Divers Web & Internet
- Formulaire instagram compte suspendu - Guide
- Le formulaire rempli - Guide
- Confirmer le nouvel envoi du formulaire err_cache_miss ✓ - Forum HTML
4 réponses
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
922
25 avril 2008 à 01:50
25 avril 2008 à 01:50
salut,
je te propose un tuto de developpez.com et un autre avec PHP 5 à utiliser si possible.
je te propose un tuto de developpez.com et un autre avec PHP 5 à utiliser si possible.
Thamior
Messages postés
264
Date d'inscription
lundi 11 février 2008
Statut
Membre
Dernière intervention
18 mars 2014
47
25 avril 2008 à 01:58
25 avril 2008 à 01:58
Bonjour,
Dans ton formulaire, tu as du définir une balise <form>. Cette balise doit contenir plusieurs informations sous forme d'attribut. Pour plus d'information :
https://www.commentcamarche.net/contents/493-formulaires-html-cours-et-exemples
Une fois que tu as défini les attributs, tu créés ta page php (elle doit être identique au nom présent dans l'attribut action et ne doit pas comporter d'espace).
Pour récupérer les données tu fais :
- si method post = $_POST["nom du champ html"]; // le nom du champ est l'attribut name
- si method get = $_GET["nom du champ html"];
Pour l'envoie d'un formulaire en PHP, utilise la fonction mail() de PHP.
Manuel : https://www.php.net/manual/en/function.mail.php
Quelques liens sur CCM :
- http://www.commentcamarche.net/forum/affich 5333090 lien dans un email en php
- http://www.commentcamarche.net/faq/sujet 117 php fonction mail
En espérant que tout ceci d'aidera.
Dans ton formulaire, tu as du définir une balise <form>. Cette balise doit contenir plusieurs informations sous forme d'attribut. Pour plus d'information :
https://www.commentcamarche.net/contents/493-formulaires-html-cours-et-exemples
Une fois que tu as défini les attributs, tu créés ta page php (elle doit être identique au nom présent dans l'attribut action et ne doit pas comporter d'espace).
Pour récupérer les données tu fais :
- si method post = $_POST["nom du champ html"]; // le nom du champ est l'attribut name
- si method get = $_GET["nom du champ html"];
Pour l'envoie d'un formulaire en PHP, utilise la fonction mail() de PHP.
Manuel : https://www.php.net/manual/en/function.mail.php
Quelques liens sur CCM :
- http://www.commentcamarche.net/forum/affich 5333090 lien dans un email en php
- http://www.commentcamarche.net/faq/sujet 117 php fonction mail
En espérant que tout ceci d'aidera.
ZeroO
Messages postés
11
Date d'inscription
jeudi 24 avril 2008
Statut
Membre
Dernière intervention
1 mai 2008
25 avril 2008 à 20:54
25 avril 2008 à 20:54
Merci Thamior !
Et saurais-tu à tout hasard comment faire en sorte que les champs du formulaires soient renvoyés directement sur ma boîte mail??
Via un bouton "valider" ou autre sur la page php?
Et saurais-tu à tout hasard comment faire en sorte que les champs du formulaires soient renvoyés directement sur ma boîte mail??
Via un bouton "valider" ou autre sur la page php?
Thamior
Messages postés
264
Date d'inscription
lundi 11 février 2008
Statut
Membre
Dernière intervention
18 mars 2014
47
26 avril 2008 à 01:20
26 avril 2008 à 01:20
Bonjour,
En faite, il te faut récupérer tous les champs de ton formulaire et le mettre dans le corps du courriel.
Exemple pour un formulaire de contact :
<?
// Formulaire de contact en PHP
if($envoyer == "Envoyer")
{
/////voici la version Mine
$headers = "MIME-Version: 1.0\r\n";
//////ici on détermine le mail en format text
// text/plain = message text plein ---- text/html = message en codage html
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
////ici on détermine l'expediteur et l'adresse de réponse
$headers .= "From: $nom <$mail>\r\nReply-to : $nom <$mail>\nX-Mailer:PHP";
$subject="$sujet";
$destinataire=""; // ici ton adresse
$message = "Nom : $nom";
$message .= "<br />";
if(isset($mail))
$message .= "L'adresse mail du demandeur : $mail";
else
$message .= "L'adresse mail du demandeur : non communiqué";
$message .= "<br />Le message : <br />";
$message .= $msg;
$message .= "<p><br />---------------------------------<br />Formulaire...
if (mail($destinataire,$subject,$message,$headers))
$body = "Votre mail a été envoyé<br />";
else
$body = "Une erreur s'est produite<br />";
$body .= "<b><u>Récapitulatif :</u></b><br />";
$body .= "<b>Nom :</b> $nom<br />";
if(isset($mail))
$body .= "<b>L'adresse mail :</b> $mail";
else
$body .= "<b>L'adresse mail :</b> non communiqué";
$body .= "<br /><b>Sujet :</b> $sujet<br />";
$body .= "<b>Votre message :</b><br />";
// Inclus le perser BBCode
require_once "bbcode/bbcode.php";
// Récupère les tags dans le fichier XML
getBBTags('bbcode/bbcode.xml');
// Affiche le texte parsé
/*echo render($_POST["teststring"]);
echo "<hr align='center'>";*/
$body .= render($msg);
//$body .= $message;
}
else
{
//$body = "<center>Formulaire de contact</center>";
$body = "<p><form method='post' name='frm1'><table border='0' width='100%'>";
$body .= "<tr><td width='20%'>Nom :</td><td width='50%'><input type='text' name='nom' size='20' /></td></tr>";
$body .= "<tr><td>Courriel¹ :</td><td><input type='text' name='mail' size='20' /></td></tr>";
$body .= "<tr><td>Sujet :</td><td><input type='text' name='sujet' size='20' /></td></tr>";
$body .= "<tr><td valign='top'>Votre message :</td><td><textarea rows='5' cols='40' name='msg'></textarea></td></tr>";
$body .= "<tr><td colspan='2' align='center'><input type='submit' name='envoyer' value='Envoyer' /> <input type='reset' /></td></tr>";
$body .= "</table></form>";
$body .= "<p>¹Mettez une adresse valide si vous désirez une réponse, ce champ est facultatif.<br />";
$body .= "NB : ce formulaire n'a aucune connexion avec la base de données.</p>";
}
<html>
<head>
<title>Formulaire de contact</title>
</head>
<body>
<?
echo $body;
?>
</body>
</html>
En faite, il te faut récupérer tous les champs de ton formulaire et le mettre dans le corps du courriel.
Exemple pour un formulaire de contact :
<?
// Formulaire de contact en PHP
if($envoyer == "Envoyer")
{
/////voici la version Mine
$headers = "MIME-Version: 1.0\r\n";
//////ici on détermine le mail en format text
// text/plain = message text plein ---- text/html = message en codage html
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
////ici on détermine l'expediteur et l'adresse de réponse
$headers .= "From: $nom <$mail>\r\nReply-to : $nom <$mail>\nX-Mailer:PHP";
$subject="$sujet";
$destinataire=""; // ici ton adresse
$message = "Nom : $nom";
$message .= "<br />";
if(isset($mail))
$message .= "L'adresse mail du demandeur : $mail";
else
$message .= "L'adresse mail du demandeur : non communiqué";
$message .= "<br />Le message : <br />";
$message .= $msg;
$message .= "<p><br />---------------------------------<br />Formulaire...
if (mail($destinataire,$subject,$message,$headers))
$body = "Votre mail a été envoyé<br />";
else
$body = "Une erreur s'est produite<br />";
$body .= "<b><u>Récapitulatif :</u></b><br />";
$body .= "<b>Nom :</b> $nom<br />";
if(isset($mail))
$body .= "<b>L'adresse mail :</b> $mail";
else
$body .= "<b>L'adresse mail :</b> non communiqué";
$body .= "<br /><b>Sujet :</b> $sujet<br />";
$body .= "<b>Votre message :</b><br />";
// Inclus le perser BBCode
require_once "bbcode/bbcode.php";
// Récupère les tags dans le fichier XML
getBBTags('bbcode/bbcode.xml');
// Affiche le texte parsé
/*echo render($_POST["teststring"]);
echo "<hr align='center'>";*/
$body .= render($msg);
//$body .= $message;
}
else
{
//$body = "<center>Formulaire de contact</center>";
$body = "<p><form method='post' name='frm1'><table border='0' width='100%'>";
$body .= "<tr><td width='20%'>Nom :</td><td width='50%'><input type='text' name='nom' size='20' /></td></tr>";
$body .= "<tr><td>Courriel¹ :</td><td><input type='text' name='mail' size='20' /></td></tr>";
$body .= "<tr><td>Sujet :</td><td><input type='text' name='sujet' size='20' /></td></tr>";
$body .= "<tr><td valign='top'>Votre message :</td><td><textarea rows='5' cols='40' name='msg'></textarea></td></tr>";
$body .= "<tr><td colspan='2' align='center'><input type='submit' name='envoyer' value='Envoyer' /> <input type='reset' /></td></tr>";
$body .= "</table></form>";
$body .= "<p>¹Mettez une adresse valide si vous désirez une réponse, ce champ est facultatif.<br />";
$body .= "NB : ce formulaire n'a aucune connexion avec la base de données.</p>";
}
<html>
<head>
<title>Formulaire de contact</title>
</head>
<body>
<?
echo $body;
?>
</body>
</html>
ZeroO
Messages postés
11
Date d'inscription
jeudi 24 avril 2008
Statut
Membre
Dernière intervention
1 mai 2008
26 avril 2008 à 23:15
26 avril 2008 à 23:15
Bonjour thamior,
j'ai (encore) un soucis avec mon site et mon formulaire
j'ai créé trois pages:
- une page index.html contenant un formulaire
- une page cible.php récapitulant les données entrées par la personne
- une page cible2.html remerciant la personne et la renvoyant sur le blog
j'aimerai que la page html :
--> amène le visiteur sur la page php
<form method=post action="cible.php"> donc ca c'est ok
ET que la page php après validation par le visiteur effectue 2 actions
--> m'envoie un mail dans ce style là
<form method=post ENCTYPE="text/plain" action="mailto:xxxxxx@numericable.fr">
--> ET envoie le visiteur sur la page html de remerciement
<form method=post action="cible2.htlm">
Mon problème : le mail envoyé par php ne restitue que les informations ajoutée sur cette page php
la seconde action de la page php n'est pas effectuée
En annexe les trois pages en question :
LA PAGE INDEX.HTLM:
<html>
<head>
<title>Montauban en VOST* Formulaire d'inscription</title>
</head>
<body>
<fieldset><p> </br>
</p>
<p ALIGN=CENTER><strong>FORMULAIRE D'INSCRIPTION</strong></p>
<form method=post action="cible.php">
<fieldset>
<legend>Vos coordonnées</legend>
<p>Civilité* :<br /><input type="radio" name="civilité" value="Madame" id="Madame" /> <label for="Madame">Madame</label><br /><input type="radio" name="civilité" value="Mademoiselle" id="Mademoiselle" /> <label for="Mademoiselle">Mademoiselle</label><br /><input type="radio" name="civilité" value="Monsieur" id="Monsieur" /> <label for="Monsieur">Monsieur</label><br />
</p>
<P ALIGN=LEFT><label>Nom *</label> : <input type="text" name="nom" id="nom" />
</P>
<P ALIGN=LEFT><label>Prénom *</label> : <input type="text" name="prenom" id="prenom" />
</P>
<P ALIGN=LEFT><label>Adresse électronique *</label> : <input type="text" name="mail" id="Adresse électronique" />
</P>
<P ALIGN=LEFT><label>Numéro de téléphone * (fixe ou portable)</label> : <input type="text" name="tel" id="tel" />
<p>
</p>
</fieldset>
</br>
<fieldset>
<legend>Votre inscription</legend>
<p><label for="Nombre approximatif de participants">Nombre approximatif
de participants (de 2 à 10 personnes, vous inclus) * :</label>
<select name="choix" id="Nombre approximatif de participants">
<option value="2 personnes">2 personnes</option>
<option value="3 personnes">3 personnes</option>
<option value="4 personnes">4 personnes</option>
<option value="5 personnes">5 personnes</option>
<option value="6 personnes">6 personnes</option>
<option value="7 personnes">7 personnes</option>
<option value="8 personnes">8 personnes</option>
<option value="9 personnes">9 personnes</option>
<option value="10 personnes">10 personnes</option>
</select>
</p>
<P ALIGN=LEFT><label>Nom de l'équipe *</label> : <input type="text" name="equipe" id="Nom de l'équipe" />
</P>
</fieldset>
<p>
</p>
<fieldset>
<legend>Validation du Règlement</legend>
<P ALIGN=LEFT>Pour finir :
</P>
<P ALIGN=LEFT><input type="checkbox" name="securité" /> J’autorise les organisateurs à prendre toutes les dispositions d’urgence en cas d’accident. Je dégage les organisateurs de toute responsabilité pour tout incident ou accident intervenant lors de cette manifestation, de même en cas de perte ou vol d’objets de valeur. J’atteste être assuré(e) pour ma propre responsabilité civile.
</P>
<P ALIGN=LEFT><input type="checkbox" name="reglement" /> J'ai lu et j'accepte le règlement du jeu officiel
</P>
<P ALIGN=LEFT>* champs obligatoires, voir fin de page
</P>
</fieldset>
</br>
<p ALIGN=CENTER>
<input type="submit" value="S'inscrire" /> <input type="reset" value="Annuler" />
</p>
</form>
<p><u>Informatique et liberté :</u> Les informations nominatives recueillies dans le cadre du présent jeu sont traitées conformément à la Loi Informatique et Libertés du 6 janvier 1978. Tous les participants au concours, ainsi que leur représentant légal s'ils sont mineurs, disposent en application de l'article 27 de cette loi, d'un droit d'accès ou de rectification aux données les concernant. Toute demande d'accès, de rectification ou d'opposition doit être adressée à lcuvelliez@numericable.fr
Par ailleurs, les organisateurs garantissent la sécurité et la protection des données recueillies lors de ce jeu et notamment le fait qu’elles ne seront pas transmises à des tiers. </p>
</fieldset>
</body>
</html>
LA PAGE CIBLE.PHP :
<head>
<title>Montauban en VOST* Formulaire d'inscription</title>
</head>
<body>
<fieldset>
<p> </br>
</p>
<p ALIGN=CENTER><strong> VERIFICATION DES INFORMATIONS </strong> </p>
</br>
<form method=post action="cible2.html">
<form method=post ENCTYPE="text/plain" action="mailto:xxxxxx@numericable.fr">
<fieldset>
<legend>Vérification</legend>
<p> Merci d'avoir rempli le formulaire d'inscription !</br></p>
<p> Je vais vous demander de vérifier les informations données :</p>
<p> Vous êtes <?php echo $_POST['civilité']; ?> <?php echo $_POST['prenom']; ?> <?php echo $_POST['nom']; ?>
</br>
<p> Vous vous êtes inscrit(e) à la chasse au trésor tout public Montauban en VOST* avec un groupe composé approximativement de <?php echo $_POST['choix']; ?>. </p>
<p> Votre équipe porte le nom "<?php echo $_POST['equipe']; ?>"</p>
</br>
<p> Il est possible de vous joindre par mail à l'adresse : <?php echo $_POST[mail]; ?></p><p> Ou par téléphone au : <?php echo $_POST[tel]; ?></p></br>
<p> Nous vous rappelons qu'aucune information personnelle vous concernant ne sera transmise à des tiers, et vous serez dans la possibilité à tout moment de changer les données vous concernant.</p>
<P ALIGN=LEFT><input type="checkbox" name="infosj" /> Je certifie avoir donné des informations exactes
</P>
</fieldset></br>
<p ALIGN=CENTER>
<input type="submit" value="Valider" />
</p></br>
</fieldset>
</body>
LA PAGE CIBLE2.HTML :
<head>
<title>Montauban en VOST* Formulaire d'inscription</title>
</head>
<body>
<fieldset>
<p> </br>
</p>
<legend ALIGN=CENTER><strong> FIN DE L'INSCRIPTION </strong> </legend>
</br>
<p> Merci</p></br>
<p> Vous recevrez sous peu un mail de confirmation.</p></br>
<P> Cliquez ici pour revenir à la page précédente </P>
</fieldset>
</body>
j'ai (encore) un soucis avec mon site et mon formulaire
j'ai créé trois pages:
- une page index.html contenant un formulaire
- une page cible.php récapitulant les données entrées par la personne
- une page cible2.html remerciant la personne et la renvoyant sur le blog
j'aimerai que la page html :
--> amène le visiteur sur la page php
<form method=post action="cible.php"> donc ca c'est ok
ET que la page php après validation par le visiteur effectue 2 actions
--> m'envoie un mail dans ce style là
<form method=post ENCTYPE="text/plain" action="mailto:xxxxxx@numericable.fr">
--> ET envoie le visiteur sur la page html de remerciement
<form method=post action="cible2.htlm">
Mon problème : le mail envoyé par php ne restitue que les informations ajoutée sur cette page php
la seconde action de la page php n'est pas effectuée
En annexe les trois pages en question :
LA PAGE INDEX.HTLM:
<html>
<head>
<title>Montauban en VOST* Formulaire d'inscription</title>
</head>
<body>
<fieldset><p> </br>
</p>
<p ALIGN=CENTER><strong>FORMULAIRE D'INSCRIPTION</strong></p>
<form method=post action="cible.php">
<fieldset>
<legend>Vos coordonnées</legend>
<p>Civilité* :<br /><input type="radio" name="civilité" value="Madame" id="Madame" /> <label for="Madame">Madame</label><br /><input type="radio" name="civilité" value="Mademoiselle" id="Mademoiselle" /> <label for="Mademoiselle">Mademoiselle</label><br /><input type="radio" name="civilité" value="Monsieur" id="Monsieur" /> <label for="Monsieur">Monsieur</label><br />
</p>
<P ALIGN=LEFT><label>Nom *</label> : <input type="text" name="nom" id="nom" />
</P>
<P ALIGN=LEFT><label>Prénom *</label> : <input type="text" name="prenom" id="prenom" />
</P>
<P ALIGN=LEFT><label>Adresse électronique *</label> : <input type="text" name="mail" id="Adresse électronique" />
</P>
<P ALIGN=LEFT><label>Numéro de téléphone * (fixe ou portable)</label> : <input type="text" name="tel" id="tel" />
<p>
</p>
</fieldset>
</br>
<fieldset>
<legend>Votre inscription</legend>
<p><label for="Nombre approximatif de participants">Nombre approximatif
de participants (de 2 à 10 personnes, vous inclus) * :</label>
<select name="choix" id="Nombre approximatif de participants">
<option value="2 personnes">2 personnes</option>
<option value="3 personnes">3 personnes</option>
<option value="4 personnes">4 personnes</option>
<option value="5 personnes">5 personnes</option>
<option value="6 personnes">6 personnes</option>
<option value="7 personnes">7 personnes</option>
<option value="8 personnes">8 personnes</option>
<option value="9 personnes">9 personnes</option>
<option value="10 personnes">10 personnes</option>
</select>
</p>
<P ALIGN=LEFT><label>Nom de l'équipe *</label> : <input type="text" name="equipe" id="Nom de l'équipe" />
</P>
</fieldset>
<p>
</p>
<fieldset>
<legend>Validation du Règlement</legend>
<P ALIGN=LEFT>Pour finir :
</P>
<P ALIGN=LEFT><input type="checkbox" name="securité" /> J’autorise les organisateurs à prendre toutes les dispositions d’urgence en cas d’accident. Je dégage les organisateurs de toute responsabilité pour tout incident ou accident intervenant lors de cette manifestation, de même en cas de perte ou vol d’objets de valeur. J’atteste être assuré(e) pour ma propre responsabilité civile.
</P>
<P ALIGN=LEFT><input type="checkbox" name="reglement" /> J'ai lu et j'accepte le règlement du jeu officiel
</P>
<P ALIGN=LEFT>* champs obligatoires, voir fin de page
</P>
</fieldset>
</br>
<p ALIGN=CENTER>
<input type="submit" value="S'inscrire" /> <input type="reset" value="Annuler" />
</p>
</form>
<p><u>Informatique et liberté :</u> Les informations nominatives recueillies dans le cadre du présent jeu sont traitées conformément à la Loi Informatique et Libertés du 6 janvier 1978. Tous les participants au concours, ainsi que leur représentant légal s'ils sont mineurs, disposent en application de l'article 27 de cette loi, d'un droit d'accès ou de rectification aux données les concernant. Toute demande d'accès, de rectification ou d'opposition doit être adressée à lcuvelliez@numericable.fr
Par ailleurs, les organisateurs garantissent la sécurité et la protection des données recueillies lors de ce jeu et notamment le fait qu’elles ne seront pas transmises à des tiers. </p>
</fieldset>
</body>
</html>
LA PAGE CIBLE.PHP :
<head>
<title>Montauban en VOST* Formulaire d'inscription</title>
</head>
<body>
<fieldset>
<p> </br>
</p>
<p ALIGN=CENTER><strong> VERIFICATION DES INFORMATIONS </strong> </p>
</br>
<form method=post action="cible2.html">
<form method=post ENCTYPE="text/plain" action="mailto:xxxxxx@numericable.fr">
<fieldset>
<legend>Vérification</legend>
<p> Merci d'avoir rempli le formulaire d'inscription !</br></p>
<p> Je vais vous demander de vérifier les informations données :</p>
<p> Vous êtes <?php echo $_POST['civilité']; ?> <?php echo $_POST['prenom']; ?> <?php echo $_POST['nom']; ?>
</br>
<p> Vous vous êtes inscrit(e) à la chasse au trésor tout public Montauban en VOST* avec un groupe composé approximativement de <?php echo $_POST['choix']; ?>. </p>
<p> Votre équipe porte le nom "<?php echo $_POST['equipe']; ?>"</p>
</br>
<p> Il est possible de vous joindre par mail à l'adresse : <?php echo $_POST[mail]; ?></p><p> Ou par téléphone au : <?php echo $_POST[tel]; ?></p></br>
<p> Nous vous rappelons qu'aucune information personnelle vous concernant ne sera transmise à des tiers, et vous serez dans la possibilité à tout moment de changer les données vous concernant.</p>
<P ALIGN=LEFT><input type="checkbox" name="infosj" /> Je certifie avoir donné des informations exactes
</P>
</fieldset></br>
<p ALIGN=CENTER>
<input type="submit" value="Valider" />
</p></br>
</fieldset>
</body>
LA PAGE CIBLE2.HTML :
<head>
<title>Montauban en VOST* Formulaire d'inscription</title>
</head>
<body>
<fieldset>
<p> </br>
</p>
<legend ALIGN=CENTER><strong> FIN DE L'INSCRIPTION </strong> </legend>
</br>
<p> Merci</p></br>
<p> Vous recevrez sous peu un mail de confirmation.</p></br>
<P> Cliquez ici pour revenir à la page précédente </P>
</fieldset>
</body>