aide pour une regex

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 : aide pour une regex

Re: aide pour une regex

par VaN » 06 juil. 2011, 09:55

Je ne peux pas vraiment récupérer tout le formulaire. Il s'agit en fait d'un formulaire proposant un QCM, de 10 questions, chaque question proposant 5 réponses possible. L'extrait que j'ai mis là représente la question 1, mais il y'a 10 <fieldset> comme celui, que je fais "slider" 1 à 1 (grâce à Fancy Sliding Form : http://tympanus.net/Tutorials/FancySlidingForm/), lorsque l'on clique sur suivant. Et sur ce onlick, je veux récupérer les réponses de la question précédente, aller chercher les réponses correctes en base de données, et afficher sur la question N, les corrections de la question N-1. Cela aurait été bcp plus simple de tout corriger à la fin, ou de réellement poster le formulaire après chaque question, mais le client ne veut pas. Il faut donc que lorsque je clique sur "Suivant", je récupère l'identifiant de la question N-1 ainsi que les réponses données.

La solution sinon c'est effectivement de récupérer tout le formulaire, et d'aller chercher la bonne question dans le tableau posté, mais ça me fait poster en AJAX 10 fois 10 questions, alors que j'en ai besoin que d'une seule à chaque fois : /

Re: aide pour une regex

par stealth35 » 05 juil. 2011, 17:50

mais y'a un soucis la, tu tableau ne devrai pas être comme ça, soumet le hors ajax et tu comprendras, récupère le formulaire plutôt que les champs un a un

Re: aide pour une regex

par VaN » 05 juil. 2011, 16:43

Il s'agit d'un formulaire, récupéré sur un onclick(), et passé à un fichier PHP à l'aide d'un jQuery.serializeArray().

Le formulaire HTML :
										
						<fieldset class="step" id="step-1" style="position:relative;">			
						<ul class="liste-propositions">
											
							<li>
								<span class="proposition-reponses tabbed-container">
									<label for="proposition-1-0" class="tabbed-label label_radio"><input type="radio" name="questions[1][propositions][1][reponse]" id="proposition-1-0" value="0" class="tabbed-input" checked="checked" />Faux</label>
									<label for="proposition-1-1" class="tabbed-label label_radio"><input type="radio" name="questions[1][propositions][1][reponse]" id="proposition-1-1" value="1" class="tabbed-input" />Vrai</label>
								</span>
								<div class="proposition-texte">
						Elles sont apolaires.									</div>

								<br class="clear-both" />
							</li>
						
												
							<li>
								<span class="proposition-reponses tabbed-container">
									<label for="proposition-2-0" class="tabbed-label label_radio"><input type="radio" name="questions[1][propositions][2][reponse]" id="proposition-2-0" value="0" class="tabbed-input" checked="checked" />Faux</label>
									<label for="proposition-2-1" class="tabbed-label label_radio"><input type="radio" name="questions[1][propositions][2][reponse]" id="proposition-2-1" value="1" class="tabbed-input" />Vrai</label>
								</span>
								<div class="proposition-texte">

						Elles forment des liaisons hydrogènes entre elles.									</div>
								<br class="clear-both" />
							</li>
						
												
							<li>
								<span class="proposition-reponses tabbed-container">
									<label for="proposition-3-0" class="tabbed-label label_radio"><input type="radio" name="questions[1][propositions][3][reponse]" id="proposition-3-0" value="0" class="tabbed-input" checked="checked" />Faux</label>
									<label for="proposition-3-1" class="tabbed-label label_radio"><input type="radio" name="questions[1][propositions][3][reponse]" id="proposition-3-1" value="1" class="tabbed-input" />Vrai</label>

								</span>
								<div class="proposition-texte">
						Les deux atomes d’hydrogène constituent la région électronégative.									</div>
								<br class="clear-both" />
							</li>
						
												
							<li>
								<span class="proposition-reponses tabbed-container">
									<label for="proposition-4-0" class="tabbed-label label_radio"><input type="radio" name="questions[1][propositions][4][reponse]" id="proposition-4-0" value="0" class="tabbed-input" checked="checked" />Faux</label>

									<label for="proposition-4-1" class="tabbed-label label_radio"><input type="radio" name="questions[1][propositions][4][reponse]" id="proposition-4-1" value="1" class="tabbed-input" />Vrai</label>
								</span>
								<div class="proposition-texte">
						Elles ne sont pas ionisables, même en présence d’un acide fort.									</div>
								<br class="clear-both" />
							</li>
						
												
							<li>
								<span class="proposition-reponses tabbed-container">

									<label for="proposition-5-0" class="tabbed-label label_radio"><input type="radio" name="questions[1][propositions][5][reponse]" id="proposition-5-0" value="0" class="tabbed-input" checked="checked" />Faux</label>
									<label for="proposition-5-1" class="tabbed-label label_radio"><input type="radio" name="questions[1][propositions][5][reponse]" id="proposition-5-1" value="1" class="tabbed-input" />Vrai</label>
								</span>
								<div class="proposition-texte">
						Elles peuvent interagir avec les protéines par des liaisons hydrogènes.									</div>
								<br class="clear-both" />
							</li>

						
												</ul>
					</fieldset>
Et le pasage au fichier PHP :

Code : Tout sélectionner

var propositions = $('#step-' + current_step + ' input[type=radio]').serializeArray(); $.getJSON('core/ajax_queries.php', { action: "correction_from_proposition", propositions_json: propositions }, function(data) { });

Re: aide pour une regex

par stealth35 » 05 juil. 2011, 16:34

Il est récupéré d’où ce tableau ?

aide pour une regex

par VaN » 05 juil. 2011, 16:08

Bonjour,

je récupère un tableau de cette forme :
Array
(
    [0] => Array
        (
            [name] => questions[1][propositions][1][reponse]
            [value] => 4
        )

    [1] => Array
        (
            [name] => questions[1][propositions][2][reponse]
            [value] => 3
        )

    [2] => Array
        (
            [name] => questions[1][propositions][3][reponse]
            [value] => 0
        )

    [3] => Array
        (
            [name] => questions[1][propositions][4][reponse]
            [value] => 0
        )

    [4] => Array
        (
            [name] => questions[1][propositions][5][reponse]
            [value] => 2
        )

)
Je souhaite récupérer les valeurs variables que sont les chiffres, dans les strings contenus dans la colonne [name].

Au final, j'aimerai me retrouver avec quelque chose de ce genre :
$question_id = 1;
$propositions = array(1 => 4, 2 => 3, 3 => 0, 4 => 0, 5 => 2);
J'imagine que je dois passer par une expression régulière, mais je n'y comprend pas grand chose. un peu d'aide serait la bienvenue.

Merci d'avance.