Forums Webou.net - Hébergement gratuit et sans publicités avec PHP/MySQL Webou Webou Pro
Recherche avancée  
*
Bienvenue, Invité. Veuillez vous connecter ou vous inscrire.
Avez-vous perdu votre courriel d'activation?
20 Novembre 2017, 18:12:06


Connexion avec identifiant, mot de passe et durée de la session


Pages: [1]   Bas de page
  Imprimer  
Auteur Fil de discussion: Formulaire de contact  (Lu 5278 fois)
0 Membres et 1 Invité sur ce fil de discussion.
lepetitmarocain
Invité
« le: 07 Décembre 2009, 20:23:04 »

Bonsoir tout le monde !

Je viens faire un deuxième post-it pour un mini tutoriel. Le but c'est de mettre en place un formulaire de contact pour votre site.

C'est très simple vue que je vais vous passer le code à insérer vous n'aurez plus qu'a le publier. La personne qui vous contacte indique son adresse, l'objet du message et son message (évidemment).

La structure est la suivante :

1- Objet de votre message : Demande
2- Votre Adresse E-mail : Votreemail@blablabla.net < - - L'adresse E-mail du contacteur
3- Votre message : Salut je voudrais te...


Et sans oublier un bouton permettant une prévisualisation et un autre pour l'envoie (heureusement c'est le but  Grima&ccedil;ant)



La seule chose qui vous reste à faire est de copier/coller le code et de le placer dans un fichier et 'oublier pas de l'enregistrer avec l'extension .php (ou .shtml, .php3, etc...) .

/l\ VOTRE E-MAIL EST A INDIQUER EN LIGNE 3 /l\

Le code en question est disponible sur cette adresse : http://ssylvainsab.free.fr/autres/ccmfaq/script-contact.txt

Vous pouvez bien évidement le personnaliser selon vos envies  Sourire

Ouvrez Notpad++ (ou bloc-note) copier/coller le code si dessous.

Code:
<?php
[color=green]//Ecrivez votre adresse e-mail entre les guillemets[/color]
$destinataire=[color=red]'monadresse@mondomaine'[/color];
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="fr">
<head>
  <title>Contact</title>
  <style type="text/css">
    form#contact{border:2px solid red;width:70%;padding:1em}
    p#msg,p#adr,p#obj{border:2px solid green;margin-right:10%;padding:10px}
    p#msg textarea{border:2px solid blue;height:30em;width:80%}
    p#adr input,p#obj input{border:2px solid blue}
    p.bt{text-align:center}
    p.bt input{border:1px red solid;width:50%}
  </style>
  <meta http-equiv="content-type" content="Content-type:text/html;charset=iso-8859-1">
