CLASSE POUR EMPÊCHER LES SOUMISSIONS MULTIPLES DE FORMULAIRE
cs_janhsh
Messages postés31Date d'inscriptionlundi 6 novembre 2000StatutMembreDernière intervention24 janvier 2015
-
16 sept. 2005 à 14:46
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 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.
Drakstar
Messages postés8Date d'inscriptionmardi 29 avril 2003StatutMembreDernière intervention18 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és31Date d'inscriptionlundi 6 novembre 2000StatutMembreDernière intervention24 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és9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 17 sept. 2005 à 09:52
en plus si le mec met un espace sa vérification est caduque :-)
massacr
Messages postés233Date d'inscriptionvendredi 2 juillet 2004StatutMembreDerniè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és9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 16 sept. 2005 à 23:12
bah ouais ^^
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 20153 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és9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 16 sept. 2005 à 20:03
Salut,
c'est du code expert ça ?
cs_MATHIS49
Messages postés368Date d'inscriptionvendredi 10 octobre 2003StatutMembreDernière intervention14 mai 20101 16 sept. 2005 à 16:24
Vraiment sympa, je pense que je vais l'utiliser sur mon site ;)
cs_janhsh
Messages postés31Date d'inscriptionlundi 6 novembre 2000StatutMembreDernière intervention24 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
13 avril 2006 à 01:18
<?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 :)
6 oct. 2005 à 00:37
pour info, il y a aussi ce code là : http://www.phpcs.com/code.aspx?ID=32312
fonctionnement identique... pour PHP 5
Ciao.
18 sept. 2005 à 12:47
je pense aissi que je vais l'utiliser sur mon site.
18 sept. 2005 à 11:13
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...
17 sept. 2005 à 09:52
17 sept. 2005 à 09:46
# //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 ???
16 sept. 2005 à 23:12
16 sept. 2005 à 23:12
<?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 :)
16 sept. 2005 à 20:03
c'est du code expert ça ?
16 sept. 2005 à 16:24
16 sept. 2005 à 14:46
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