Tom's Guide > Forum > Programmation > formulaire email

formulaire email

Forum Programmation : formulaire email

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

Bonjour à tous.

 

je me permets d'écrire sur le forum afin de solliciter vos compétences.

 

J'aimerais réaliser un formulaire email relativement simple.

 

Voici le code de ma page formulaire.html :

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans nom</title>

 

<script src="verif.php" type="text/javascript"></script>

 

<script type="text/javascript">

 

function validation(f){
ok=true;
if (f.sender_name.value == "" ) {
alert("Le champ Nom et prénom doit être complété" );
ok = false;
return ok;
}
if (f.sender_email.value == "" ) {
alert("Le champ Email doit être complété" );
ok = false;
return ok;
}
email = f.sender_email.value;
if (f.sender_email.value == "" ) {
alert("Le champ Email est obligatoire" );
ok = false;
return ok;
}
else {
p1 = email.indexOf("@" );
p2 = email.lastIndexOf("." );
if( p1 == -1) {
alert("Il n'y a pas d'@ dans cette adresse" );
ok= false;
}
else if( p2 == -1) {
alert("Il n'y a pas de point dans cette adresse" );
ok= false;
}
else if( p2 < p1 ) {
alert("Il manque un point après l'@" );
ok= false;
}
return ok;
}

if (window.document.form.textarea.value == "" ) {
alert("Le champ Nom et prénom doit être complété" );
ok = false;
return ok;
}

 

return ok;
}

 

</script>

 


<style type="text/css">
body{
background-color: #d9f6ff;
margin:0;
padding: 0;
padding-top: 0.15em;
font-size: 90%;
}
label{
text-align: center;
font-weight: bolder;
}
legend.legende{
margin: auto;
width: 1%;
display: block;
border: 2px solid white;
color: white;
padding: 0.25em;
margin-bottom: 1em;
font-size: 1.2em;
font-weight: bolder;
}
fieldset{
padding: 0.5em;
color: white;
border: 2px solid white;
border-bottom: none;
padding-bottom: 1em;
width: 50%;
text-align:center;
background-color: #2B7DA3;
}
input.bouton{
color: #006c94;
font-weight:bolder;
}
input{
background-color: white;
}
textarea{
background-color: white;
margin-bottom: 0.35em;
}
p{
text-align: left;
}
form{
text-align:center;
}
</style>

 

</head>

 

<body>

 

<form name="form" id="form" method="post" action="verif.php onsubmit="return validation(this)">

 

<fieldset>
<legend class="legende">Formulaire de contact</legend>
<br />
<label for="sender_name">Nom et prénom (*) : </label>
<br />
<input type="text" name="sender_name" id="sender_name" size="30" />
<br />
<br />
<label for="sender_email">Email (*) : </label>
<br />
<input type="text" name="sender_email" id="sender_email" size="30" />
<br />
<br />
<label for="message">Message (*) : </label>
<br />
<textarea cols="50" rows="6" name="message" id="message"></textarea>
<br />

 

<input type="submit" class="bouton" value="Envoyer" /> -
<input type="reset" style="color: #006c94; font-weight:bolder" value="Annuler" />
<br />

 

<p>(*) Champ obligatoire</p>
</fieldset>

 

</form>

 

</body>
</html>

 


Voici le code de ma page verif.php :

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
</head>

 

<body>

 

<?php

 

$msg = "Nom et prénom:\t$sender_name\n";
$msg .= "Email:\t$sender_email\n";
$msg .= "Message:\t$message\n\n";

 

$recipient = "*******@hotmail.com";
$subject = "Message d'un visiteur du site CHPTE";

 

$mailheaders = "From: My Web Site <> \n";
$mailheaders .= "Reply-To: $sender_email\n\n";

 

mail($recipient, $subject, $msg, $mailheaders);

 

echo "<html><head>";
echo "<title>Form Sent!</title></head><body>";
echo "<h1 align=center>Merci à vous $sender_name</h1>";
echo "<p align=center>";
echo "Nous avons bien reçu votre email.</p>";
echo "<p align=center>";
echo "Pour revenir sur la page d'accueil, cliquez <a href=\"http://www.chpte.be\">ici</a>.</p>";
echo "</body></html>";

 

?>
</body>
</html>

 


Voici mes problèmes :

 


1) Lorsque j'arrive sur la page formulaire.html, il envoit déjà un email sans qu'on en fasse la demande. Comment arrêter ça ?

 

2) Lorsque j'actualise la page formulaire.html, il envoit également un email sans qu'on le lui demande. Comment stopper ça ?

 

3) Lorsque je valide et que je n'ai pas entré d'adresse email, je vais avoir une alerte, donc le srcipt fonctionne MAIS il envoit aussi un mail. Comment faire pour qu'il ne le fasse pas.

 

En gros, que devrais-je changer dans ma ou mes page(s) pour qu'il envoit un email UNIQUEMENT quand toutes les lignes sont correctements remplies et pas lorsqu'on arrive sur la page ou lorsqu'on actualise.

 

Je vous dis un tout tout grand merci d'avance.


Message édité par OmaR le 20-08-2007 à 14:07:16
Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

1) enlève cette ligne : <script src="verif.php" type="text/javascript"></script>

2) idem

3) idem théoriquement

------------------------------ Les dessins des seins ou les desseins des saints ?
Répondre à OmaR

Cher OmaR_ShaRif, un tout tout grand merci à toi. Cela fonctionne parfaitement maintenant. Tu m'as enlevé une grosse épine hors du pied. Sans compter ta réponse très rapide. Encore merci.

Dernière petite chose au cas ou : lorsque l email arrive sur ma boite email, il me met "ce message a été bloqué par mesure de sécurité" mais je peux cliquer sur ouvrir message et je vois alors le contenu. Dès lors, comment faire pour qu'à chaque nouveau message qui arrive, il s'ouvre directement sans problème ?? Merci mille fois

Répondre à WaXoU@IDN

Hmm... je crois que c'est Hotmail qui fait ça automatiquement.

Il faudrait que tu aies une autre adresse mail, et il ne devrait pas y avoir ce problème.

------------------------------ Les dessins des seins ou les desseins des saints ?
Répondre à OmaR

Oui, tu as assurément raison.

Je te remercie pour ton aide précieuse.

Bonne journée à toi.

Répondre à WaXoU@IDN
Tom's Guide > Forum > Programmation > formulaire email
Aller à :

Il y a 2419 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens