Probleme incrementation

Résolu/Fermé
niko44 - 13 mars 2013 à 13:38
 niko44 - 13 mars 2013 à 17:59
Bonjour,

Je débute en php et j'ai un souci sur la creation de mon site. Pour info il est en php mais sans BDD.
En fait j'ai un tutoriel qui s'étend sur plusieurs page (une dizaine) et je souhaiterais que le numero de chaque étape s'incremente tout seul car si je veux rajouter une etape au milieu, je suis obligé de décaler tout les numeros a la main. Je pensais donc utiliser
$nombre = 1 puis a chaque fois $nombre++

mais cela ne fonctionne que sur la première page, j'ai donc voulu utiliser les sessions:
sur la deuxieme page j'ai:
<?php session_start();
$nombre= $_SESSION['nombre']; ?>


Le probleme c'est que sur les pages suivante 3,4,5... cela s'incremente a partir de la première et non de la précedente du coup je suis bloqué, pouvez-vous me donner un tuyau car la je bloque.
Merci en tout cas


4 réponses

ElementW Messages postés 4814 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 227
13 mars 2013 à 16:05
$nombre = 1 puis a chaque fois $nombre++
deviendrait donc
session_start();
if(empty($_SESSION['nombre'])) $_SESSION['nombre'] = 1; // Si la variable n'existe pas encore, on lui met la valeur 1
$nombre = $_SESSION['nombre']++;
Tu semblais oublier de prendre la variable déjà sauvegardée pour l'augmenter. Aussi, ne pas oublier le session_start(); au début de chaque page, sinon les sessions ne s'initialisent pas, donc on ne récupère pas les variables sauvegardées.

Pour ta 2e page, ton
<?php session_start();
$nombre= $_SESSION['nombre']; ?>
ira très bien.
0
Merci pour ta reponse, ca marche nickel mais par contre a partir de la troisième page, php se remet a compter a partir de la première page et non de la deuxième, il part du total de la première page
0
ElementW Messages postés 4814 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 227
Modifié par gravgun le 13/03/2013 à 17:08
C'est parce que tu n'as pas re-sauvegardé la valeur que tu as augmentée. Remplace
$nombre= $_SESSION['nombre'];
par
$nombre = $_SESSION['nombre']++
0
effectivement merci a toi cela fontionne par contre je me rend compte que je n'ai pas choisi la bonne méthode parcque si l'utilisateur revient de la page 4 à la page 2 par exemple, le numero des chapitre se réincremente, du coup le chapitre 11 devient le 12 ...
0
ElementW Messages postés 4814 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 227
Modifié par gravgun le 13/03/2013 à 17:26
J'aurais du te le dire plus tot. Donne un ID (idéalement un nombre entier) à chaque page, et ajoute-le à un tableau contenu dans $SESSION dès que la page est visitée. De l'autre coté, créé un tableau qui contient chaque ID dans l'ordre, puis regarde à quel emplacement dans ce tableau ce trouve l'ID de la page actuelle.
0
ok je regarde ca un grand merci en tout cas
0