Bonjour à vous,

Dans le cadre d'un jeu de rôle, je souhaite créer un formulaire afin que les joueurs puissent créer leur personnage. Le formulaire effectue le calcul des différentes caractéristiques. Dans un premier temps, je souhaite que les données du formulaire ne soient pas enregistrées dans une base de donnée. Le fait de gérer des données sans base de donnée me pose problème, je n'ai pas l'habitude. A chaque validation du formulaire, je souhaite pouvoir conserver des données sous la forme de variables que je puisse réutiliser. Je vous livre ici qu'une partie du formulaire. En effet, une grande partie des données sont gérées et ne posent pas de soucis. Le problème se pose pour la gestion des "Aspects". A chaque validation du formulaire, le joueur peut ajouter un nouvel "Aspect". Chaque "Aspect" ainsi ajouté, peut, ensuite, être modifié, sa valeur augmentée ou diminuée. Toutefois, je n'arrive pas à conserver ces valeurs.

Le formulaire est très classique :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
<form action="creation.php" method="post">
<h2>Les Aspects</h2>
<p><label>Nom de l'Aspect</label><input type="text" name="aspect"/></p>
<p><input type="submit" name="valider"/></p>
</form>
Ensuite, la récupération des données, qui se fait au début du programme et c'est là que se pose le problème. En effet, je fais intervenir la variable "$chiffre" pour tenter de comptabiliser le nombre d'aspects. En effet, l'objectif est que l'utilisateur puisse à chaque fois valider de nouveaux aspects mais je pense que je ne m'y prends pas de la bonne façon...

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
if (isset ($_POST['valider']))
	{
if (($chiffre == NULL) AND (($_POST['aspect'])==TRUE))
			{
				$chiffre = 0;
				$aspect[$chiffre]=$_POST['aspect'];
				echo "<p>le premier aspect est $aspect[$chiffre]</p>";
			}
		elseif (isset($_POST['aspect']) AND ($chiffre == TRUE))
			{
				$chiffre++;
				$aspect[$chiffre]=$_POST['aspect'];
				echo "<p>le second aspect est $aspect[$chiffre] et le chiffre est $chiffre</p>";
			}
		if ($chiffre == TRUE)
			{
				$compteur = 0;
				while ($compteur < $chiffre)
					{
						$aspect[$compteur]=$_POST["aspect$compteur"];
						echo "<p>l'aspect est le suivant : $aspect[$compteur]</p>";
						$compteur++;
					}
			}
	}
A la suite de ce code, j'ai modifié le premier formulaire pour essayer de faire apparaître les "Aspects" validés :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
<?PHP
$compteur = 0;
while ($compteur < $chiffre)
	{
		echo "<tr><th>Nom</th></tr>";
		echo "<tr><td>$aspect[$compteur]</td></tr>";
		echo "<input type=\"hidden\" name=\"aspect$compteur\" value=\"$aspect[$compteur]\" />";
		$compteur++;
	}
echo "</table></p>";
echo "<p>";
echo "<label>Nom</label><input type=\"text\" name=\"aspect\"/>";
?>
Je pense que mon code serait à reprendre entièrement mais je n'arrive pas à trouver une méthode et je reste bloqué...

Ma question est donc la suivante : comment faire pour récupérer plusieurs variables à partir d'un seul champ de formulaire et les conserver après chaque validation ?

Merci pour vos réponses et n'hésitez pas à me dire si je ne suis pas clair