Formulaire PHP
sdhc86
Messages postés
298
Date d'inscription
Statut
Membre
Dernière intervention
-
sdhc86 Messages postés 298 Date d'inscription Statut Membre Dernière intervention -
sdhc86 Messages postés 298 Date d'inscription Statut Membre Dernière intervention -
Bonjour, j'ai un problème avec mon formulaire il m'envois : Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur. Retour au formulaire
TRAITEMENT.PHP
<?php
/*
********************************************************************************************
CONFIGURATION
********************************************************************************************
*/
// destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
$destinataire = 'lvm.peronnet@orange.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=\"reparation.php\">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 = htmlspecialchars(trim($text), ENT_QUOTES);
if (1 === get_magic_quotes_gpc())
{
$text = stripslashes($text);
}
$text = nl2br($text);
return $text;
};
/*
* Cette fonction sert à vérifier la syntaxe d'un email
*/
function IsEmail($email)
{
$value = preg_match('/^(?:[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\'\{\|\}\~]+\.)*[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\'\{\|\}\~]+@(?:(?:(?:[a-zA-Z0-9_](?:[a-zA-Z0-9_\-](?!\.)){0,61}[a-zA-Z0-9_-]?\.)+[a-zA-Z0-9_](?:[a-zA-Z0-9_\-](?!$)){0,61}[a-zA-Z0-9_]?)|(?:\[(?:(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\.){3}(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\]))$/', $email);
return (($value === 0) || ($value === false)) ? false : true;
}
// formulaire envoyé, on récupère tous les champs.
$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
$prenom = (isset($_POST['prenom'])) ? Rec($_POST['prenom']) : '';
$ville = (isset($_POST['ville'])) ? Rec($_POST['ville']) : '';
$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
$tel = (isset($_POST['tel'])) ? Rec($_POST['tel']) : '';
$reparationform = (isset($_POST['reparationform'])) ? Rec($_POST['reparationform']) : '';
// 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 != '') && ($prenom != '') && ($tel != ''))
{
// les 4 variables sont remplies, on génère puis envoie le mail
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'From:'.$nom.' <'.$email.'>' . "\r\n" .
'Reply-To:'.$email. "\r\n" .
'X-Mailer:PHP/'.phpversion();
// 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($nom, $prenom, $ville, $email, $tel, $reparationform))
{
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="reparation.php">Retour au formulaire</a></p>'."\n";
};
}; // fin du if (!isset($_POST['envoi']))
?>
FORMULAIRE.PHP
<form id="contact" method="post" action="traitement_formulaire.php">
<label for="prenom">Prénom :</label>
<input type="text" name="prenom" id="prenom" placeholder="" size="30" maxlength="10" />
<br>
<br>
<label for="nom">Nom :</label>
<input type="text" name="nom" id="nom" placeholder="" size="30" maxlength="10" />
<br>
<br>
<label for="ville">Ville : </label>
<input type="text" name="ville" id="ville" placeholder="" size="30" maxlength="10" />
<br>
<br>
<label for="email">Email : </label>
<input type="email" />
<br>
<br>
<label for="prenom">Numéro de Téléphone : </label>
<input type="tel" />
<br>
<br>
<p>
<label for="reparationform">Quel mode de réparation préférez vous ?</label>
<select name="reparationform" id="reparationform">
<option value="domicileclient">Domicile (client)</option>
<option value="domicileréparateur">Domicile (réparateur)</option>
<option value="enligne">En controlent vôtre pc</option>
</select>
</p>
<label <span class="forumulaireprobleme" for="ameliorer">Déscription courte du problème ...</span></label>
<br />
<textarea name="ameliorer" id="ameliorer" rows="10" cols="70">
</textarea>
<div style="text-align:center;"><input type="submit" name="envoi" value="Envoyer le formulaire !" /></div>
TRAITEMENT.PHP
<?php
/*
********************************************************************************************
CONFIGURATION
********************************************************************************************
*/
// destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
$destinataire = 'lvm.peronnet@orange.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=\"reparation.php\">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 = htmlspecialchars(trim($text), ENT_QUOTES);
if (1 === get_magic_quotes_gpc())
{
$text = stripslashes($text);
}
$text = nl2br($text);
return $text;
};
/*
* Cette fonction sert à vérifier la syntaxe d'un email
*/
function IsEmail($email)
{
$value = preg_match('/^(?:[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\'\{\|\}\~]+\.)*[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\'\{\|\}\~]+@(?:(?:(?:[a-zA-Z0-9_](?:[a-zA-Z0-9_\-](?!\.)){0,61}[a-zA-Z0-9_-]?\.)+[a-zA-Z0-9_](?:[a-zA-Z0-9_\-](?!$)){0,61}[a-zA-Z0-9_]?)|(?:\[(?:(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\.){3}(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\]))$/', $email);
return (($value === 0) || ($value === false)) ? false : true;
}
// formulaire envoyé, on récupère tous les champs.
$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
$prenom = (isset($_POST['prenom'])) ? Rec($_POST['prenom']) : '';
$ville = (isset($_POST['ville'])) ? Rec($_POST['ville']) : '';
$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
$tel = (isset($_POST['tel'])) ? Rec($_POST['tel']) : '';
$reparationform = (isset($_POST['reparationform'])) ? Rec($_POST['reparationform']) : '';
// 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 != '') && ($prenom != '') && ($tel != ''))
{
// les 4 variables sont remplies, on génère puis envoie le mail
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'From:'.$nom.' <'.$email.'>' . "\r\n" .
'Reply-To:'.$email. "\r\n" .
'X-Mailer:PHP/'.phpversion();
// 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($nom, $prenom, $ville, $email, $tel, $reparationform))
{
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="reparation.php">Retour au formulaire</a></p>'."\n";
};
}; // fin du if (!isset($_POST['envoi']))
?>
FORMULAIRE.PHP
<form id="contact" method="post" action="traitement_formulaire.php">
<label for="prenom">Prénom :</label>
<input type="text" name="prenom" id="prenom" placeholder="" size="30" maxlength="10" />
<br>
<br>
<label for="nom">Nom :</label>
<input type="text" name="nom" id="nom" placeholder="" size="30" maxlength="10" />
<br>
<br>
<label for="ville">Ville : </label>
<input type="text" name="ville" id="ville" placeholder="" size="30" maxlength="10" />
<br>
<br>
<label for="email">Email : </label>
<input type="email" />
<br>
<br>
<label for="prenom">Numéro de Téléphone : </label>
<input type="tel" />
<br>
<br>
<p>
<label for="reparationform">Quel mode de réparation préférez vous ?</label>
<select name="reparationform" id="reparationform">
<option value="domicileclient">Domicile (client)</option>
<option value="domicileréparateur">Domicile (réparateur)</option>
<option value="enligne">En controlent vôtre pc</option>
</select>
</p>
<label <span class="forumulaireprobleme" for="ameliorer">Déscription courte du problème ...</span></label>
<br />
<textarea name="ameliorer" id="ameliorer" rows="10" cols="70">
</textarea>
<div style="text-align:center;"><input type="submit" name="envoi" value="Envoyer le formulaire !" /></div>
A voir également:
- Formulaire PHP
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook - Guide
- Formulaire de reclamation instagram - Guide
- Easy php - Télécharger - Divers Web & Internet
- Confirmer le nouvel envoi du formulaire err_cache_miss - Forum Webmastering
2 réponses
Ce pourrait-il que se soit le ! avant Isset à la première ligne ???
Puisque que ceci n'existe pas, il renvoie tout de suite au message qui affiche l'erreur...
Je suis humain, j'ai droit à l'erreur.
Lorsque votre problème est résolu, marquez le (Marquer Comme Résolu) !
// on teste si le formulaire a été soumis if (!isset($_POST['envoi'])) { // formulaire non envoyé echo '<p>'.$message_erreur_formulaire.'</p>'."\n"; } else
Puisque que ceci n'existe pas, il renvoie tout de suite au message qui affiche l'erreur...
Je suis humain, j'ai droit à l'erreur.
Lorsque votre problème est résolu, marquez le (Marquer Comme Résolu) !