Aide formulaire
kevindu26
Messages postés
6
Statut
Membre
-
kevindu26 Messages postés 6 Statut Membre -
kevindu26 Messages postés 6 Statut Membre -
Bonjour, je débute en programmation de pages web, c'est pour cela que je viens vous demander du soutien afin que vous puissiez m'aider à faire marcher correctement mon formulaire. Le formulaire que j'ai créé permet d'envoyer toutes les données saisies par l'utilisateur à ma boîte mail.
Sachant que mon formulaire utilise 2 pages :
- 1 en html/php ( structure de mon formulaire), qui se nomme "contact.php"
-L'autre en php (pour récupérer mes données et les envoyer par mail), qui se nomme "envoi_mail.php"
Voici ma page contenant la structure du formulaire :
Et voici ma page envoi_mail.php:
Si vous êtes arrivé jusque là c'est que vous avez eu du courage :=) et je vous en remercie!
Sachant que mon formulaire utilise 2 pages :
- 1 en html/php ( structure de mon formulaire), qui se nomme "contact.php"
-L'autre en php (pour récupérer mes données et les envoyer par mail), qui se nomme "envoi_mail.php"
Voici ma page contenant la structure du formulaire :
<form action="envoi_mail.php" method="post" enctype="multipart/form-data">
<table>
<td>
<input type="hidden" name="subject" value="envoi_mail.php">
<input type="radio" name="titre" value="M." /> M.
<input type="radio" name="titre" value="Mme" /> Mme
<input type="radio" name="titre" value="Mlle" /> Mlle
<p> <input type="text" name="nom" value="Nom" class="formulaireContact" onfocus="if (this.value=='Nom') this.value=''"onblur="if (this.value=='') this.value='Nom'"/>
<input type="text" name="prenom" value="Prénom" class="formulaireContact" onfocus="if (this.value=='Prénom') this.value=''"onblur="if (this.value=='') this.value='Prénom'"/> </p>
<p> <input type="text" name="tel" value="Tel" onfocus="if (this.value=='Tel') this.value=''"onblur="if (this.value=='') this.value='Tel'"/>
<input type="text" name="fax" value="Fax" onfocus="if (this.value=='Fax') this.value=''"onblur="if (this.value=='') this.value='Fax'"/> </p>
<p> <input type="text" name="portable" value="Portable" onfocus="if (this.value=='Portable') this.value=''"onblur="if (this.value=='') this.value='Portable'"/> </p>
<p> <input type="text" name="mail" value="E-mail" onfocus="if (this.value=='E-mail') this.value=''"onblur="if (this.value=='') this.value='E-mail'"/> </p>
<p> <input type="text" name="adresse" value="Adresse" onfocus="if (this.value=='Adresse') this.value=''"onblur="if (this.value=='') this.value='Adresse'"/>
<input type="text" name="ville" value="Ville" onfocus="if (this.value=='Ville') this.value=''"onblur="if (this.value=='') this.value='Ville'"/>
<input type="text" name="CP" value="Code Postal" onfocus="if (this.value=='Code Postal') this.value=''"onblur="if (this.value=='') this.value='Code Postal'"/> </p>
<br />
<br />
<p > <label for="titre"class="Intitule">Intitulé du message(maximum 30 mots) :</label> </p>
<textarea name="intitule" id="intitulé" class="tableau3PageContact" ></textarea>
<br />
<p class="pcommentaire" > Commentaires: </p>
<textarea name="commentaire" rows="8" cols="45" class="tableau2PageContact" >
</textarea>
<p><input type="submit" name="envoi" value="Envoyer" class="tableau4PageContact"/></p>
</td>
<td class="tableauPieceJointe">
<p> Pièce jointe ( inférieure 8 Mo): </p>
<input type="file" name="message" />
<input type=hidden name=MAX_FILE_SIZE VALUE=8388608>
<p > <label for="titre">Description du fichier transmis :</label> </p>
<textarea name="description" id="description" rows="2"! cols="30"></textarea>
</td>
</table>
</form>
Et voici ma page envoi_mail.php:
<?php
// copie ? (envoie une copie au visiteur)
$copie = 'oui'; // 'oui' ou 'non'
// Messages de confirmation du mail
$message_envoye = "Nous avons bien reçu votre message !";
$message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer s'il vous plait.";
// Messages d'erreur du formulaire
$message_erreur_formulaire = "Vous devez d'abord <a href=\"contact.php\">envoyer le formulaire</a>.";
$message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";
$mail=$_POST['mail'];
$destinataire="kevindu26@laposte.net";
if (!isset($_POST['envoi'])) // on teste si le formulaire a été soumis
{
echo '<p>'.$message_erreur_formulaire.'</p>'."\n"; // formulaire non envoyé
}
else
{
/*
* cette fonction sert à nettoyer et enregistrer un texte
*/
function Rec($text)
{
$text = trim($text); // suppression des espaces avant et après le texte
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;
};
//La fonction IsEmail sert à vérifier la syntaxe d'un email
function IsEmail($mail)
{
$pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$"; //^ = début de l'expression
//.+= au moins un caractère quelconque
//@ = le caractère arrobase
//.+ = au moins un caractère quelconque
//. = le caractère '.'
//.+ = au moins un caractère quelconque
//$ = fin de l'expression
return (eregi($pattern,$mail)) ? true : false;
};
// formulaire envoyé, on récupère tous les champs.
$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : ''; // isset = is set = est défini
$objet=(isset ($_POST['intitule'])) ? Rec ($_POST['intitule']) :'';
$titre= (isset ($_POST['titre'])) ? Rec ($_POST['titre']) :'';
$nom= (isset ($_POST['nom'])) ? Rec ($_POST['nom']) :'';
$prenom= (isset ($_POST['prenom'])) ? Rec ($_POST['prenom']) : '';
$telephone= (isset ($_POST['tel'])) ? Rec ($_POST['tel']) :'';
$fax=( isset ($_POST['fax'])) ? Rec ($_POST['fax']) : '';
$port= ( isset ($_POST['portable'])) ? Rec ($_POST['portable']) :'';
$ad= (isset ($_POST['adresse'])) ? Rec ($_POST['adresse']) : '';
$v= (isset ($_POST['ville'])) ? Rec ($_POST['ville']) : '';
$cp=( isset ($_POST['CP'])) ? Rec ($_POST['CP']) : '';
$coment= (isset ($_POST['commentaire'])) ? Rec ($_POST['commentaire']) : '';
// On vérifie les variables et l'email
$mail = (IsEmail($mail)) ? $mail : ''; // soit la variable $email est vide si le contenu est erroné , soit elle prend le contenu de
//l'email entré
if (($nom != '') && ($mail != '') && ($objet != '') && ($comment != '')) //"!" représente la négation/
{
// les 4 variables sont remplies, on génère puis envoie le mail
$headers = 'From: '.$nom.' <'.$mail.'>' . "\r\n";
// envoyer une copie au visiteur ?
if ($copie == 'oui')
{
$cible = $destinataire.','.$mail;
}
else
{
$cible = $destinataire;
};
// Remplacement de certains caractères spéciaux
$comment = str_replace("'","'",$comment);
$comment = str_replace("’","'",$comment);
$comment = str_replace(""",'"',$commente);
$comment = str_replace('<br>','',$comment);
$comment = str_replace('<br />','',$comment);
$comment = str_replace("<","<",$comment);
$comment = str_replace(">",">",$comment);
$comment = str_replace("&","&",$comment);
// Envoi du mail
if (mail($cible, $objet,$comment))
{
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.php">Retour au formulaire</a></p>'."\n";
};
}; // fin du if (!isset($_POST['envoi']))
?>
Si vous êtes arrivé jusque là c'est que vous avez eu du courage :=) et je vous en remercie!
A voir également:
- Aide formulaire
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook compte désactivé - Guide
- Formulaire de reclamation instagram - Guide
- Récupérer compte outlook sans formulaire - Forum Hotmail / Outlook.com
- Confirmer le nouvel envoi du formulaire err_cache_miss - Forum Google Chrome
4 réponses
Bonsoir , j'ai testé votre formulaire , il ne semble pas fonctionné , aucun message d'erreur , ni d'envoi ??dommage , il est très complet , si vous trouvez , signalez le , merci , cordialement
D'accord, dès que j'ai la solution je la posterai sur le forum. D'ici là je prends toutes les propositions succeptibles de résoudre mes erreurs. Sachant que l'erreur principale (est située sur la page envoi_mail.php).
Quand je remplis tout les champs de mon formulaire et que je clique sur valider, le message d'erreur que j'ai défini auparavant s'affiche:
echo '<p>'.$message_formulaire_invalide.' <a href="contact.php">Retour au formulaire</a></p>'."\n";
(ce qui donne en français :Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur. Retour au formulaire )
Je pense donc que je dois avoir une erreur lors de la déclaration des variable et peut-être aussi dans la structure de mes "if" "else". (dans la page en php)
Si il vous faut plus d'infos, je suis dispo ;) . Merci d'avance pour votre aide.
Quand je remplis tout les champs de mon formulaire et que je clique sur valider, le message d'erreur que j'ai défini auparavant s'affiche:
echo '<p>'.$message_formulaire_invalide.' <a href="contact.php">Retour au formulaire</a></p>'."\n";
(ce qui donne en français :Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur. Retour au formulaire )
Je pense donc que je dois avoir une erreur lors de la déclaration des variable et peut-être aussi dans la structure de mes "if" "else". (dans la page en php)
Si il vous faut plus d'infos, je suis dispo ;) . Merci d'avance pour votre aide.
Merci pour ton lien, je vais essayer de m'en inspirer. Je reste quand même disposer à résoudre mon code, alors si quelqu'un a des propositions de solutions je suis preneur. Merci beaucoup.
En attente de vos solutions...
En attente de vos solutions...
D'accord merci énormèment pour la solution, vous me sortez vraiment une épine du pied. Je ne sais comment vous remercier. J'ai vu comme quoi vous allez essayer de résoudre le pb de l'envoi et/ou la réception de la pièce jointe. Je vous en suis vraiment reconnaissant, et vous souhaite du courage!
P.S. : si vous n'y arrivez pas ce n'est pas grave. Vous m'avez déjà bien aidé!
P.S. : si vous n'y arrivez pas ce n'est pas grave. Vous m'avez déjà bien aidé!