Ajout de parmaetres dans formulaire
Résolu/Fermé
badassnigga
Messages postés
56
Date d'inscription
vendredi 9 janvier 2009
Statut
Membre
Dernière intervention
5 décembre 2014
-
9 janv. 2009 à 18:33
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 - 19 janv. 2009 à 21:49
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 - 19 janv. 2009 à 21:49
A voir également:
- Ajout de parmaetres dans formulaire
- Formulaire de réclamation facebook - Guide
- Civilité sur un formulaire - Forum VB / VBA
- Comment enlever la limite d'ajout sur snapchat - Forum Snapchat
- Formulaire de reclamation instagram - Guide
- Formulaire remboursement frais de résiliation free pdf ✓ - Forum Freebox
23 réponses
Revan26914
Messages postés
1778
Date d'inscription
dimanche 14 octobre 2007
Statut
Contributeur
Dernière intervention
15 octobre 2019
320
9 janv. 2009 à 19:14
9 janv. 2009 à 19:14
Bonsoir,
C'est pourtant pas les infos sur la fonction mail qui manquent sur Internet:
==> https://www.php.net/manual/fr/book.mail.php
==> http://www.commentcamarche.net/faq/sujet 117 php fonction mail
==> https://www.vulgarisation-informatique.com/mail.php
Peux-tu mettre le code PHP stp ?
Cordialement
Revan
C'est pourtant pas les infos sur la fonction mail qui manquent sur Internet:
==> https://www.php.net/manual/fr/book.mail.php
==> http://www.commentcamarche.net/faq/sujet 117 php fonction mail
==> https://www.vulgarisation-informatique.com/mail.php
après dans traitement.php je ne sais pas comment rajouter les champs correspondants
Peux-tu mettre le code PHP stp ?
Cordialement
Revan
badassnigga
Messages postés
56
Date d'inscription
vendredi 9 janvier 2009
Statut
Membre
Dernière intervention
5 décembre 2014
9 janv. 2009 à 20:59
9 janv. 2009 à 20:59
bjr
merci d'avoir repondu
C'est pourtant pas les infos sur la fonction mail qui manquent sur Internet:
je sais je les ai quasiment tous vus bon be je vais encore un peu plus me prendre la tete la dessus ce que je disais c'est que malgré que il y en ait des dizaines de tutos sur cette fonction mail j'en ai jamais trouvé un de super clair comme mateo les fait dans son site du zero je lui fait pas de la pub mais il explique vraiment bien alors je vais essayer encore et puius si j'y arrive pas je paierais un webmaster pour le faire parce que ca devient relou a la fin
pour infos le code php qui correspond au html (adapté a mon formulaire) c'est :
// formulaire envoyé, on récupère tous les champs.
$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
$objet = (isset($_POST['objet'])) ? Rec($_POST['objet']) : '';
$message = (isset($_POST['message'])) ? Rec($_POST['message']) : '';
et ai mis les variables qui manquaient
j'ai changé aussi la suite :
// On va vérifier les variables et l'email ...
$email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré
if (($nom != '') && ($email != '') && ($objet != '') && ($message != ''))
e, fait j'ai regardé et lorsqu'il affiche ce msg c'est que une de mes variables est vide mais pourtant elles le sont pas
je vous donne le html :
http://www.showsanddjs.fr/downloaddiv/phphtml/index-5.html
et le fichier php modifié:
<?php
header('Content-Type: text/html; charset=ISO-8859-1');/*
********************************************************************************************
CONFIGURATION
********************************************************************************************
*/
// destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
$destinataire = 'chXXXXX.bXXXXX@orange.fr'; (mail supprimer pour éviter les SPAM)
// copie ? (envoie une copie au visiteur)
$copie = 'oui'; // 'oui' ou 'non'
// Messages de confirmation du mail
$message_envoye = "Votre message nous est bien parvenu !";
$message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer SVP.";
// Messages d'erreur du formulaire
$message_erreur_formulaire = "Vous devez d'abord <a href=\"index-5.html\">envoyer le formulaire</a>.";
$message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";
/*
********************************************************************************************
FIN DE LA CONFIGURATION
********************************************************************************************
*/
// on teste si le formulaire a été soumis
if (!isset($_POST['submit']))
{
// formulaire non envoyé
echo '<p>'.$message_erreur_formulaire.'</p>'."\n";
}
else
{
/*
* cette fonction sert à nettoyer et enregistrer un texte
*/
function Rec($text)
{
$text = trim($text); // delete white spaces after & before text
if (1 === get_magic_quotes_gpc())
{
$stripslashes = create_function('$txt', 'return stripslashes($txt);');
}
else
{
$stripslashes = create_function('$txt', 'return $txt;');
}
// magic quotes ?
$text = $stripslashes($text);
$text = htmlspecialchars($text, ENT_QUOTES); // converts to string with " and ' as well
$text = nl2br($text);
return $text;
};
/*
* Cette fonction sert à vérifier la syntaxe d'un email
*/
function IsEmail($email)
{
$pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$";
return (eregi($pattern,$email)) ? true : false;
};
// formulaire envoyé, on récupère tous les champs.
$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
$prenom = (isset($_POST['prenom'])) ? Rec($_POST['prenom']) : '';
$adresse_du_demandeur = (isset($_POST['adresse_du_demandeur'])) ? Rec($_POST['adresse_du_demandeur']) : '';
$tel_fixe = (isset($_POST['tel_fixe'])) ? Rec($_POST['tel_fixe']) : '';
$tel_port = (isset($_POST['tel_port'])) ? Rec($_POST['tel_port']) : '';
$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
$evenement = (isset($_POST['evenement'])) ? Rec($_POST['evenement']) : '';
$datedelapresta = (isset($_POST['datedelapresta'])) ? Rec($_POST['datedelapresta']) : '';
$nombre_de_pers = (isset($_POST['nombre_de_pers'])) ? Rec($_POST['nombre_de_pers']) : '';
$budget = (isset($_POST['budget'])) ? Rec($_POST['budget']) : '';
$adresse_de_la_preta = (isset($_POST['adresse_de_la_presta'])) ? Rec($_POST['adresse_de_la_presta']) : '';
$infos_compl = (isset($_POST['infos_compl'])) ? Rec($_POST['infos_compl']) : '';
// On va vérifier les variables et l'email ...
$email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré
if (($nom != '') && ($prenom != '') && ($adresse_du_demandeur != '') && ($tel_port != '') && ($email != '') && ($evenement != '') && ($datedelapresta != '') &&
($nombre_de_pers != '') && ($budget != '') && ($adresse_de_la_preta != ''))
{
// les 10 variables sont remplies, on génère puis envoie le mail
$headers = 'From: '.$nom.' <'.$email.'>' . "\r\n";
// envoyer une copie au visiteur ?
if ($copie == 'oui')
{
$cible = $destinataire.','.$email;
}
else
{
$cible = $destinataire;
};
// Remplacement de certains caractères spéciaux
$message = str_replace("'","'",$message);
$message = str_replace("’","'",$message);
$message = str_replace(""",'"',$message);
$message = str_replace('<br>','',$message);
$message = str_replace('<br />','',$message);
$message = str_replace("<","<",$message);
$message = str_replace(">",">",$message);
$message = str_replace("&","&",$message);
// Envoi du mail
if (mail($cible, $objet, $message, $headers))
{
echo '<p>'.$message_envoye.'</p>'."\n";
}
else
{
echo '<p>'.$message_non_envoye.'</p>'."\n";
};
}
else
{
// une des 3 variables (ou plus) est vide ...
echo '<p>'.$message_formulaire_invalide.' <a href="index-5.html">Retour au formulaire</a></p>'."\n";
};
}; // fin du if (!isset($_POST['envoi']))
et ca marche po chuis deg
merci d'avoir repondu
C'est pourtant pas les infos sur la fonction mail qui manquent sur Internet:
je sais je les ai quasiment tous vus bon be je vais encore un peu plus me prendre la tete la dessus ce que je disais c'est que malgré que il y en ait des dizaines de tutos sur cette fonction mail j'en ai jamais trouvé un de super clair comme mateo les fait dans son site du zero je lui fait pas de la pub mais il explique vraiment bien alors je vais essayer encore et puius si j'y arrive pas je paierais un webmaster pour le faire parce que ca devient relou a la fin
pour infos le code php qui correspond au html (adapté a mon formulaire) c'est :
// formulaire envoyé, on récupère tous les champs.
$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
$objet = (isset($_POST['objet'])) ? Rec($_POST['objet']) : '';
$message = (isset($_POST['message'])) ? Rec($_POST['message']) : '';
et ai mis les variables qui manquaient
j'ai changé aussi la suite :
// On va vérifier les variables et l'email ...
$email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré
if (($nom != '') && ($email != '') && ($objet != '') && ($message != ''))
e, fait j'ai regardé et lorsqu'il affiche ce msg c'est que une de mes variables est vide mais pourtant elles le sont pas
je vous donne le html :
http://www.showsanddjs.fr/downloaddiv/phphtml/index-5.html
et le fichier php modifié:
<?php
header('Content-Type: text/html; charset=ISO-8859-1');/*
********************************************************************************************
CONFIGURATION
********************************************************************************************
*/
// destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
$destinataire = 'chXXXXX.bXXXXX@orange.fr'; (mail supprimer pour éviter les SPAM)
// copie ? (envoie une copie au visiteur)
$copie = 'oui'; // 'oui' ou 'non'
// Messages de confirmation du mail
$message_envoye = "Votre message nous est bien parvenu !";
$message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer SVP.";
// Messages d'erreur du formulaire
$message_erreur_formulaire = "Vous devez d'abord <a href=\"index-5.html\">envoyer le formulaire</a>.";
$message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";
/*
********************************************************************************************
FIN DE LA CONFIGURATION
********************************************************************************************
*/
// on teste si le formulaire a été soumis
if (!isset($_POST['submit']))
{
// formulaire non envoyé
echo '<p>'.$message_erreur_formulaire.'</p>'."\n";
}
else
{
/*
* cette fonction sert à nettoyer et enregistrer un texte
*/
function Rec($text)
{
$text = trim($text); // delete white spaces after & before text
if (1 === get_magic_quotes_gpc())
{
$stripslashes = create_function('$txt', 'return stripslashes($txt);');
}
else
{
$stripslashes = create_function('$txt', 'return $txt;');
}
// magic quotes ?
$text = $stripslashes($text);
$text = htmlspecialchars($text, ENT_QUOTES); // converts to string with " and ' as well
$text = nl2br($text);
return $text;
};
/*
* Cette fonction sert à vérifier la syntaxe d'un email
*/
function IsEmail($email)
{
$pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$";
return (eregi($pattern,$email)) ? true : false;
};
// formulaire envoyé, on récupère tous les champs.
$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
$prenom = (isset($_POST['prenom'])) ? Rec($_POST['prenom']) : '';
$adresse_du_demandeur = (isset($_POST['adresse_du_demandeur'])) ? Rec($_POST['adresse_du_demandeur']) : '';
$tel_fixe = (isset($_POST['tel_fixe'])) ? Rec($_POST['tel_fixe']) : '';
$tel_port = (isset($_POST['tel_port'])) ? Rec($_POST['tel_port']) : '';
$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
$evenement = (isset($_POST['evenement'])) ? Rec($_POST['evenement']) : '';
$datedelapresta = (isset($_POST['datedelapresta'])) ? Rec($_POST['datedelapresta']) : '';
$nombre_de_pers = (isset($_POST['nombre_de_pers'])) ? Rec($_POST['nombre_de_pers']) : '';
$budget = (isset($_POST['budget'])) ? Rec($_POST['budget']) : '';
$adresse_de_la_preta = (isset($_POST['adresse_de_la_presta'])) ? Rec($_POST['adresse_de_la_presta']) : '';
$infos_compl = (isset($_POST['infos_compl'])) ? Rec($_POST['infos_compl']) : '';
// On va vérifier les variables et l'email ...
$email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré
if (($nom != '') && ($prenom != '') && ($adresse_du_demandeur != '') && ($tel_port != '') && ($email != '') && ($evenement != '') && ($datedelapresta != '') &&
($nombre_de_pers != '') && ($budget != '') && ($adresse_de_la_preta != ''))
{
// les 10 variables sont remplies, on génère puis envoie le mail
$headers = 'From: '.$nom.' <'.$email.'>' . "\r\n";
// envoyer une copie au visiteur ?
if ($copie == 'oui')
{
$cible = $destinataire.','.$email;
}
else
{
$cible = $destinataire;
};
// Remplacement de certains caractères spéciaux
$message = str_replace("'","'",$message);
$message = str_replace("’","'",$message);
$message = str_replace(""",'"',$message);
$message = str_replace('<br>','',$message);
$message = str_replace('<br />','',$message);
$message = str_replace("<","<",$message);
$message = str_replace(">",">",$message);
$message = str_replace("&","&",$message);
// Envoi du mail
if (mail($cible, $objet, $message, $headers))
{
echo '<p>'.$message_envoye.'</p>'."\n";
}
else
{
echo '<p>'.$message_non_envoye.'</p>'."\n";
};
}
else
{
// une des 3 variables (ou plus) est vide ...
echo '<p>'.$message_formulaire_invalide.' <a href="index-5.html">Retour au formulaire</a></p>'."\n";
};
}; // fin du if (!isset($_POST['envoi']))
et ca marche po chuis deg
Revan26914
Messages postés
1778
Date d'inscription
dimanche 14 octobre 2007
Statut
Contributeur
Dernière intervention
15 octobre 2019
320
9 janv. 2009 à 23:42
9 janv. 2009 à 23:42
D'abord une petite précision:
On ne peut pas envoyer des e-mails depuis WAMP Server (enfin si on pourrait, mais il faut faire certaines manipulations pour cela), donc si tu essais ton formulaire depuis WAMP, c'est normal que ça ne marche pas ;-)
Je vais essayer de t'expliquer le fonctionnement de la fonction mail.
Il s'agit donc d'une fonction (je ne sais pas si les fonctions sont traitée dans le cours de Mateo ??) qui prend 4 paramètres:
1) Ton adresse e-mail
2) Le sujet du mail
3) Le contenu du mail
4) L'en-tête de l'e-mail (l'en-tête peut prendre plusieurs informations, comme par exemple le nom et l'e-mail de l'envoyeur)
Donc la fonction mail s'utilise comme ça:
Revenons un peu à l'en-tête. Pour stocker le nom de l'expéditeur dans l'en-tête on utilise la syntaxe suivante:
Donc:
Au final, on aura un script de traitement du formulaire qui ressemblera à ça:
Note: Il ne faut pas oublier de protéger les variables $_POST, ce que je n'ai pas fait dans mon exemple ;-)
On ne peut pas envoyer des e-mails depuis WAMP Server (enfin si on pourrait, mais il faut faire certaines manipulations pour cela), donc si tu essais ton formulaire depuis WAMP, c'est normal que ça ne marche pas ;-)
Je vais essayer de t'expliquer le fonctionnement de la fonction mail.
Il s'agit donc d'une fonction (je ne sais pas si les fonctions sont traitée dans le cours de Mateo ??) qui prend 4 paramètres:
1) Ton adresse e-mail
2) Le sujet du mail
3) Le contenu du mail
4) L'en-tête de l'e-mail (l'en-tête peut prendre plusieurs informations, comme par exemple le nom et l'e-mail de l'envoyeur)
Donc la fonction mail s'utilise comme ça:
mail('ton adresse email', 'le sujet du mail', 'le contenu du mail', 'en-tête du mail');
Revenons un peu à l'en-tête. Pour stocker le nom de l'expéditeur dans l'en-tête on utilise la syntaxe suivante:
From: "Nom de l'expéditeur" <adresse mail de l'expéditeur>
Donc:
$header = "From: ". $nomExpediteur . " <" . $email. ">\r\n";
Au final, on aura un script de traitement du formulaire qui ressemblera à ça:
<?php if (isset($_POST['nom']) ANS isset($_POST['email_expediteur']) AND isset($_POST['contenu']) AND isset($_POST['email_expediteur']) AND isset($_POST['sujet'])) { $nomExpediteur = $_POST['nom'] ; // nom de l'expéditeur $email = $_POST['email_expediteur']; // E-mail de l'expéditeur $destinataire = "ton_adresse_email@adress.com"; // Tu rentres ici ton adresse email $contenu_mail = $_POST['contenu'] ; // Contenu de l'e-mail $sujet = $_POST['sujet']; // Sujet de l'e-mail $header = "From: ". $nomExpediteur . " <" . $email . ">\r\n"; // En-tête de l'e-mail mail($destinataire, $sujet, $contenu_mail, $header); // Commande d'envoi de l'email } else echo 'Tous les champs du formulaire n'ont pas été remplis !!'; ?>
Note: Il ne faut pas oublier de protéger les variables $_POST, ce que je n'ai pas fait dans mon exemple ;-)
badassnigga
Messages postés
56
Date d'inscription
vendredi 9 janvier 2009
Statut
Membre
Dernière intervention
5 décembre 2014
10 janv. 2009 à 12:26
10 janv. 2009 à 12:26
merci je vais essayer de voir ca
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
922
10 janv. 2009 à 12:51
10 janv. 2009 à 12:51
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
badassnigga
Messages postés
56
Date d'inscription
vendredi 9 janvier 2009
Statut
Membre
Dernière intervention
5 décembre 2014
10 janv. 2009 à 13:09
10 janv. 2009 à 13:09
bjr
merci encore une fois revan
pour repondre a ta reponse en fait je peux me servir de wamp pour le form de contact parce que quand je l'ai installé j'ai mis mon adresse email (on peut aussi le faire via .ini dans le fichier d'install mais bon) par contre i m'envoie bien l'email mais il m'en envoie un 2° a chaque fois ou il y a mail delivery fail etc.. bref
ensuite pour ton script il est bien moins fourni que celui du site qui ets posté plus haut mais peut etre est ce suffisant pour la protection je connais les htmlspecialchars ca matteo l'explique très bien
enfin te tiens au jus a+
merci encore une fois revan
pour repondre a ta reponse en fait je peux me servir de wamp pour le form de contact parce que quand je l'ai installé j'ai mis mon adresse email (on peut aussi le faire via .ini dans le fichier d'install mais bon) par contre i m'envoie bien l'email mais il m'en envoie un 2° a chaque fois ou il y a mail delivery fail etc.. bref
ensuite pour ton script il est bien moins fourni que celui du site qui ets posté plus haut mais peut etre est ce suffisant pour la protection je connais les htmlspecialchars ca matteo l'explique très bien
enfin te tiens au jus a+
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
922
10 janv. 2009 à 13:14
10 janv. 2009 à 13:14
i m'envoie bien l'email mais il m'en envoie un 2° a chaque fois
oula !!!!!!!!!!!!
ça on a déjà eu !
je crois bien que Revan était sur le coup (bonjour à lui au passage, les vœux, tout ça…)
je cherche la discussion !
<edit>
la discussion en question.
solution possible en dernier post.
mais il n'y avait pas Revan !
-:oD
</edit>
oula !!!!!!!!!!!!
ça on a déjà eu !
je crois bien que Revan était sur le coup (bonjour à lui au passage, les vœux, tout ça…)
je cherche la discussion !
<edit>
la discussion en question.
solution possible en dernier post.
mais il n'y avait pas Revan !
-:oD
</edit>
Revan26914
Messages postés
1778
Date d'inscription
dimanche 14 octobre 2007
Statut
Contributeur
Dernière intervention
15 octobre 2019
320
>
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
10 janv. 2009 à 19:55
10 janv. 2009 à 19:55
Bonsoir Dalida ^^
ensuite pour ton script il est bien moins fourni que celui du site qui ets posté plus haut
C'est normal, c'est un simple script d'exemple pour illustrer mon explication de la fonction mail ;-)
ensuite pour ton script il est bien moins fourni que celui du site qui ets posté plus haut
C'est normal, c'est un simple script d'exemple pour illustrer mon explication de la fonction mail ;-)
badassnigga
Messages postés
56
Date d'inscription
vendredi 9 janvier 2009
Statut
Membre
Dernière intervention
5 décembre 2014
12 janv. 2009 à 13:58
12 janv. 2009 à 13:58
ok merci pour ton aide
badassnigga
Messages postés
56
Date d'inscription
vendredi 9 janvier 2009
Statut
Membre
Dernière intervention
5 décembre 2014
19 janv. 2009 à 18:31
19 janv. 2009 à 18:31
bjr
je sais pas si dalida va voir cette question mais un peu + tard je me suis apercu d'un truc selon ta description
il y a donc
mail('ton adresse email', 'le sujet du mail', 'le contenu du mail', 'en-tête du mail');
mais si je veux ajouetr des trucs dans le contenu du mail je fais comment ?
par ex rajouter le budget que l'expediteur a pour acheter quqchose ou autre chose.
merci
je sais pas si dalida va voir cette question mais un peu + tard je me suis apercu d'un truc selon ta description
il y a donc
mail('ton adresse email', 'le sujet du mail', 'le contenu du mail', 'en-tête du mail');
mais si je veux ajouetr des trucs dans le contenu du mail je fais comment ?
par ex rajouter le budget que l'expediteur a pour acheter quqchose ou autre chose.
merci
Revan26914
Messages postés
1778
Date d'inscription
dimanche 14 octobre 2007
Statut
Contributeur
Dernière intervention
15 octobre 2019
320
19 janv. 2009 à 18:44
19 janv. 2009 à 18:44
Tu rajoutes cela dans la variable $contenu_mail comme cela:
ou tu peux aussi:
Mais comme Dalida l'a dit, donne nous le bout de code pour qu'on t'aide plus précisément ;)
$contenu_mail = $_POST['contenu'] . 'ce que tu veux rajouter';
ou tu peux aussi:
$contenu_mail = $_POST['contenu'] ; $contenu_mail .= 'ce que tu veux rajouter';
Mais comme Dalida l'a dit, donne nous le bout de code pour qu'on t'aide plus précisément ;)
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
922
19 janv. 2009 à 18:34
19 janv. 2009 à 18:34
salut,
il y a donc
mail('ton adresse email', 'le sujet du mail', 'le contenu du mail', 'en-tête du mail');
mais si je veux ajouetr des trucs dans le contenu du mail je fais comment ?
et bien tu ajoutes " des trucs" à 'le contenu du mail'.
montre nous le bout de code que tu utilises maintenant qu'on te dise où injecter le supplément d'infos.
il y a donc
mail('ton adresse email', 'le sujet du mail', 'le contenu du mail', 'en-tête du mail');
mais si je veux ajouetr des trucs dans le contenu du mail je fais comment ?
et bien tu ajoutes " des trucs" à 'le contenu du mail'.
montre nous le bout de code que tu utilises maintenant qu'on te dise où injecter le supplément d'infos.
irongege
Messages postés
40847
Date d'inscription
jeudi 1 novembre 2007
Statut
Modérateur
Dernière intervention
29 juin 2023
5 073
19 janv. 2009 à 19:07
19 janv. 2009 à 19:07
Je reposte le message sans l'adresse email comme il a été demandé :
merci mais il me semble =que c'est la concatenation ou un truc dans ce genre c'est rajouter une variable dans la variable je suppose?
si c'est ca j'ai qu'a revoir le tuto de matteo c'est sympa de me l'avoir suggerré
pour info mon code c'est cui la: (c'est très gros)
<?php
/*
********************************************************************************************
CONFIGURATION
********************************************************************************************
*/
// destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
$destinataire = 'xxxxxxxxi@sss.fr';
// copie ? (envoie une copie au visiteur)
$copie = 'oui'; // 'oui' ou 'non'
// Messages de confirmation du mail
$message_envoye = "Votre message nous est bien parvenu !";
$message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer SVP.";
// Messages d'erreur du formulaire
$message_erreur_formulaire = "Vous devez d'abord <a href=\"contact.html\">envoyer le formulaire</a>.";
$message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";
/*
********************************************************************************************
FIN DE LA CONFIGURATION
********************************************************************************************
*/
// on teste si le formulaire a été soumis
if (!isset($_POST['envoi']))
{
// formulaire non envoyé
echo '<p>'.$message_erreur_formulaire.'</p>'."\n";
}
else
{
/*
* cette fonction sert à nettoyer et enregistrer un texte
*/
function Rec($text)
{
$text = trim($text); // delete white spaces after & before text
if (1 === get_magic_quotes_gpc())
{
$stripslashes = create_function('$txt', 'return stripslashes($txt);');
}
else
{
$stripslashes = create_function('$txt', 'return $txt;');
}
// magic quotes ?
$text = $stripslashes($text);
$text = htmlspecialchars($text, ENT_QUOTES); // converts to string with " and ' as well
$text = nl2br($text);
return $text;
};
/*
* Cette fonction sert à vérifier la syntaxe d'un email
*/
function IsEmail($email)
{
$pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$";
return (eregi($pattern,$email)) ? true : false;
};
// formulaire envoyé, on récupère tous les champs.
$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
$objet = (isset($_POST['objet'])) ? Rec($_POST['objet']) : '';
$message = (isset($_POST['message'])) ? Rec($_POST['message']) : '';
// On va vérifier les variables et l'email ...
$email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré
if (($nom != '') && ($email != '') && ($objet != '') && ($message != ''))
{
// les 4 variables sont remplies, on génère puis envoie le mail
$headers = 'From: '.$nom.' <'.$email.'>' . "\r\n";
// envoyer une copie au visiteur ?
if ($copie == 'oui')
{
$cible = $destinataire.','.$email;
}
else
{
$cible = $destinataire;
};
// Remplacement de certains caractères spéciaux
$message = str_replace("'","'",$message);
$message = str_replace("’","'",$message);
$message = str_replace(""",'"',$message);
$message = str_replace('<br>','',$message);
$message = str_replace('<br />','',$message);
$message = str_replace("<","<",$message);
$message = str_replace(">",">",$message);
$message = str_replace("&","&",$message);
// Envoi du mail
if (mail($cible, $objet, $message, $headers))
{
echo '<p>'.$message_envoye.'</p>'."\n";
}
else
{
echo '<p>'.$message_non_envoye.'</p>'."\n";
};
}
else
{
// une des 3 variables (ou plus) est vide ...
echo '<p>'.$message_formulaire_invalide.' <a href="contact.html">Retour au formulaire</a></p>'."\n";
};
}; // fin du if (!isset($_POST['envoi']))
?>
en fait dans la configuration en haut faudrait que je mette :
$message=$message.','.$budget,','$adresse_de_la_prestation; etc non?
merci mais il me semble =que c'est la concatenation ou un truc dans ce genre c'est rajouter une variable dans la variable je suppose?
si c'est ca j'ai qu'a revoir le tuto de matteo c'est sympa de me l'avoir suggerré
pour info mon code c'est cui la: (c'est très gros)
<?php
/*
********************************************************************************************
CONFIGURATION
********************************************************************************************
*/
// destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
$destinataire = 'xxxxxxxxi@sss.fr';
// copie ? (envoie une copie au visiteur)
$copie = 'oui'; // 'oui' ou 'non'
// Messages de confirmation du mail
$message_envoye = "Votre message nous est bien parvenu !";
$message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer SVP.";
// Messages d'erreur du formulaire
$message_erreur_formulaire = "Vous devez d'abord <a href=\"contact.html\">envoyer le formulaire</a>.";
$message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";
/*
********************************************************************************************
FIN DE LA CONFIGURATION
********************************************************************************************
*/
// on teste si le formulaire a été soumis
if (!isset($_POST['envoi']))
{
// formulaire non envoyé
echo '<p>'.$message_erreur_formulaire.'</p>'."\n";
}
else
{
/*
* cette fonction sert à nettoyer et enregistrer un texte
*/
function Rec($text)
{
$text = trim($text); // delete white spaces after & before text
if (1 === get_magic_quotes_gpc())
{
$stripslashes = create_function('$txt', 'return stripslashes($txt);');
}
else
{
$stripslashes = create_function('$txt', 'return $txt;');
}
// magic quotes ?
$text = $stripslashes($text);
$text = htmlspecialchars($text, ENT_QUOTES); // converts to string with " and ' as well
$text = nl2br($text);
return $text;
};
/*
* Cette fonction sert à vérifier la syntaxe d'un email
*/
function IsEmail($email)
{
$pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$";
return (eregi($pattern,$email)) ? true : false;
};
// formulaire envoyé, on récupère tous les champs.
$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
$objet = (isset($_POST['objet'])) ? Rec($_POST['objet']) : '';
$message = (isset($_POST['message'])) ? Rec($_POST['message']) : '';
// On va vérifier les variables et l'email ...
$email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré
if (($nom != '') && ($email != '') && ($objet != '') && ($message != ''))
{
// les 4 variables sont remplies, on génère puis envoie le mail
$headers = 'From: '.$nom.' <'.$email.'>' . "\r\n";
// envoyer une copie au visiteur ?
if ($copie == 'oui')
{
$cible = $destinataire.','.$email;
}
else
{
$cible = $destinataire;
};
// Remplacement de certains caractères spéciaux
$message = str_replace("'","'",$message);
$message = str_replace("’","'",$message);
$message = str_replace(""",'"',$message);
$message = str_replace('<br>','',$message);
$message = str_replace('<br />','',$message);
$message = str_replace("<","<",$message);
$message = str_replace(">",">",$message);
$message = str_replace("&","&",$message);
// Envoi du mail
if (mail($cible, $objet, $message, $headers))
{
echo '<p>'.$message_envoye.'</p>'."\n";
}
else
{
echo '<p>'.$message_non_envoye.'</p>'."\n";
};
}
else
{
// une des 3 variables (ou plus) est vide ...
echo '<p>'.$message_formulaire_invalide.' <a href="contact.html">Retour au formulaire</a></p>'."\n";
};
}; // fin du if (!isset($_POST['envoi']))
?>
en fait dans la configuration en haut faudrait que je mette :
$message=$message.','.$budget,','$adresse_de_la_prestation; etc non?
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
922
19 janv. 2009 à 19:10
19 janv. 2009 à 19:10
merci !
-:o)
-:o)
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
922
19 janv. 2009 à 19:16
19 janv. 2009 à 19:16
en fait dans la configuration en haut faudrait que je mette :
$message=$message.','.$budget,','$adresse_de_la_prestation; etc non?
oui mais pense aux espaces quand même !
tu peux aussi ajouter des retours à la ligne, dans ce cas en utilisant ".=" et en le présentant ligne par ligne c'est plus compréhensible.
$message=$message.','.$budget,','$adresse_de_la_prestation; etc non?
oui mais pense aux espaces quand même !
tu peux aussi ajouter des retours à la ligne, dans ce cas en utilisant ".=" et en le présentant ligne par ligne c'est plus compréhensible.
$message .= PHP_EOL; $message .= 'Budget : '.$budget.PHP_EOL; $message .= 'Adresse : '.$adresse_de_la_prestation.PHP_EOL;
badassnigga
Messages postés
56
Date d'inscription
vendredi 9 janvier 2009
Statut
Membre
Dernière intervention
5 décembre 2014
19 janv. 2009 à 19:34
19 janv. 2009 à 19:34
c'est fou ce que tu connais comme choses dalida mais apparement en mettant soit ton code ou le mien que j'ai suggeré plus haut :
$message=$message.','.$budget,','$adresse_de_la_prestation;
ou le tien :
$message .= PHP_EOL;
$message .= 'Budget : '.$budget.PHP_EOL;
$message .= 'Adresse : '.$adresse_de_la_prestation.PHP_EOL;
ca marche po
l'erreur c'est
Notice: Undefined variable: message in C:\wamp\www\tests\mail\traitement3.php on line 9
Notice: Undefined variable: budget in C:\wamp\www\tests\mail\traitement3.php on line 9
Notice: Undefined variable: adresse_de_la_presta in C:\wamp\www\tests\mail\traitement3.php on line 9
Votre message nous est bien parvenu !
je recois bien le message mais pas les variables que j'ai ajouté comme tu m'as dit ou comme j'ai essayé de faire je comprend pas parce que tout a l'air juste ca passe po comme d'hab avec php (ca aurait du s'appeller pdt prise de tete...)
$message=$message.','.$budget,','$adresse_de_la_prestation;
ou le tien :
$message .= PHP_EOL;
$message .= 'Budget : '.$budget.PHP_EOL;
$message .= 'Adresse : '.$adresse_de_la_prestation.PHP_EOL;
ca marche po
l'erreur c'est
Notice: Undefined variable: message in C:\wamp\www\tests\mail\traitement3.php on line 9
Notice: Undefined variable: budget in C:\wamp\www\tests\mail\traitement3.php on line 9
Notice: Undefined variable: adresse_de_la_presta in C:\wamp\www\tests\mail\traitement3.php on line 9
Votre message nous est bien parvenu !
je recois bien le message mais pas les variables que j'ai ajouté comme tu m'as dit ou comme j'ai essayé de faire je comprend pas parce que tout a l'air juste ca passe po comme d'hab avec php (ca aurait du s'appeller pdt prise de tete...)
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
922
19 janv. 2009 à 19:44
19 janv. 2009 à 19:44
il faut que ta variable $message soit définie !
donc il faudrait ajouter ces lignes avant "// Envoi du mail ".
et il faut que les deux autres variables soit aussi définies.
donc il faudrait ajouter ces lignes avant "// Envoi du mail ".
et il faut que les deux autres variables soit aussi définies.
badassnigga
Messages postés
56
Date d'inscription
vendredi 9 janvier 2009
Statut
Membre
Dernière intervention
5 décembre 2014
19 janv. 2009 à 19:57
19 janv. 2009 à 19:57
j'ai essyé de les definir j'y arrive po il me remarque a chaque fois undefined ...
j'ai fait :
$budget = budget;
$adresse_de_la_presta = adresse_de_la_presta;
$message = $message.$budget.$adresse_de_la_presta;
je sais chuis nul
te prend pas la tete j'y arriverais bien c'est sympa de m'avoir aidé
j'ai fait :
$budget = budget;
$adresse_de_la_presta = adresse_de_la_presta;
$message = $message.$budget.$adresse_de_la_presta;
je sais chuis nul
te prend pas la tete j'y arriverais bien c'est sympa de m'avoir aidé
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
922
19 janv. 2009 à 20:02
19 janv. 2009 à 20:02
si tu as effectivement définit chaque variable avant de les utiliser, il n'y a pas de raison pour qu'il te réponde "undefined"…
essaie avec ça et montre nous l'erreur si il y en a une (avec en plus la ligne de code incriminée plus la ligne précédente et la ligne suivante).
essaie avec ça et montre nous l'erreur si il y en a une (avec en plus la ligne de code incriminée plus la ligne précédente et la ligne suivante).
$budget = 'budget'; $adresse_de_la_presta = 'adresse_de_la_presta'; $message = $message.$budget.$adresse_de_la_presta;
badassnigga
Messages postés
56
Date d'inscription
vendredi 9 janvier 2009
Statut
Membre
Dernière intervention
5 décembre 2014
19 janv. 2009 à 20:31
19 janv. 2009 à 20:31
bon je vois que t'es coool comme mec voila ce qu'il me dit après avoir mis ton code (que je n'avais pas mis exactement pareil car je n'avais pas mis budget et adresse_de_la_presta avec les apostrophes comme toi)
Notice: Undefined variable: message in C:\wamp\www\tests\mail\traitement3.php on line 11
Votre message nous est bien parvenu !
en fait les 2 lignes que j'ai corrigé comme tu m'as dit sont bien passées
$destinataire = 'myselfi@orange.fr';
$budget = 'budget';
$adresse_de_la_presta = 'adresse_de_la_presta';
$message = $message.$budget.$adresse_de_la_presta;
// copie ? (envoie une copie au visiteur)
$copie = 'oui'; // 'oui' ou 'non'
// Messages de confirmation du mail
$message_envoye = "Votre message nous est bien parvenu !";
$message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer SVP.";
// Messages d'erreur du formulaire
$message_erreur_formulaire = "Vous devez d'abord <a href=\"contact.html\">envoyer le formulaire</a>.";
$message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";
mais c'est toujours cette ligne a la ....ligne 19 : $message = $message.$budget.$adresse_de_la_presta; qui prend la tete
.
voila chuis deg si tu peux me repondre c'est cool ...
Notice: Undefined variable: message in C:\wamp\www\tests\mail\traitement3.php on line 11
Votre message nous est bien parvenu !
en fait les 2 lignes que j'ai corrigé comme tu m'as dit sont bien passées
$destinataire = 'myselfi@orange.fr';
$budget = 'budget';
$adresse_de_la_presta = 'adresse_de_la_presta';
$message = $message.$budget.$adresse_de_la_presta;
// copie ? (envoie une copie au visiteur)
$copie = 'oui'; // 'oui' ou 'non'
// Messages de confirmation du mail
$message_envoye = "Votre message nous est bien parvenu !";
$message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer SVP.";
// Messages d'erreur du formulaire
$message_erreur_formulaire = "Vous devez d'abord <a href=\"contact.html\">envoyer le formulaire</a>.";
$message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";
mais c'est toujours cette ligne a la ....ligne 19 : $message = $message.$budget.$adresse_de_la_presta; qui prend la tete
.
voila chuis deg si tu peux me repondre c'est cool ...
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
922
19 janv. 2009 à 20:42
19 janv. 2009 à 20:42
modifie de suite ton message (icône avec un petit crayon à côté du post en question) et efface l'adresse mail !!!!!!!!
j'ai déjà demandé aux modos pour le message au dessus !
et pour le code utilise le bouton "garder la mise en forme…"
je reviens pour le reste.
j'ai déjà demandé aux modos pour le message au dessus !
et pour le code utilise le bouton "garder la mise en forme…"
je reviens pour le reste.
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
922
19 janv. 2009 à 20:45
19 janv. 2009 à 20:45
$budget = 'budget'; $adresse_de_la_presta = 'adresse_de_la_presta'; $message = $message.$budget.$adresse_de_la_presta;
il faut que tu mettes ça dans un endroit du script où $message a déjà été défini, c'est à dire après la ligne "$message = $_POST[]…"
badassnigga
Messages postés
56
Date d'inscription
vendredi 9 janvier 2009
Statut
Membre
Dernière intervention
5 décembre 2014
19 janv. 2009 à 21:16
19 janv. 2009 à 21:16
dalida t'assures toujours autant j'ai fait grace a toi de graaaaaaves progrès mais je recois le budget sur mon mail mais pas l'adresse de la presta
j'ai bien mis le point virgule après :
// formulaire envoyé, on récupère tous les champs.
$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
$objet = (isset($_POST['objet'])) ? Rec($_POST['objet']) : '';
$message = (isset($_POST['message'])) ? Rec($_POST['message']) : '';
$budget = (isset($_POST['budget'])) ? Rec($_POST['budget']) : '';
$adresse_de_la_presta = (isset($_POST['adresse_de_la_presta'])) ? Rec($_POST['adresse_de_la_presta']) : '';
// on definit les variables
$message = $message.$budget.$adresse_de_la_presta;
comprend pas
j'ai bien mis le point virgule après :
// formulaire envoyé, on récupère tous les champs.
$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
$objet = (isset($_POST['objet'])) ? Rec($_POST['objet']) : '';
$message = (isset($_POST['message'])) ? Rec($_POST['message']) : '';
$budget = (isset($_POST['budget'])) ? Rec($_POST['budget']) : '';
$adresse_de_la_presta = (isset($_POST['adresse_de_la_presta'])) ? Rec($_POST['adresse_de_la_presta']) : '';
// on definit les variables
$message = $message.$budget.$adresse_de_la_presta;
comprend pas
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
922
19 janv. 2009 à 21:20
19 janv. 2009 à 21:20
et dans ton formulaire tu as bien nommé le champ qui doit contenir l'adresse ?
genre :
et tu devrais simplifier le nom, ça peut éviter des erreurs de frappe, "presta" ou "adresse" c'est amplement suffisant !
-;o)
genre :
name="adresse_de_la_presta" id="adresse_de_la_presta"
et tu devrais simplifier le nom, ça peut éviter des erreurs de frappe, "presta" ou "adresse" c'est amplement suffisant !
-;o)
badassnigga
Messages postés
56
Date d'inscription
vendredi 9 janvier 2009
Statut
Membre
Dernière intervention
5 décembre 2014
19 janv. 2009 à 21:33
19 janv. 2009 à 21:33
j'ai mis :
<form id="contact" method="post" action="traitement3.php">
<p>Vos coordonnées</p>
<li><p><label for="nom">Nom :</label><br><input type="text" id="nom" name="nom" tabindex="1" /></label></li></p>
<li><p><label for="email">Email :</label><br><input type="text" id="email" name="email" tabindex="2" /></li></p>
<li><label for="budget">budget:</label><br/>
<input type="text" name="budget" id="budget" size="30" maxlength="20" /><b> *</b></li><br/>
<li><label for="adresse">adresse de la prestation:</label><br/>
<textarea name ="adresse" id ="adresse" rows="10" cols="50"></textarea><b> *</b></p></li>
<p>Votre message :</p>
<li><label for="objet">Objet :</label><br><input type="text" id="objet" name="objet" tabindex="3" /></li>
<li><label for="message">Message :</label><br><textarea id="message" name="message" tabindex="4" cols="30" rows="8"></textarea></li>
<p><input type="submit" name="envoi" value="Envoyer le formulaire !" /></p>
</form></div>
et dans le php j'ai mis
$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
$objet = (isset($_POST['objet'])) ? Rec($_POST['objet']) : '';
$message = (isset($_POST['message'])) ? Rec($_POST['message']) : '';
$budget = (isset($_POST['budget'])) ? Rec($_POST['budget']) : '';
$adresse = (isset($_POST['adresse'])) ? Rec($_POST['adresse']) : '';
// on definit les variables
$message = $message.$budget.$adresse;
et je recois(dans le corps du message de l'email) le message , le budget mais pas l'adresse.... trop nul..
et aussi le undelivered mail return to sender (message non delivré j'ai thunderbird anglais)ca c'est a chaque fois mais je corrigerais ca + tard..
<form id="contact" method="post" action="traitement3.php">
<p>Vos coordonnées</p>
<li><p><label for="nom">Nom :</label><br><input type="text" id="nom" name="nom" tabindex="1" /></label></li></p>
<li><p><label for="email">Email :</label><br><input type="text" id="email" name="email" tabindex="2" /></li></p>
<li><label for="budget">budget:</label><br/>
<input type="text" name="budget" id="budget" size="30" maxlength="20" /><b> *</b></li><br/>
<li><label for="adresse">adresse de la prestation:</label><br/>
<textarea name ="adresse" id ="adresse" rows="10" cols="50"></textarea><b> *</b></p></li>
<p>Votre message :</p>
<li><label for="objet">Objet :</label><br><input type="text" id="objet" name="objet" tabindex="3" /></li>
<li><label for="message">Message :</label><br><textarea id="message" name="message" tabindex="4" cols="30" rows="8"></textarea></li>
<p><input type="submit" name="envoi" value="Envoyer le formulaire !" /></p>
</form></div>
et dans le php j'ai mis
$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
$objet = (isset($_POST['objet'])) ? Rec($_POST['objet']) : '';
$message = (isset($_POST['message'])) ? Rec($_POST['message']) : '';
$budget = (isset($_POST['budget'])) ? Rec($_POST['budget']) : '';
$adresse = (isset($_POST['adresse'])) ? Rec($_POST['adresse']) : '';
// on definit les variables
$message = $message.$budget.$adresse;
et je recois(dans le corps du message de l'email) le message , le budget mais pas l'adresse.... trop nul..
et aussi le undelivered mail return to sender (message non delivré j'ai thunderbird anglais)ca c'est a chaque fois mais je corrigerais ca + tard..