Comment tester sur submit

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 : Comment tester sur submit

Re: Comment tester sur submit

par moogli » 08 mai 2013, 16:54

- Cela nécéssite l'apprentissage de Javascript, du concept ajax et de JQuery.
- C'est entièrement inaccessible, tous le monde s'en fou sauf le jour ou tu te retrouve avec une pub de m***e ou un placard équivalent qui prend tous l'écran de ton smartphone et que tu ne peux pas passer outre.

donc on commence par les bases et quand on se débrouiller avec on avance :mrgreen:

après a voir selon ces choix.


@+

Re: Comment tester sur submit

par ghost5922 » 08 mai 2013, 16:42

Bonjour,

avec juste php il va devoir a chaque fois sois ouvrir une pop-up sois recharger la page ou alors une question par page jusque la fin

de nos jours ne pas avoir javascript a part les bot ^^ sinon tu lui mets un message cela coûte rien enfin perso je le ferai en jquery il a beaucoup de tuto et cela serai propre

exemple le visiteur arrive sur la page de question et chaque fois qui valide on enregistre la réponse et retire le bouton et a la fin il valide et on lui affiche le résultat a cote de chaque réponse avec un total 4/20

mais bon cela n'encage que moi ;)

Re: Comment tester sur submit

par niuxe » 08 mai 2013, 12:18

Bonjour,

utilise les sessions avec jquery, quand ton visiteur click sur ton bouton jquery appelle ta page php qui va mettre a jour la session avec de nouvelle donne
Mauvaise idée. ex : accessibilité, no javascript, etc.
cad utiliser des variables de sessions ?
j'y pensé mais j'ai pas bien compris comment dans ce cas ? :?
imaginons que tu as un formulaire sur 2 pages dans une rubrique de l'application (quizz) :
- Dans cette rubrique, avant le traitement des 2 formulaires, tu initialises :
session_start();
$_SESSION['quizz'] = array();
/*
$_SESSION['quizz'] = array(
	'résultat question 1',
	'résultat question 2',
	'résultat question 3',
	'etc.'
);
peut être que tu auras besoin de nommer les clefs :
$_SESSION['quizz'] = array(
	'ennoncé de la question 1 ' = > 'résultat question 1',
	'ennoncé de la question 2 ' = > 'résultat question 2',
	'ennoncé de la question 3 ' = > 'résultat question 3',
	'etc.' = > 'etc.'
);
*/
- Dans les formulaires, renvoyer vers le traitement des données :
//traitement des données du formulaire actuel :
// - filtrer les données reçues (nettoyage des données strange, validation des données)
// - insertion des données dans la superglobale session
//$adresse_redirection = 'rediriger vers le prochain formulaire'
if($formulaire_final){
	//insertion dans base à partir de la superglobale session
	//$adresse_redirection = 'rediriger vers le résultat final'
}
//rediection

Re: Comment tester sur submit

par moogli » 08 mai 2013, 12:12

dans ce cas voir ma dernière réponse :)

si c'est bien modélisé y a pas de problème pour insérer les données.


@+

Re: Comment tester sur submit

par xzena » 08 mai 2013, 12:08

oui mais la raison de faire pour chaque question son btn valider,c'est que peut être l'user à presque tout répondu,soudain y avait une interruption de cnx ou quoi..toutes ses réponses vont se perdre comme si'il a rien coché.!!d'où vient cet importance des btns..
:?

Re: Comment tester sur submit

par moogli » 08 mai 2013, 11:54

salut,


oublie JQuery et reste avec les bases pour commencer :)

ce que te propose, plutôt maladroitement, la première réponse c'est d'enregistrer chaque réponse dans un tableau en session et à la fin du questionnaire tu ajoute un bouton pour valider l'ensemble du formulaire et c'est à ce moment la que fait ton insertion dans la table.

le tableau de session peux être ainsi
[id question] = id réponse ( par exemple $_SESSION['questionnaire'][412] = 2;).

lorsque tu valide l'ensemble du formulaire tu valide toute les réponses.

Une alternative est d'insérer chaque réponse en base et de traiter le résultat ensuite.
Cela dépend fortement de la modélisation de la base, si elle est mal faite tu ne pourra pas. Et a priori tu as une seule table avec un colone par question réponse ce qui est une mauvaise idée donc complexifie la chose.

@+

Re: Comment tester sur submit

par xzena » 08 mai 2013, 11:43

Bonjour,

utilise les sessions avec jquery, quand ton visiteur click sur ton bouton jquery appelle ta page php qui va mettre a jour la session avec de nouvelle donne
je maitrise pas le jquery :?

Re: Comment tester sur submit

par ghost5922 » 08 mai 2013, 09:30

Bonjour,

utilise les sessions avec jquery, quand ton visiteur click sur ton bouton jquery appelle ta page php qui va mettre a jour la session avec de nouvelle donne

Re: Comment tester sur submit

par xzena » 08 mai 2013, 01:09

cad utiliser des variables de sessions ?
j'y pensé mais j'ai pas bien compris comment dans ce cas ? :?

Re: Comment tester sur submit

par niuxe » 08 mai 2013, 01:04

Comment tester sur submit

par xzena » 08 mai 2013, 00:25

Bonsoir,
dans un quiz,
j'ai une page contenant les questions avec ses cases à cocher ,dont chaque question à sa button de validation.alors l'user coche sa réponse,et clique sur le btn valider,
ensuite il faut de ma part enregistrer dans la table sa réponse et le point,et par la suite quand il réponds sur le reste des questions il faut faire qu'un update à la table..
alors j'ai pensé à une condition,comme quoi si c'est la 1ere Submit,donc exécuter INSERT,sinon exécuter UPDATE.
comment faire SVP ?