CLASSE POUR EMPÊCHER LES SOUMISSIONS MULTIPLES DE FORMULAIRE

cs_janhsh Messages postés 31 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 24 janvier 2015 - 16 sept. 2005 à 14:46
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 - 13 avril 2006 à 01:18
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/33815-classe-pour-empecher-les-soumissions-multiples-de-formulaire

FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
13 avril 2006 à 01:18
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 :)
sdominici Messages postés 5 Date d'inscription mercredi 2 avril 2003 Statut Membre Dernière intervention 6 octobre 2005
6 oct. 2005 à 00:37
Coucou,

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

fonctionnement identique... pour PHP 5

Ciao.
Drakstar Messages postés 8 Date d'inscription mardi 29 avril 2003 Statut Membre Dernière intervention 18 septembre 2005
18 sept. 2005 à 12:47
Très bon code,
je pense aissi que je vais l'utiliser sur mon site.
cs_janhsh Messages postés 31 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 24 janvier 2015
18 sept. 2005 à 11:13
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...
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
17 sept. 2005 à 09:52
en plus si le mec met un espace sa vérification est caduque :-)
massacr Messages postés 233 Date d'inscription vendredi 2 juillet 2004 Statut Membre Dernière intervention 4 janvier 2007
17 sept. 2005 à 09:46
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 ???
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
16 sept. 2005 à 23:12
bah ouais ^^
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
16 sept. 2005 à 23:12
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 :)
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
16 sept. 2005 à 20:03
Salut,

c'est du code expert ça ?
cs_MATHIS49 Messages postés 368 Date d'inscription vendredi 10 octobre 2003 Statut Membre Dernière intervention 14 mai 2010 1
16 sept. 2005 à 16:24
Vraiment sympa, je pense que je vais l'utiliser sur mon site ;)
cs_janhsh Messages postés 31 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 24 janvier 2015
16 sept. 2005 à 14:46
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
Rejoignez-nous