Aide pour formulaire de contact

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Aide pour formulaire de contact

Re: Aide pour formulaire de contact

par Dr@ke » 02 avr. 2010, 17:08

Pas bête en effet :wink:

Re: Aide pour formulaire de contact

par AB » 02 avr. 2010, 17:04

if(array_filter($_POST) === $_POST)
Je pense que je vais m'en servir :wink:
Oui c'est le plus rapide mais à condition qu'il n'y ait pas de champs facultatifs dans le formulaire.

Si c'est le cas on peut aussi envisager de crée un formulaire avec les champs obligatoires regroupés dans un tableau pour pouvoir continuer d'appliquer les fonctions des tableaux au résultat
if(isset($_POST['control']) && array_filter($_POST['control']) === $_POST['control'])

<input type = "text" name = "control['nom']"  />
<input type = "text" name = "control['mail']"  />
<input type = "text" name = "option['phone']"  />

Re: Aide pour formulaire de contact

par stealth35 » 02 avr. 2010, 16:32

non array_filter ne bosse pas en référence, il te retourne l'array filter

Re: Aide pour formulaire de contact

par MaximusCMS » 02 avr. 2010, 16:16

humm .. ceci n'aurait il pas pour impact de vider TOUTES les variables ( de mémoire ) ?
ce qui rendrait dès lors impossible de fixer à l'utilisateur final quel champs est vide avec précision :oops:

Re: Aide pour formulaire de contact

par Dr@ke » 02 avr. 2010, 16:13

if(array_filter($_POST) === $_POST)
Je pense que je vais m'en servir :wink:

Re: Aide pour formulaire de contact

par stealth35 » 02 avr. 2010, 15:50

ou encore mieux
if(array_filter($_POST) === $_POST)

Re: Aide pour formulaire de contact

par MaximusCMS » 02 avr. 2010, 13:20

Bonjour, ne serait il pas plus sage de faire un truc de ce type

                if ( empty($nom) || empty($prenom) ||  empty($tel) || empty($message)){
                         // quelque chose manque : affichage du message d'erreur 
                         // contrôle de chaque variable pour déterminer laquelle est vide et le stipuler au client 
                } else {
                        // envoi du mail
               }

Re: Aide pour formulaire de contact

par pccall » 02 avr. 2010, 09:33

Malheureusement faute de temps, je n'ai pas encore pu approfondir le sujet...

J'ai déjà testé les solutions présentes ici et il n'y a plus que le message d'alerte qui ne s'affiche pas.

Si quelqu'un trouve une solution, je lui en serais très reconnaissant :wink:

Re: Aide pour formulaire de contact

par visualight » 31 mars 2010, 12:53

else{
$msg_e = "Vous n'avez pas rempli tous les champs !";
}


<form method="POST" action="?">
<?php if($msg_e) echo '<p id="msge" style="border:1px dotted red;background-color:#AAAAAA;font-size:1.3em;">'.$msg_e.'</p>'; ?>
<p>Pour nous contacter c'est très simple, remplissez ce formulaire et
nous vous recontacterons dans les plus brefs délais.</p>

Non ? Enfin ... j'ai regardé ton code en diagonal ..
Salut devlopnet,

La fonction s'exécute bien comme avant mais le message "Vous n'avez pas rempli tous les champs !" ne s'affiche pas chez moi.

Merci à tous pour votre aide =D>

Salut,

As tu trouvé ?

A+
raph

Re: Aide pour formulaire de contact

par pccall » 31 mars 2010, 09:24

Merci pour ces conseils, je vais y jeter un coup d'oeil dans les plus brefs délais :wink:

Re: Aide pour formulaire de contact

par Dr@ke » 31 mars 2010, 01:30

Re: Aide pour formulaire de contact

par pccall » 30 mars 2010, 16:23

else{
$msg_e = "Vous n'avez pas rempli tous les champs !";
}


<form method="POST" action="?">
<?php if($msg_e) echo '<p id="msge" style="border:1px dotted red;background-color:#AAAAAA;font-size:1.3em;">'.$msg_e.'</p>'; ?>
<p>Pour nous contacter c'est très simple, remplissez ce formulaire et
nous vous recontacterons dans les plus brefs délais.</p>

Non ? Enfin ... j'ai regardé ton code en diagonal ..
Salut devlopnet,

La fonction s'exécute bien comme avant mais le message "Vous n'avez pas rempli tous les champs !" ne s'affiche pas chez moi.

Merci à tous pour votre aide =D>

Re: Aide pour formulaire de contact

par pccall » 30 mars 2010, 15:35

Salut,

Merci d'avance pour votre aide :D

Je vous remets le code en plus clair plus haut.

Je vais aussi tester la solution de devlopnet, je vous dis quoi rapidement :wink:

Re: Aide pour formulaire de contact

par devlop78 » 29 mars 2010, 19:59

else{
$msg_e = "Vous n'avez pas rempli tous les champs !";
}


<form method="POST" action="?">
<?php if($msg_e) echo '<p id="msge" style="border:1px dotted red;background-color:#AAAAAA;font-size:1.3em;">'.$msg_e.'</p>'; ?>
<p>Pour nous contacter c'est très simple, remplissez ce formulaire et
nous vous recontacterons dans les plus brefs délais.</p>

Non ? Enfin ... j'ai regardé ton code en diagonal ..

Re: Aide pour formulaire de contact

par visualight » 29 mars 2010, 18:15

Je ne suis pas contre donner un coup de main MAIS :

- Si tu pouvais mettre ton code dans des balises
 (bouton PHP dans l'édition d'un message) ce serait plus sympa.
- Si tu pouvais également "styler" ton code pour que ce soit plus facile à lire c'est une bonne chose aussi ;)


Exemple style :

[php]<?php
FUNCTION FORMULAIRE()
{
  $affiche = 0;
      if(isset($_POST) && isset ($_POST['nom']) && isset ($_POST['prenom']) && isset ($_POST['societe']) && isset ($_POST['tel']) && isset ($_POST['email']) && isset ($_POST['message'])){
  extract($_POST);
            if(!empty($nom) && !empty($prenom) && !empty($tel) && !empty($message)){
              $message=str_replace("\'","'",$message);
              $destinataire="[email protected]";
....
            }
      }
}
?>
Merci,
raph ;)

EDIT : Je ne style pas mon code nécessairement quand je post un nouveau message mais quand il est long comme le tiens, cela s'avère un choix judicieux.