Forum Clubic

Créer un tableau dynamiquement en php

Bonjour.

J’aimerai écrire un code php avec un formulaire qui permet
d’entrer des nombres dans un tableau.
Le premier formulaire contient juste le nombre total à rentrer.
Voici le script du premier formulaire :

<html>
<head>
<title>saisie de nombres pour les stocker dans un tableau</title>

</head>

<body>

<form name = "formulaire"

action = "second_script.php"

method = "post">

taper le nombre total de nombres à stocker dans le tableau

<input type = "text"

name = "TotalNombres" />

<input type = "submit"

value = "aller dans l'étape 2 pour entrer les nombres">

</form>

</body>

</html>

Le second formulaire contient les nombres à rentrer.

Par exemple, si le total des nombres à entrer est de 2, il y a
juste 2 nombres à rentrer.

Voici le second script :

<html>

<head>

<title>

saisie d'un nombres dans le tableau

</title>

</head>

<body>

<form name = "formulaire"

action = "troisieme_script.php"

method = "post">

taper un nombre à ranger dans le tableau

<input type = "text"

name = "TableauNombres" />

<input type = "submit"

value = "ranger le nombre dans le tableau">

</form>

</body>

</html>

C’est ce second script que je veux entrer dans la boucle.

Voici le troisième script :

<?php

$TotalNombres = $_POST ['TotalNombres'] ;

$TableauNombres = $_POST ['TableauNombres'] ;

TableauNombres = array ($TotalNombres) ;

// je ne sais pas si on peut faire ça

/*

Il faut entrer les nombres dans une boucle qui va de 0 jusqu'au 
nombre total à rentrer et demander à l'utilisateur d'entrer un 
nombre.

*/

for ($compteur = 0 ; $compteur < $TotalNombres ;

$compteur ++)

{

/* 

je voudrais insérer le second script avec la variable compteur 
en paramètre pour faire avancer le compteur 

quand un nombre est rentré

*/

echo $TableauNombres [$compteur] . ' ' ;

// l'espace sépare les nombres affichés

}

?>

Est-il possible en php de poser la question à l’utilisateur du
nombre à rentrer à l’intérieur d’une boucle for, car je ne veux
pas écrire dans un formulaire nombre1, nombre2, nombre3,
nombre4, etc.

Merci d’avance pour vos réponses, ce qui me permettra d’écrire
d’autres scripts du même style pour entrer des informations ![quote=« carolinejanin06, post:1, topic:450758, full:true »]

Hello,
J’ai reformaté ton message car illisible/incompréhensible sans utiliser ``` pour indiquer un bloc de code en markdown (tu as aussi l’icône </>).

Tu peux tout faire, mais tout se fait en deux temps :

  1. l’utilisateur affiche ta page une première fois
  2. l’utilisateur saisit le nombre
  3. valide le formulaire (eg: ta page php est executée)
  4. le formulaire est affiché avec les informations complémentaires à saisir. (tu peux utiliser des <input type="hidden" /> pour les valeurs déjà saisies ou une des sessions PHP)
  5. l’utilisateur saisit l’information complémentaire
  6. l’utilisateur valide le formulaire
  7. ton script est executé avec l’information complémentaire.

En terme de script, ça peut donner ça:

<?php
$val1 = filter_input(INPUT_POST, 'val1', FILTER_SANITIZE_NUMBER_INT);
$val2 = filter_input(INPUT_POST, 'val2', FILTER_SANITIZE_NUMBER_INT);

$step = 'initial';
if ($val1 > 0)  { $step = 'step1'; }
if ($val2 > 0) { $step = 'final'; }

if ($step === 'final') {
  echo 'fini';
} else {
?>
<form method="POST">
<?php if ($step === 'step1') {?>
<input type="hidden" name="val1" value="<?php echo $val1; ?>" />
Valeur 2 : <input type="text" name="val2" value="" />
<?php } else { ?>
Valeur 1 : <input type="text" name="val1" value="<?php echo $val1; ?>" />
<?php } ?>

</form>
}

(je précise que je ne fais plus trop de PHP et que ce n’est pas non plus du code professionnel, je pense que si tu veux continuer dans cette voie, tu devrais plutôt regarder du côté de symphony et des autres framework php qui simplifient ça).

1 J'aime