Accueil > > > VÉRIFICATION DE FORMULAIRE EN PHP
VÉRIFICATION DE FORMULAIRE EN PHP
Information sur la source
Description
Ce code est une vérification de formulaire. L'algo est basé sur une première vérification en javascript. Le code est commenté afin de faciliter sa compréhension.
Source
- <?php
- // Affiche les variables transmises
- /*if(isset($_POST['btn_envoi'])){
- echo var_dump($_POST);
- }*/
-
- // VERIFICATION FORMULAIRE
- if(isset($_POST['btn_envoi'])){
- $societe=trim($_POST['societe']);
- $civi=trim($_POST['civi']);
- $nom=trim($_POST['nom']);
- $prenom=trim($_POST['prenom']);
- $mail=trim($_POST['mail']);
- $tel=trim($_POST['tel']);
- $mob=trim($_POST['mob']);
- $obj=trim($_POST['obj']);
- $dmd=trim($_POST['dmd']);
- $antispam=trim($_POST['antispam']);
-
- if(!empty($societe) && !empty($nom) && !is_numeric($nom) && !empty($prenom) && !is_numeric($prenom) && !empty($dmd) && $antispam=='2' ){
-
- // Sécurisation : convertir les caractères spéciaux en texte et éviter les \ devant les '
- $societe=htmlspecialchars(stripcslashes($societe));
- $nom=htmlspecialchars(stripcslashes($nom));
- $prenom=htmlspecialchars(stripcslashes($prenom));
- $mail=htmlspecialchars(stripcslashes($mail));
- $tel=htmlspecialchars(stripcslashes($tel));
- $mob=htmlspecialchars(stripcslashes($mob));
- $obj=htmlspecialchars(stripcslashes($obj));
- $dmd=htmlspecialchars(stripcslashes($dmd));
-
-
- // Conception du message
- $mail_dest='mon_adresse@gmail.com';
- $sujet=$obj.' via monsite.com';
- $message='Vous avez reçu un message de la société : '.$societe.'<br />'.$civi.' '.$prenom.' '.$nom.'<br />'.$mail.'<br />Téléphone : '.$tel.'<br />Portable : '.$mob.'<br />Message : '.$dmd;
-
- // Permet d'envoyer le mail au format HTML + obtenir le mail utilisateur
- $headers='to: '.$mail."\r\n";
- $headers.='from: <'.$mail.'>'."\r\n";
- $headers.='MIME-VERSION:1.0'."\r\n";
- $headers.='content-type: text/html; charset="iso-8859-1"'."\r\n";
- $message=wordwrap($message,70);
-
- // Envoi du mail (utilisation de la fonction mail de php)
- if(mail($mail_dest,$sujet,$message,$headers)){
- echo '<center>Mail envoyé, merci</center>';
- }else{
- echo '<center>Mail non envoyé, merci de réessayer plus tard</center>';
- }
-
- // L'utilisateur n'est pas passé par le contrôle Javascript
- }else{
- echo '<center>Merci de réactiver les scripts</center>' ;
- }
- }
- ?>
<?php
// Affiche les variables transmises
/*if(isset($_POST['btn_envoi'])){
echo var_dump($_POST);
}*/
// VERIFICATION FORMULAIRE
if(isset($_POST['btn_envoi'])){
$societe=trim($_POST['societe']);
$civi=trim($_POST['civi']);
$nom=trim($_POST['nom']);
$prenom=trim($_POST['prenom']);
$mail=trim($_POST['mail']);
$tel=trim($_POST['tel']);
$mob=trim($_POST['mob']);
$obj=trim($_POST['obj']);
$dmd=trim($_POST['dmd']);
$antispam=trim($_POST['antispam']);
if(!empty($societe) && !empty($nom) && !is_numeric($nom) && !empty($prenom) && !is_numeric($prenom) && !empty($dmd) && $antispam=='2' ){
// Sécurisation : convertir les caractères spéciaux en texte et éviter les \ devant les '
$societe=htmlspecialchars(stripcslashes($societe));
$nom=htmlspecialchars(stripcslashes($nom));
$prenom=htmlspecialchars(stripcslashes($prenom));
$mail=htmlspecialchars(stripcslashes($mail));
$tel=htmlspecialchars(stripcslashes($tel));
$mob=htmlspecialchars(stripcslashes($mob));
$obj=htmlspecialchars(stripcslashes($obj));
$dmd=htmlspecialchars(stripcslashes($dmd));
// Conception du message
$mail_dest='mon_adresse@gmail.com';
$sujet=$obj.' via monsite.com';
$message='Vous avez reçu un message de la société : '.$societe.'<br />'.$civi.' '.$prenom.' '.$nom.'<br />'.$mail.'<br />Téléphone : '.$tel.'<br />Portable : '.$mob.'<br />Message : '.$dmd;
// Permet d'envoyer le mail au format HTML + obtenir le mail utilisateur
$headers='to: '.$mail."\r\n";
$headers.='from: <'.$mail.'>'."\r\n";
$headers.='MIME-VERSION:1.0'."\r\n";
$headers.='content-type: text/html; charset="iso-8859-1"'."\r\n";
$message=wordwrap($message,70);
// Envoi du mail (utilisation de la fonction mail de php)
if(mail($mail_dest,$sujet,$message,$headers)){
echo '<center>Mail envoyé, merci</center>';
}else{
echo '<center>Mail non envoyé, merci de réessayer plus tard</center>';
}
// L'utilisateur n'est pas passé par le contrôle Javascript
}else{
echo '<center>Merci de réactiver les scripts</center>' ;
}
}
?>
Conclusion
Ce code permet de faire une vérification simple de formulaire afin d'éviter les injection de script. Il est préférable de faire un contrôle en amont en JS (je mettrais le code en ligne prochainnement) afin d'éviter le rechargement de la page en cas d'erreur sur la page. Ce code est fonctionnel, c'est d'ailleurs celui que j'utilise sur mon site perso.
Historique
- 02 août 2011 21:59:45 :
- Modif : remplacer les champs mail + site.
Chp antispam = champs dans lequel on propose un calcul simple, ex: 1+1
- 02 août 2011 22:05:08 :
- Modif du zip non effectué avant
Sources de la même categorie
VALIDATEUR DE FORMULAIREVALIDATEUR DE FORMULAIREJ'ai codé cet ensemble de classes pour accélérer la création de formulaire sans l'alourdir avec une classe la plus simple possible d'utilisation.
J'a...
par Reldan
SUIVI SERVICE CLIENT PHPSUIVI SERVICE CLIENT PHP Bonjour. Voici mon premier dev en PHP.
Il reste encore beaucoup de travail a faire, afin de le finir, en y incluant par exemple tout e la partie bas...
par hige52
POO - FORMULAIRE NEWSLETTER PHP - PROFESSEUR-PHP.COMPOO - FORMULAIRE NEWSLETTER PHP - PROFESSEUR-PHP.COM Il y a de nombreuses sources sur les formulaire de newsetter, je propose en plus la vidéo pour l'explication de la source, merci.
Voici le tutorial...
par mtrix000
SELECTEUR DE NOTESELECTEUR DE NOTEUne classe Php et le plugin jQuery correspondant pour un sélecteur de note simplissime d'utilisation.
Rien de bien novateur mais je n'ai pas trouvé d...
par Reldan
ESPACE MEMBRE , AVEC CASE OPTIONNEL , SANS MYSQLESPACE MEMBRE , AVEC CASE OPTIONNEL , SANS MYSQLvoici un espace membre qu'on peut qualifier de très simple, il n'utilise pas de bdd, ni mysql il est plus fait pour de petits sites, il n'y a rien d'a...
par sartoz
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Formulaire PHP + Script de contrôle... Ca ne marche pas! Pourquoi? [ par johann1 ]
Bonjour tout le monde! Je viens de commencer à m'initier au php,et depuis que je l'ai immiscer dans mon formulaire plus rien ne va! Y aurait-il u
vérification de formulaire [ par nino69 ]
Bonjour, j'ai crée un formulaire et une vérification en PHP. Si l'un des champs est mal rempli, le code PHP envoye un message à l
Sécurité Formulaire php. Dangereux ou pas? [ par KcHeY ]
Bonjour all, J'ai entendu parler de faille(s) php et j'aurai souhaiter savoir si j'était concerné. J'ai un formulaire et un bouton (sur une page html
Affichage formulaire avec jquery [ par samn1 ]
Bonjour, Je débute avec Jquery et ajax mais j'ai la base html,php,js et puis je je voudrais que si je clique sur un bouton, un formulaire s'affiche t
Bug accent champs formulaire php [ par Dsens ]
Bonjour, je ne reçois pas correctement les réponses de mon formulaire php quand les utilisateurs tapent des accents dans les champs texte, avez-vous l
Mon formulaire ne s'affiche pas dans ma page php [ par brfrance ]
Bonjour, Bonjour, Mon formulaire html (voir ci dessous) ne s'affiche pas dans ma page php. formulaire :[code=html] " name="commentaire">
Options pour formulaire de contact Php [ par paikan06 ]
Bonjour à tous ! Je suis admin réseau de formation et je me lance tout doucement dans le php ([^^sad2]pas très simple !!) Je viens de créer un formula
soucis de formulaire d'envoie de fichier et checkbox [ par belzebate ]
Bonjour/bonsoir tout le monde, Alors voici ma situation: J'ai un formulaire d'envoi de fichier suivis, dans ce même formulaire, d'une liste de 6 che
plusieurs submit dans un seul formulaire [ par smahaneAAI ]
Salut tout l monde!! j'ai crée un formulaire qui poste à une seule page .php . dans mon formulaire j'ai 4 bouton normalement : 1=>affichage 2=>modific
HELP ME [ par benoitdu69 ]
Je cherche un code php pour formulaire de connexion (QUI FONCTIONNE!!!) avec BDD pour le formulaire suivant (connexion): Identifiant: Mot de P
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|