Insertion variable dans l'attribut d'une variable prédéfinie

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 : Insertion variable dans l'attribut d'une variable prédéfinie

Re: Insertion variable dans l'attribut d'une variable prédéf

par ocre_rouge » 14 mai 2012, 11:33

Merci beaucoup pour cet éclairage, Ryle :).

Re: Insertion variable dans l'attribut d'une variable prédéf

par Ryle » 03 mai 2012, 13:57

Un index de tableau n'est ni plus ni moins qu'une chaine de caractère. Si tu sais concaténer des variables et des chaines pour afficher des données à l'écran, tu peux tout aussi bien le faire pour construire tes index : $_POST["reponse" . $i] :)

Pour le foreach, l'intérêt est principalement de parcourir les tableaux associatifs sans avoir à connaitre le nom des différents index. Il permet également de simplifier la syntaxe de ton code quand tu ne connais pas le nombre de valeurs de ton tableau.

Par exemple, si tu as un tableau qui recense les mois de moins de 5 lettres :
$monTableau = array(
  3 => 'mars'
  , 5 => 'mai'
  , 6 => 'juin'
  , 8 => 'aout'
);
Déterminer que ta boucle for() ou ta boucle while() doit commencer à compter à 3, puis sauter 4 et 7 et enfin s'arrêter après 8 est nettement plus compliquée à écrire qu'un foreach qui va parcourir les éléments de ton tableau un par un sans se soucier de la logique de construction de celui-ci :)

Re: Insertion variable dans l'attribut d'une variable prédéf

par ocre_rouge » 03 mai 2012, 10:46

Merci :)
Pour le moment, j'ai du mal a saisir l'intérêt de parcourir des tableaux, mais je vais creuser ça :)
(d'autant qu'apparemment, ça me permettra de comprendre la différence entre les deux types de boucle).

Re: Insertion variable dans l'attribut d'une variable prédéf

par moogli » 26 avr. 2012, 18:32

Salut,


Utilise foreach ou la concaténation !

Ta syntaxe n'est pas correcte.


@+

Re: Insertion variable dans l'attribut d'une variable prédéf

par ocre_rouge » 26 avr. 2012, 16:14

Merci :)

Je n'ai pas trop compris comment obtenir l'équivalent d'un $_POST["a"$b] à partir d'un $_POST['??????'] = '???????', mais effectivement, le plus propre est la 2nd solution que tu proposes :)

Re: Insertion variable dans l'attribut d'une variable prédéf

par Mazarini » 26 avr. 2012, 15:26

$_POST['??????'] = '???????'
Ca doit marcher.
Mais il est mieux à mon avis de mettre les $_POST dans des variables pour travailler sur ces variables.

Insertion variable dans l'attribut d'une variable prédéfinie

par ocre_rouge » 26 avr. 2012, 13:49

Bonjour,

Dans l'intention de raccourcir le code ci-dessous, je souchetais connaitre la méthode permettant d'insérer une variable au sein de l'attribut d'une variable prédéfinie (en l'occurrence, $_POST).

Ceci me permettrait de passer de ceci :
				
				echo '<p>';
				echo htmlspecialchars($_POST["reponse1"]);
				$reponse1 = "pascaline";
				$compteur = 0;
				if ($_POST["reponse1"]==$reponse1) {
					echo "</br>";
					echo "échec ";
					echo $compteur-1;
					$compteur=$compteur-1;
				}
				else {
					echo "</br>";
					echo "succès ";
					echo $compteur+1;
					$compteur=$compteur+1;
				}
				echo '</p>';
				echo '<p>';
				echo htmlspecialchars($_POST["reponse2"]);
				$reponse2 = "stylo";
				if ($_POST["reponse2"]==$reponse2) {
					echo "</br>";
					echo "échec ";
					echo $compteur-1;
					$compteur=$compteur-1;
				}
				else {
					echo "</br>";
					echo "succès ";
					echo $compteur+1;
					$compteur=$compteur+1;
				}
				echo '</p>';
				echo $compteur;
				
à cela :
				
				$i = 0;
				echo '<p>';
				echo htmlspecialchars($_POST["reponse"$i]);
				$reponse1 = "pascaline";
				$reponse2 = "stylo";
				$compteur = 0;
				for (;$i=7;) {
				if ($_POST["reponse"$i]==$reponse$i) {
					echo "</br>";
					echo "échec ";
					echo $compteur-1;
					$compteur=$compteur-1;
				}
				else {
					echo "</br>";
					echo "succès ";
					echo $compteur+1;
					$compteur=$compteur+1;
				}}
				
Par avance, je vous remercie :)