Tout d'abord, super forum ... je suis nouveau ; je le trouve beau, complet, etc...
Bon ... mon petit problème :
J'ai presque fini de créer mon site, un site que je fais pour mon village Villers-les-Luxeuil.
=> http://www.villers-les-luxeuil.fr.nf
Reste encore quelques petits bugs
Mais ...
J'aimerai faire un formulaire de Contact.
Car juste ça, ça me plait pas beaucoup :
Code : Tout sélectionner
<a href="mailto:[email protected]"><img src="img/email.png" alt="[email protected]" title="[email protected]"/></a>J'ai déjà bien avancer (d'ailleurs, content d'avoir fait tout ça sans l'aide de personne ^^ ).
Bon, voilà donc le principe :
1.) Le visiteur remplit tout les champs de texte (ou autres) qui sont en HTML & CSS (c'est fini ça normalement).
2.) Ensuite, JavaScript intervient pour voir si tout les champs sont complétés et que l'adresse E-Mail est bonne (du moins valable). Si il y a erreur, JS l'indique donc, le visiteur doit modifié les erreurs pour envoyer l'e-mail (déjà fait également).
3.) Si le visiteur n'a pas JS, alors le formulaire sautera cette étape.
4.) Arrive au PHP.
5.) Le PHP vérifie aussi le formulaire mais moins complet pour les visiteurs n'ayant pas JS (ceux qui l'ont aussi, mais c'est sur que ce sera accepté) (c'est fait aussi).
6.) Ensuite, si il y a erreur, le formulaire ne m'envoie pas l'e-mail. Il renvoi vers une page d'erreur (c'est fait aussi).
7.) Mais si le formulaire est valable, PHP doit alors m'envoyer l'e-mail (c'est pas fais ... je sais pas et j'ai pas trouvé
8.) Je reçoit l'E-Mail (ça, rien a faire ^^ ).
Bon donc les personnes qui pourraient m'indiquer le code à rajouter ... ça serait sympa de leur part
Je vous passe quand même mes pages (contact.php ; design.css ; traitement.php ; contact.js) :
Contact.php (le HTML) :
Code : Tout sélectionner
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Villers-Les-Luxeuil</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<meta name="author" content="CowBoy (ou Aurélien)" />
<meta name="description" content="Le site de Villers-Les-Luxeuil" />
<meta name="keywords" content="villers-les-luxeuil, villers, villers les luxeuil, villers-lès-luxeuil, villers lès luxeuil" />
<meta name="reply-to" content="[email protected]" />
<link rel="start" title="Index" href="index.php" />
<link rel="help" title="Politique d'accessibilité" href="help.php" />
<link rel="shortcut icon" type="image/x-icon" href="img/favicon.gif" />
<link rel="stylesheet" media="screen" type="text/css" title="Design" href="design.css" />
<script type="text/javascript" src="javascript.js"></script>
<script type="text/javascript" src="contact.js"></script>
</head>
<body id="body">
<!-- /!\ Division supérieur /!\ -->
<div id="DS">
<div id="Titre"></div>
<div id="Clocher"></div>
<div id="CoteClocher">
<div id="Texte">
<?= file_get_contents('texteaccueil.php'); ?>
</div>
<div id="Toit"></div></div>
<div id="Colonne"></div>
</div>
<!-- /!\ Division du milieu /!\ -->
<div id="DM">
<!-- Menu -->
<div id="menu"><?= file_get_contents('menu.php'); ?></div>
<!-- Corps -->
<div id="corpstexte">
<h1>Contact</h1>
<p>Si vous avez des informations, des photos, des suggestions, ... en rapport avec Villers-Les-Luxeuil ou le site, merci de me tenir au courant :</p>
<h2>Formulaire de contact</h2>
<form method="post" action="traitement.php" onsubmit="return pretraite()" name="FormulaireContact" id="form">
<fieldset id="dp">
<legend>Données Personnelles</legend>
<p><label for="nom">Nom : </label>
<input type="text" id="nom" name="nom"/></p>
<p><label for="prenom">Prénom : </label>
<input type="text" id="prenom" name="prenom"/></p>
<p><label for="SM">Sexe : </label>
<input type="radio" id="SM" name="sexe" value="M" checked="checked"/>
<input type="radio" id="SF" name="sexe" value="F"/></p>
<p><label for="ml">E-Mail : </label>
<input type="text" id="ml" name="ml"/></p>
<select id="lieu" name="lieu">
<option value="0">Choisissez votre lieu (le plus précis)</option>
<optgroup label="France">
<option value="Villers">Villers-Les-Luxeuil</option>
<option value="Haute-Saône">Haute-Saône</option>
<option value="AutreF">Autre</option>
</optgroup>
<optgroup label="Autre pays">
<option value="Canada">Canada</option>
<option value="Autre Pays"></option>
</optgroup>
</select>
</fieldset>
<fieldset id="com">
<legend>Commentaires / Remarques / Etc...</legend>
<p><label for="titre">Titre : </label>
<input type="text" id="titre" name="titre"/></p>
<p><label for="message">Message : </label>
<textarea id="message" name="message" rows="6" cols="50">Votre message ici</textarea></p>
<p><input id="ok" type="submit" value="Envoyer"/><input id="reset" type="reset" value="Rénitialiser"/></p>
</fieldset>
</form>
</div>
</div>
<!-- /!\ Division inférieur /!\ -->
<div id="DI">
<div id="Pdp"><?= file_get_contents('pdp.php'); ?></div>
<div id="Cyt"><?= file_get_contents('cyt.php'); ?></div>
</div>
</body>
</html>
Code : Tout sélectionner
p
{
margin:0 0 5px 0;
}
legend
{
background-color:silver;
}
label
{
width:100px;
text-align:right;
display:block;
float:left;
}
#dp
{
background-color:orange;
}
#com
{
background-color:orange;
}
input
{
border:none;
background-color:rgb(224,224,255);
}
input #ok
{
background-color:silver;
border:2px solid black;
}
input #reset
{
background-color:silver;
border:2px solid black;
}
fieldset
{
margin-left:5px;
margin-bottom:10px;
}
textarea
{
margin-left:10px;
border:1px solid black;
}
contact.js (le JS) :
Code : Tout sélectionner
//contact.js
function pretraite () {
df=document.FormulaireContact
msg=''
if (df.nom.value=='') {msg+='Nom\n'}
if (df.prenom.value=='') {msg+='Prénom\n'}
if (df.ml.value=='') {msg+='E-Mail\n'}
if (df.lieu.value=='') {msg+='Lieu\n'}
if (df.titre.value=='') {msg+='Titre\n'}
if (df.message.value=='') {msg+='Message\n'}
m=new RegExp('^.*@.*\..{2,3}$')
if (!m.test (df.ml.value)) {msg+='E-Mail invalide'}
if (msg !='') {alert('Donnée(s) manquante(s) :\n' +msg)
return false
} else {
return true }}traitement.php (le traitement, c'est ici qui faut rajouter l'envoi
Code : Tout sélectionner
<?php
//récupération et vérification des données
$sexe=$_POST['sexe'];
$msg='';
$nom=$_POST['nom'];
if ($nom=='') {$msg.="Nom <br/>\n";}
$prenom=$_POST['prenom'];
if ($prenom=='') {$msg.="Prenom <br/>\n";}
$ml=$_POST['ml'];
if ($ml=='') {$msg.="E-Mail <br/>\n";}
$lieu=$_POST['lieu'];
if ($lieu=='') {$msg.="Lieu <br/>\n";}
$titre=$_POST['titre'];
if ($titre=='') {$msg.="Titre <br/>\n";}
$message=$_POST['message'];
if ($message=='') {$msg.="Message <br/>\n";}
$m='^.*@.*\..{2,3} $';
if (!ereg($m, $ml)) {$msg.='E-Mail invalide';}
if ($msg !='') {
//Données incorrectes ; Envoi de la notification
$f=fopen('contact.php', 'r');
$c=fread($f,5000);
fclose ($f);
echo $c. $msg. "\n</body><\n</html>";
} else {
// Données correctes
//Envoi de l'E-Mail à [email protected]
}Merci d'avance,
J'ai déjà chercher sur google, mais je n'ai pas réussi à y faire quelque chose
Merci
@++
CowBoy
PS: Que pensez-vous de mon site ? (=> sondage)
PS²:
si votre question porte sur du code PHP, postez le passage correspondant (une vingtaine de lignes au maximum) sans oublier d'utiliser les balises[/quote] Mais maintenant que j'ai tout écrit ... vraiment désolé ... je fais attention la prochaine fois :(