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?
30 Octobre 2020, 17:10:13


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 6767 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
Erreur de base de données
Merci de réessayer. Si l'erreur se reproduit, merci de signaler cette erreur à un administrateur.
Retour
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.036 secondes avec 21 requêtes.