begin process at 2012 05 27 22:14:12
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Class et Objet ( POO )

 > CLASSE POUR EMPÊCHER LES SOUMISSIONS MULTIPLES DE FORMULAIRE

CLASSE POUR EMPÊCHER LES SOUMISSIONS MULTIPLES DE FORMULAIRE


 Information sur la source

Note :
9 / 10 - par 3 personnes
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Class et Objet ( POO ) Classé sous :formulaire, envoi, multiple, objets, classe Niveau :Expert Date de création :16/09/2005 Vu / téléchargé :7 123 / 940

Auteur : janhsh

Ecrire un message privé
Commentaire sur cette source (11)
Ajouter un commentaire et/ou une note

 Description

Je vous soumets un code que j'ai développé, il y a quelque temps et qui tourne notamment sur mon site.

Cette classe permet ainsi de sécuriser vos formulaires contre l'envoi multiple mais aussi contre certaines forme de hacking.



 Conclusion

Le principe est simple, on inclut dans chaque formulaire un champ caché  auquel, on affect un ID unique et lors du traitement des données, on vérifie si l'ID renvoyé est bien celui attendu.

Pour le fichier d'exemple, il devrait fonctionner chez tout le monde.
Remplissez le formulaire et postez-le une première fois; Jusque là, le comportement est normal.

Pressez le bouton [Reload] de votre explorer pour reposer le formulaire une seconde fois.


(c)Le fichier ID_Mmgr.php peut être redistribué et utilisé librement, pour autant que les mentions d'auteur ne soient pas modifiées.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture CLASSE DE MESSAGERIE
Source avec Zip REGEXP POUR VÉRIFIER LA VALIDITÉ D'UNE ADRESSE MAIL SUIVANT ...
Source avec Zip SITE MULTILINGUE AVEC DÉTECTION DE LA LANGUE DE L'EXPLORATEU...
WWW-AUTHENTICATE AVEC PHP EN MODE CGI

 Sources de la même categorie

Source avec Zip GÉNÉRATION AUTOMATIQUE DE FICHIER .CLASS.PHP EN FONCTION D'U... par ig3
CLASSE D'OBJET DE CRYPTAGE ET DÉCRYPTAGE DE CHAINES DE CARAC... par 8Tnerolf8
Source avec Zip MY.DEVIANTART API par inwebo
CLASSE DE GESTION DE "VARIABLES GLOBALES D'ENVIRONNEMENT" par pifou25
Source avec Zip COLLECTION.CLASS.MIN.PHP par thunderhunter

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture GÉNÉRATION DE FORMULAIRES HTML PERSONNALISÉS. par beejeridou
CLASSE DE CRÉATION DE FORMULAIRE par spoonisback
FORMULAIRE PHP + VERIFICATION + ENVOI DU MAIL par cosmoswarezone1
Source avec Zip Source avec une capture UPLOAD PLUSIEURS FICHIERS EN AJAX + FLASH+PHP par mnouzahir
Source avec Zip EXEMPLE DE CLASSE DE GESTION DE PAGE DE FORMULAIRE par charliecollard

Commentaires et avis

Commentaire de janhsh le 16/09/2005 14:46:48

Note importante:
Pour pouvoir essayer l'exemple, placer les fichiers comme suit:
     <votre répertoire de test>/index.php  
     <votre répertoire de test>/Includes/ID_Mmgr.php

Commentaire de MATHIS49 le 16/09/2005 16:24:39

Vraiment sympa, je pense que je vais l'utiliser sur mon site ;)

Commentaire de Anthomicro le 16/09/2005 20:03:03

Salut,

c'est du code expert ça ?

Commentaire de FhX le 16/09/2005 23:12:09

Eviter le double envoi :
<?php
if ( isset($_SESSION['deja_postee']) && $_SESSION['deja_postee'] ) {
die ('Posté qu\'une seule fois seulement !');
} else {
$_SESSION['deja_postee'] = true;
}

Pas besoin de classe ni rien :)

Commentaire de Anthomicro le 16/09/2005 23:12:49

bah ouais ^^

Commentaire de massacr le 17/09/2005 09:46:20

lol, c'est vrai, mais pourquoi faire simple quand on peut faire compliqué ?

