incrementation dans les noms de variables - PHP - Programmation
Marsh Posté le 14-06-2004 à 19:05:12
Déjà ta boucle elle marche pas
Ensuite je crois que tu peux faire un truc dans le genre :
Code :
|
EDIT : et regarde si tu peux faire ton truc avec des tableaux, ca sera plus propre quand même
EDIT2 : grillaid sur l'edit
Marsh Posté le 14-06-2004 à 19:05:39
Utilise un tableau, c'est fait pour
Marsh Posté le 15-06-2004 à 00:13:25
Taz a écrit : 'tain y a pas un boulet pour en rattraper un autre |
c'est la raison d'être des boulets (tirer vers la bas)
Marsh Posté le 15-06-2004 à 10:02:42
Taz a écrit : 'tain y a pas un boulet pour en rattraper un autre |
Toujours aussi aimables de bon matin je vois ! lol
Marsh Posté le 15-06-2004 à 10:12:54
bon je vous explique mon probleme plus clairement...
je fais un site avec 6 etapes....
j'ai voulu jouer aux mariolles en faisant des includes plutot que des successions de etape1.php ... etape2.php...etape3.php.. etc etc
... donc j'ai crée des variables genre = $etape1, $etape2, $etape3.. etc etc etc... le but est simple... je veux avoir trois etats pour mes etapes :
$etape(n)= "pas fait";
$etape(n)= "modifier";
$etape(n)= "valide";
.. c pourquoi je voulais faire ça...
cela dit je devine qu'avec un tableau vous feriez plutot
$etape[1]="valide";
$etape[2]="valide";
$etape[3]="modifier";
$etape[4]="a faire";
$etape[5]="a faire";
etc etc etc ??
... mais alors comment je fias pour faire un lien du genre :
<a href="index.php?etape[2]=modifier">Modifier l'étape 2</a>
... c la que je doute ...
autre question... vous feriez comment pour pas qu'il soit possible d'avoir deux etapes avec l'etat "modifier" en même temps ?
Marsh Posté le 15-06-2004 à 12:03:12
<a href="index.php?etape=2">Modifier l'étape 2</a>
et dans ton traitement
traitement = $etape[$_GET['etape']]; // dans de cas, traitement = $etape[2]
Marsh Posté le 15-06-2004 à 12:17:26
T509 a écrit : <a href="index.php?etape=2">Modifier l'étape 2</a> |
oui mais là il me manque une info ! ou est passé mon "modifier" ou "validé" etc etc ?pour la même etape il peut y avoir plusieurs traitements ! dois-je faire une autre variable ? genre :
<a href="index.php?etape=2&traitement=modifier">Modifier l'étape 2</a>
$etape[$_GET['etape']]=$_GET['traitement'];
????
Marsh Posté le 15-06-2004 à 12:20:22
freed102 a écrit : oui mais là il me manque une info ! ou est passé mon "modifier" ou "validé" etc etc ?pour la même etape il peut y avoir plusieurs traitements ! dois-je faire une autre variable ? genre : |
Pourquoi pas ?
Marsh Posté le 15-06-2004 à 12:33:35
oui cela peut fonctionner.
cela m'a l'air une usine à gaz on truc
Marsh Posté le 15-06-2004 à 12:36:43
j'avoue que je me suis embarqué dans un truc de taré !
tout ça pour faire un menu de navigation dynamique...
like this :
http://www.clonecopy.net/php/comma [...] etape1.php
login : xxx@xxx.com pwd: xxx
regarde le menu de gauche.. tu comprendras...
Marsh Posté le 15-06-2004 à 12:45:26
Euh oui, tu pars dans une usine à gaz.
tu dois faire un tableau avec
$etape[0] = "partie à include 0";
$etape[1] = ...
Comme c'est pour choisir les options de commande, tu fonctionne avec des formulaires.
Tu ajoutes dans tes formulaire un champs caché appelé etape_suivante.
Tu commence par récupérer le numéro d'étape suivante,
tu inclues le fichier de traitement des infos, puis le fichier d'affichage du résultat (même page si erreur de saisie, page suivante si ok)
Marsh Posté le 15-06-2004 à 12:49:00
bah là j'ai fait comme ça : (mais c monstrueux ! lol !)
Code :
|
... ce que je cherche à faire c que l'utilisateur ne soit pas obligé de se retaper toutes les etapes si il veut juste modifier une variable !
Marsh Posté le 15-06-2004 à 12:58:36
cela ne sert à rien, tu veux utiliser les sessions là ou cela n'est pas necessaire.
Pour aller d'une étape à l'autre, le numéro d'étape suivant est suffisant.
switch ($_POST['suivant']) {
case 1 : include('etape1.inc.php'); break;
case 2 : include('etape2.inc.php'); break;
case 3 : include('etape3.inc.php'); break;
case 4 : include('etape4.inc.php'); break;
case 5 : include('etape5.inc.php'); break;
default : include('etape1.inc.php'); break;
}
en suite dans chaque etapeX.inc.php, tu inclue le traitement de tes variables, leur sauvegarde et l'envoi vers la page qui correspond au résultat du traitement.
C'est suffisant.
Si tu veux que l'on puisse revenir modifier une chose, 2 solutions : tout effacer et rocommencer (les étapes sont simples donc c'est envisageable)
garder un tableau avec les étapes OK en mémoire.
Marsh Posté le 15-06-2004 à 13:24:00
T509 a écrit : cela ne sert à rien, tu veux utiliser les sessions là ou cela n'est pas necessaire. |
le $_POST['suivant'] dans mon cas je pense pas que ce soit suffisant... car je passe à l'etape suivante que quand elle est validée ! c pourquoi j'ai fait des variables $valideetape1="VALIDE"; ... c ça qui me permet de passer à l'etape suivante
Marsh Posté le 15-06-2004 à 13:46:27
Hypothèse : nous sommes sur le formulaire de l'étape 2 et la soumission envoie $_POST['suivant'] = 3
Selon mon schéma, tu inclues le fichier etape3.inc.php.
dans ce fichier, tu vérifie tes données transmises. Si ok, tu affiches étape 3, si non, tu affiches l'étape 2 avec les messages d'erreurs.
Marsh Posté le 15-06-2004 à 16:49:21
T509 a écrit : Hypothèse : nous sommes sur le formulaire de l'étape 2 et la soumission envoie $_POST['suivant'] = 3 |
ouai.. mais là je retourne dans le shemas ou je peux pas modifier une etape seule... il passe à la l'etape suivante quoi qu'il en soit !
dans notre cas c assez important que l'utilisateur ne se retape pas tout le site à chaque fois qu'il veut changer un parametre ! c pourquoi je veux faire un systeme qui valide les etapes separement... et la commande est validée que si toutes les etapes sont validées !
Marsh Posté le 15-06-2004 à 16:53:54
Dans ta vérification des données, tu vérifies si les données on déjà été sauvegardées. Si oui, c'est que l'étape a déjà été validée et qu'il faut une modif. Donc tu réaffiches les données pour qu'elles puissent être modifiées.
C'est juste un lien <a href=".../index.php?etape=...&modif=1"> Modifiez l'étape ...</a>
Marsh Posté le 14-06-2004 à 19:00:29
Est il possible pour obtenir des variables genre :
$var1
$var2
$var3
$var4
....
de faire une boucle du genre :