</head>
<body style="direction: ltr;">
<h1>Contact</h1>
<?php
$Previsualiser
='<p class="bt">
<input type="submit" name="previsualiser" tabindex="3" value="Pr&eacute;visualiser"></p>'
;
$Envoi="\n".'<p class="bt">
<input name="envoi" tabindex="4" value="Envoyer" type="submit"></p>'
;
if (isset(
$_POST['message']))
  {
    
// La variable $verif va nous permettre d'analyser si la sémantique de l'email est bonne
    
$verif='#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,5}$#';
    
//quelques remplacements pour les specialchars
    
$message=preg_replace('#(<|>)#''-'$_POST['message']);
    
$message=str_replace('"'"'",$message);
    
$message=str_replace('&''et',$message);
    
$objet=preg_replace('#(<|>)#''-'$_POST['objet']);
    
$objet=str_replace('"'"'",$objet);
    
$objet=str_replace('&''et',$objet);
    
// On assigne et/ou protège nos variables
    
$votremail=stripslashes(htmlentities($_POST['votremail']));
    
$message=stripslashes(htmlspecialchars($message));
    
$objet=stripslashes(htmlspecialchars($objet));
    
//input envoi/previsualiser
    
$envoi=htmlentities($_POST['envoi']);
    
$previsualiser=htmlentities($_POST['previsualiser']);
    
//on enlève les espaces
    
$votremail=trim($votremail);
    
$message=trim($message);
    
$objet=trim($objet);

    
$apercu_resultat='<p>Aperçu du résultat :</p>';

    
/*On vérifie si l'e mail et le message sont pleins, et on agit en fonction.
      (on affiche Apercu du resultat, tel ou tel champ est vide, etc...*/
    //Si ca ne vas pas (mal rempli, mail non valide...)
    
if((empty($message))or(empty($objet))or(!preg_match($verif,$votremail)))
      {
        
//les 3 champs sont vides
        
if(empty($votremail)and(empty($message))and(empty($objet)))
          {
            echo 
'<p>Tous les champs sont vides.</p>';
            
$message='';$votremail='';$objet='';$apercu_resultat='';
          }
        
//un des champs est vide
        
else
          {
            if(!
preg_match($verif,$votremail))
              echo
'<p>Votre adresse e-mail n\'est pas valide.</p>';
            else
            {
              echo
'<p>Il faut remplir tous les champs !</p>';
              if(empty(
$message))
                
$apercu_resultat='';
            }
          }
      }
    
//Si les deux sont pleins et que l'adresse est valide, on envoie on on prévisualise sans envoi
    
else
      {
        
$domaine=preg_replace('#[^@]+@(.+)#','$1',$votremail);
        
$DomaineMailExiste=checkdnsrr($domaine,'MX');
        if(!
$DomaineMailExiste)
          echo
'<p>Le nom de domaine de l\'adresse e-mail que vous avez donn&eacute; n\'existe pas.</p>';
        elseif(!empty(
$previsualiser))
            {
              
$apercu_resultat='<p>Votre message et votre adresse e-mail sont valides et prêts &agrave; &ecirc;tre envoyés.
              <br>Vous n\'avez plus qu\'&agrave; cliquer sur le bouton "Envoyer".<br>Pr&eacute;visualisation :</p>'
;
              
$Previsualiser='';
            }
        elseif(!empty(
$envoi))
            {
              
$objet='[SITE] : '.$objet;
              
$headers='From:'.$votremail."\r\n".'To:'.$mail."\r\n".'Subject:'.$objet."\r\n".'Content-type:text/plain;charset=is-8859-1'."\r\n".'Sent:'.date('l, F d, Y H:i');
              if(
mail($destinataire,$objet,$message,$headers))
              {
                echo 
'<p>Votre message a bien été envoy&eacute;. Merci.</p><p><a href="/">Retour &agrave; la page d\'accueil</a></p>';
                
$Envoi='';
                
$Previsualiser='';
              }
              else
                echo
'<p>Un probl&egrave;me est survenu durant l\'envoi du mail.</p>';
            }
        else
          echo
'<p>Une condition innatendue est survenue lors de l\'ex&eacute;cution du script.</p>';
      }
echo 
$apercu_resultat;
  }
else
  {
  echo 
'<p>Vous pouvez utiliser ce formulaire pour me contacter.</p>';
  
$votremail='';$message='';
  }
$bas_formulaire=$Previsualiser.$Envoi;
?>

<form id='contact' method="post" action="<?php echo $_SERVER['PHP_SELF'];?>" enctype="multipart/form-data">
  <p id='obj'><label for='objet'>Objet de votre message :<br>
  <input type='text' name='objet' id='objet' tabindex='10' size='30'></label></p>

  <p id="adr"><label for="mail">Votre Adresse E-mail<br>
  <input name="votremail" tabindex="20" size="30" type="text" id="mail" value="<?php echo $votremail?>"></label></p>
  
  <p id="msg"><label for="message">Votre message<br>
  <textarea tabindex="30" rows="20" cols="120" name="message" id="message"><?php echo $message?></textarea>
  </label></p>
<?php echo $bas_formulaire;?>
</form>
</body>
</html>