#     //Test des autres erreurs
#      if ($_POST['Champ1']=='')
#          {
#              $ErrrorMsg.="<li>vous devez remplir le champ 1</li>";
#          }
#      if ($_POST['Champ2']=='')
#          {
#              $ErrrorMsg.="<li>vous devez remplir le champ 2</li>";
#          }
#      if ($_POST['Champ3']=='')
#          {
#              $ErrrorMsg.="<li>vous devez remplir le champ 3</li>";
#          }
#      if ($_POST['Champ4']=='')
#          {
#              $ErrrorMsg.="<li>vous devez remplir le champ 4</li>";
#          }
T'es sur qu'il n'y avait rien de plus simple ???

Commentaire de Anthomicro le 17/09/2005 09:52:56

en plus si le mec met un espace sa vérification est caduque :-)

Commentaire de janhsh le 18/09/2005 11:13:01

massacr et Anthomicro:  
Le but ici, c'est de montrer comment utiliser la classe ID_Mngr et ou appeller les méthodes $ID_Mngr->IsValidID(), $ID_Mngr->Clear_ID() et $ID_Mngr->GetUnique_ID()

Je n'ai pas chercher à blinder l'entrée des champs contre les espaces mais un trim() pour cela.... c'est juste un exemple pour utiliser la classe en question.


FhX:  
Explique moi dans ton bout de code comment tu fait quand pour permettre a un utilisateur de réutiliser une seconde fois le formulaire ou un autre.
car une fois que ta variable se session "deja_postee" postée sera initialisée, le visiteur ne saura plus poster aucun formulaire...  

Commentaire de Drakstar le 18/09/2005 12:47:07

Très bon code,
je pense aissi que je vais l'utiliser sur mon site.

Commentaire de sdominici le 06/10/2005 00:37:15

Coucou,

pour info, il y a aussi ce code là : http://www.phpcs.com/code.aspx?ID=32312

fonctionnement identique... pour PHP 5

Ciao.

Commentaire de FhX le 13/04/2006 01:18:51

Met un timeout dans ta session :)

<?php
if ( isset($_SESSION['time_post']) && $_SESSION['time_post'] < ( time() + 3600) ) {
die ('Posté qu\'une seule fois seulement !');
} else {
$_SESSION['time_post'] = time();
}
?>

Et hop, c'est reglé :) Tu ne peux poster qu'une fois toutes les x secondes.
C'est entièrement suffisant :)

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

formulaire sélection multiple [ par cba ] cbaje cherche comment implémenter automatiquement une liste multiple dans un choix multiple à partir d'une sélection préalable dans une liste multiple envoi formulaire par email chez ifrance [ par Spaceduck ] bonjour, j'ai un probleme sur une page de mon site sur ifrance où l'utilisateur remplit un formulaire qui doit m'arriver par mail; et là, c le drame, Formulaire avec envoi d'image. [ par Kaeru ] J'ai crée un formulaire avec envoi de données plus image.J'ai config pour n'eccepter qu'un t'aille maximum.J'aimmerais aussi limiter la taille en pixe formulaire et SMTP ? [ par connect ] heu je suis un peu largé :j'heberge moi meme mon site je voudrai que mon formulaire, une fois remplis soit envoyé par mail à [moi même]... rien de tre Formulaire d'envoi de mail en HTML [ par slhuilli ] Bonjour,Je suis a la recherche d'un script (PHP si possible) pour pouvoir écrire des mails au format HTML (gestion des gras, souligné et italique ains Récupérer données formulaire + envoi par e-mail [ par kronprinz ] Quelqu'un peut-il m'aider ?Je cherche comment récupérer des données dans un formulaire et me les envoyer par e-mail avec PHP. Pouvez-vous m'expliquer pb de formulaire [ par stequer ] alors voilas j ai un prob dans mon formulaire il marche bien j ai pas erreur mais il ne m envoi rien je comprent rien normalement c un formulaire type Envoi d'information de page à page SANS formulaire [ par AshenShugar ] Salut tout le monde, merci à ceux qui me liront.Voila, je suis un ti noob en PHP alors je viens vous demander conseil. Je voudrais envoyer des informa Erreur formulaire avec fichier joint [ par vali103 ] Bonjour,Je possède un formulaire avec fichier joint.Mais je ne reçoit pas de mail !Pourtant, aucune erreur apparait pendant l'envoi !Pouvez vous m'aid Erreur dans un formulaire avec pièce jointe [ par vali103 ] Bonjour,J'ai récupéré un script d'enfoi de formulaire avec pièce jointe sur internet que j'ai adapté.Le problème est que si une personne envoi un fich


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,374 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales