Envoi d'un formulaire vers une boite émail
eminbd
Messages postés
10
Date d'inscription
Statut
Membre
Dernière intervention
-
Keo19 Messages postés 42 Date d'inscription Statut Membre Dernière intervention -
Keo19 Messages postés 42 Date d'inscription Statut Membre Dernière intervention -
2 fichiers: la 1ere "Formulaire.html" pour saisir les données et la 2eme "Traitement.php" pour tester les différents champs du formulaire et envoyé ces champs vers une boite émail ..
je me demande est qu'il faut que ces pages doit être en ligne (sur internet) pour que l'envoi vers l'émail fonctionne ? sinon voila mon code que j'ai trouvé sur internet et j'espère que quelqu'un pouvez m'aider et merci d'avance ..:)
Code HTML:
<html>
<head></head>
<body>
<form method="post" action="traitement.php">
<p class="titre">Coordonnées</p>
<fieldset id="coordonnees">
<p id="civilite"><label>Civilité : </label>
<input type="radio" name="civilite" value="M." />M.
<input type="radio" name="civilite" value="Mlle" />Mlle
<input type="radio" name="civilite" value="Mme" />Mme
</p>
<label>Nom : </label>
<input type="text" name="nom" size="30" /><br />
<label>Adresse : </label>
<input type="text" name="adresse" size="30" /><br />
<label>Code postal : </label>
<input type="text" name="codepostal" size="30" /><br />
<label>Ville : </label>
<input type="text" name="ville" size="30" /><br />
<label>Pays : </label>
<select name="pays">
<option value="france">France</option>
<option value="belgique">Belgique</option>
<option value="suisse">Suisse</option>
</select>
<p id="interets"><label>Centres intérêts : </label>
<input type="checkbox" name="interets[]" value="sport" />Sport
<input type="checkbox" name="interets[]" value="cinema" />Cinéma<br />
<input type="checkbox" name="interets[]" value="internet" />Internet
<input type="checkbox" name="interets[]" value="voyages" />Voyages
</p>
</fieldset>
<p class="titre">Message</p>
<fieldset id="message">
<textarea name="comments" rows="5" cols="40"></textarea>
</fieldset>
<p id="buttons">
<input type="submit" value="Envoyer" />
<input type="reset" value="Recommencer" />
</p>
</form>
</body>
</html>
**************************************************
Code PHP:
<?php
$msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement
remplis :<br/><br/>";
$msg_ok = "Votre demande a bien été prise en compte.";
$message = $msg_erreur;
define('MAIL_DESTINATAIRE','amin_khmir@live.fr'); // remplacer par votre email
define('MAIL_SUJET','Message du formulaire de example.com');
// vérification des champs
if (empty($_POST['civilite']))
$message .= "Votre civilité<br/>";
if (empty($_POST['nom']))
$message .= "Votre nom<br/>";
if (empty($_POST['adresse']))
$message .= "Votre adresse<br/>";
if (empty($_POST['codepostal']))
$message .= "Votre code postal<br/>";
if (empty($_POST['ville']))
$message .= "Votre ville<br/>";
if (empty($_POST['comments']))
$message .= "Votre message<br/>";
// si un champ est vide, on affiche le message d'erreur et on stoppe le script
if (strlen($message) > strlen($msg_erreur)) {
echo $message; die();
}
// sinon c'est ok => on continue
foreach($_POST as $index => $valeur) {
$$index = stripslashes(trim($valeur));
}
$interets = $_POST['interets'];
$sqlinterets = '';
for ($i=0; $i<count($interets); $i++)
{
$sqlinterets .= $interets[$i];
$sqlinterets .= ', ';
}
//Préparation de l'entête du mail:
$mail_entete = "MIME-Version: 1.0\r\n";
$mail_entete .= "From: {$_POST['nom']} "
."<{$_POST['email']}>\r\n";
$mail_entete .= 'Reply-To: '.$_POST['email']."\r\n";
$mail_entete .= 'Content-Type: text/plain; charset="iso-8859-1"';
$mail_entete .= "\r\nContent-Transfer-Encoding: 8bit\r\n";
$mail_entete .= 'X-Mailer:PHP/' . phpversion()."\r\n";
// préparation du corps du mail
$mail_corps = "Message de : $civilite $nom\n";
$mail_corps .= "Adresse : $adresse, $codepostal $ville, $pays\n";
$mail_corps .= "Ses centres d'intérêts : $sqlinterets\n\n\n";
$mail_corps .= $comments;
// envoi du mail
if (mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete)) {
//Le mail est bien expédié
echo $msg_ok;
} else {
//Le mail n'a pas été expédié
echo "Une erreur est survenue lors de l'envoi du formulaire par email";
}
?>
je me demande est qu'il faut que ces pages doit être en ligne (sur internet) pour que l'envoi vers l'émail fonctionne ? sinon voila mon code que j'ai trouvé sur internet et j'espère que quelqu'un pouvez m'aider et merci d'avance ..:)
Code HTML:
<html>
<head></head>
<body>
<form method="post" action="traitement.php">
<p class="titre">Coordonnées</p>
<fieldset id="coordonnees">
<p id="civilite"><label>Civilité : </label>
<input type="radio" name="civilite" value="M." />M.
<input type="radio" name="civilite" value="Mlle" />Mlle
<input type="radio" name="civilite" value="Mme" />Mme
</p>
<label>Nom : </label>
<input type="text" name="nom" size="30" /><br />
<label>Adresse : </label>
<input type="text" name="adresse" size="30" /><br />
<label>Code postal : </label>
<input type="text" name="codepostal" size="30" /><br />
<label>Ville : </label>
<input type="text" name="ville" size="30" /><br />
<label>Pays : </label>
<select name="pays">
<option value="france">France</option>
<option value="belgique">Belgique</option>
<option value="suisse">Suisse</option>
</select>
<p id="interets"><label>Centres intérêts : </label>
<input type="checkbox" name="interets[]" value="sport" />Sport
<input type="checkbox" name="interets[]" value="cinema" />Cinéma<br />
<input type="checkbox" name="interets[]" value="internet" />Internet
<input type="checkbox" name="interets[]" value="voyages" />Voyages
</p>
</fieldset>
<p class="titre">Message</p>
<fieldset id="message">
<textarea name="comments" rows="5" cols="40"></textarea>
</fieldset>
<p id="buttons">
<input type="submit" value="Envoyer" />
<input type="reset" value="Recommencer" />
</p>
</form>
</body>
</html>
**************************************************
Code PHP:
<?php
$msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement
remplis :<br/><br/>";
$msg_ok = "Votre demande a bien été prise en compte.";
$message = $msg_erreur;
define('MAIL_DESTINATAIRE','amin_khmir@live.fr'); // remplacer par votre email
define('MAIL_SUJET','Message du formulaire de example.com');
// vérification des champs
if (empty($_POST['civilite']))
$message .= "Votre civilité<br/>";
if (empty($_POST['nom']))
$message .= "Votre nom<br/>";
if (empty($_POST['adresse']))
$message .= "Votre adresse<br/>";
if (empty($_POST['codepostal']))
$message .= "Votre code postal<br/>";
if (empty($_POST['ville']))
$message .= "Votre ville<br/>";
if (empty($_POST['comments']))
$message .= "Votre message<br/>";
// si un champ est vide, on affiche le message d'erreur et on stoppe le script
if (strlen($message) > strlen($msg_erreur)) {
echo $message; die();
}
// sinon c'est ok => on continue
foreach($_POST as $index => $valeur) {
$$index = stripslashes(trim($valeur));
}
$interets = $_POST['interets'];
$sqlinterets = '';
for ($i=0; $i<count($interets); $i++)
{
$sqlinterets .= $interets[$i];
$sqlinterets .= ', ';
}
//Préparation de l'entête du mail:
$mail_entete = "MIME-Version: 1.0\r\n";
$mail_entete .= "From: {$_POST['nom']} "
."<{$_POST['email']}>\r\n";
$mail_entete .= 'Reply-To: '.$_POST['email']."\r\n";
$mail_entete .= 'Content-Type: text/plain; charset="iso-8859-1"';
$mail_entete .= "\r\nContent-Transfer-Encoding: 8bit\r\n";
$mail_entete .= 'X-Mailer:PHP/' . phpversion()."\r\n";
// préparation du corps du mail
$mail_corps = "Message de : $civilite $nom\n";
$mail_corps .= "Adresse : $adresse, $codepostal $ville, $pays\n";
$mail_corps .= "Ses centres d'intérêts : $sqlinterets\n\n\n";
$mail_corps .= $comments;
// envoi du mail
if (mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete)) {
//Le mail est bien expédié
echo $msg_ok;
} else {
//Le mail n'a pas été expédié
echo "Une erreur est survenue lors de l'envoi du formulaire par email";
}
?>
A voir également:
- Envoi d'un formulaire vers une boite émail
- Whatsapp formulaire opposition - Guide
- Comment creer un compte email - Guide
- Boite gmail saturée - Guide
- Formulaire de réclamation facebook - Guide
- Boite gmail bloquée - Guide
3 réponses
bizarre... je ne sais pas quelle version de FileZilla tu as
Edition -> Paramètres -> FTP et là tu choisis le mode que tu souhaites (le passif est recommandé)
Edition -> Paramètres -> FTP et là tu choisis le mode que tu souhaites (le passif est recommandé)
oui et vu ton code, il faut que le php et le html soit dans le même emplacement aussi (pas l'un dans un dossier différent) sur le serveur
merci b1 :) mais g une autre question
aprés avoir faire l'inscription chez un hébergeur gratuit, g installé Filezilla pour envoyer mes fichier vers le serveur via FTP. Pour que ça fonctionne le paramétre "Type d'authenfication" doit etre mis a "normal", je le mis et quand je valide les paramétre une alerte s'affiche qui dit : "filezilla fonctionne en mode kiosque.Les type d'authenfication Normal et Compte ne sont pas disponible dans ce mode".
est ce vous avez une idée ? si non, pouvez vous me cité un autre logiciel qui peut m'aider a envoyer mes fichier vers le serveur.
aprés avoir faire l'inscription chez un hébergeur gratuit, g installé Filezilla pour envoyer mes fichier vers le serveur via FTP. Pour que ça fonctionne le paramétre "Type d'authenfication" doit etre mis a "normal", je le mis et quand je valide les paramétre une alerte s'affiche qui dit : "filezilla fonctionne en mode kiosque.Les type d'authenfication Normal et Compte ne sont pas disponible dans ce mode".
est ce vous avez une idée ? si non, pouvez vous me cité un autre logiciel qui peut m'aider a envoyer mes fichier vers le serveur.
ftp://identifiant@hebergeur/ ->
exemple :
hebergeur : chez.com
id : totodunet
=> ftp://totodunet@chez.com/
Une page s'ouvre et demande ton id et ton mot de passe normalement, tu valides et tu accèdes à ton ftp, ensuites tu fais du drag and drop pour envoyer tes fichiers dans le dossier /www
je sé pas s'il ya une auttre étapes aprés l'envoi des fichier via ftp.