Merci à Ssylvainsab de CCM  Clin d'oeil

++
« Dernière édition: 11 Décembre 2009, 13:59:18 par lepetitmarocain » Journalisée
Forums Webou.net - Hébergement gratuit et sans publicités avec PHP/MySQL
« le: 07 Décembre 2009, 20:23:04 »

 Journalisée
voltige.modélime
Habitué
**
Hors ligne Hors ligne

Messages: 74



Voir le profil WWW
« Répondre #1 le: 08 Janvier 2010, 11:22:50 »

Salut pour ceux qui ont mal a la tête en lisant ce code j'en ai fait un beaucoup plus simple et qui marche trés bien
Alors pour le formulaire en lui même je l'ai fait entiérement en texterea mais vous pouvez le faire comme bon vous semble...

Code:
<form method="post" action="page avec le php d'envoi.php">
 
  <fieldset><legend>Informations
peronnelles :</legend><br />
  <label for="nom">Nom : </label><textarea id="nom" name="nom" rows="1" cols="20"></textarea><br /><br />
  <label for="mail">Adresse mail : </label><textarea name="mail" id="mail" rows="1" cols="20"></textarea>
  </fieldset>
 
  <fieldset><legend>Votre message :</legend><br />
  <label for="objet">Objet : </label><textarea name="objet" id="objet" rows="1" cols="20"></textarea><br />
  <label for="message">Message : </label><textarea name="message" id="message" rows="1" cols="20"></textarea>
  <br /></fieldset><br />
 
<input value="envoyer" type="submit" /></form>


Pour ce qui est ensuite du code php vous devez intégrer celui ci dans une autre page que vous avez renseigné dans le code précédent ce qui servira a envoyer les donnés

Code:
<?php

// récuperation des variables provenant du formulaire
$nom $_POST['nom'];
$mail$_POST['mail'];
$objet$_POST['objet'];
$message$_POST['message'];

 
 
/* Destinataire */
$to /*modifiez l'adresse*/'votreadresse@chezvous.fr';
 
/* Construction du message */

$msg  /*modifiez le site */ 'Ce mail a été envoyé depuis votresite.com '"\r\n\r\n";
$msg .= '***************************'."\r\n";
$msg .= 'Ce message a écrit par : '.$nom."\r\n";
$msg .= 'Adresse mail : '.$mail."\r\n";
$msg .= 'Voici son message : '.$message."\r\n";
$msg .= '***************************'."\r\n";
 
/* En-têtes de l'e-mail */
$headers 'From: '.$nom.' <'.$mail.'>'."\r\n\r\n";
 
/* Envoi de l'e-mail */
if(mail($to$objet$msg$headers))
{
echo 
'Votre demande a bien été prise en compte';
}
else
{
echo 
/*modifier si vous le voulez*/'Une erreur est survenue ...';
}
?>
Intégrez ces code dans deux pages différentes une page qui est référencé sur votre site pour le code html et une autre vers laquel le formulaire renvoi sur laquelle vous intégrez le code php
Voila
Journalisée
laroze
Nouveau
*
Hors ligne Hors ligne

Messages: 1


Voir le profil
« Répondre #2 le: 21 Mars 2010, 12:36:46 »

merci beaucoup
Journalisée
gilledunord
Nouveau
*
Hors ligne Hors ligne

Messages: 5



Voir le profil WWW
« Répondre #3 le: 04 Avril 2010, 07:29:21 »

Bonjour

Sur mon 2ème site je propose plusieurs formulaires, servez vous  Clin d'oeil

http://fouzitou.com/
« Dernière édition: 08 Mai 2011, 08:53:28 par gilledunord » Journalisée

Cordialement
GilleduNord
http://creer-monsite.com/
Pages: [1]   Haut de page
  Imprimer  
 
Aller à:  

Propulsé par MySQL Propulsé par PHP Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Dilber MC Theme by HarzeM
Page générée en 0.039 secondes avec 21 requêtes.