IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

$_SESSION s'incrémente d'un pas de géant


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de jamdinhe
    Inscrit en
    Avril 2006
    Messages
    167
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 167
    Par défaut $_SESSION s'incrémente d'un pas de géant
    Bonjour,
    J'ai mis au début de ma page PHP un bout de code pour incrémenter une variable de session comme ceci :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <?php
    session_start();
    if(isset($_SESSION['inc'])):
        $i  = $_SESSION['inc'];
        $j  = $i+1;
        $_SESSION['inc']   = $j;
        var_dump($i);
        var_dump($j);
    else:
        $_SESSION['inc']   = 1;
    endif;
    var_dump($_SESSION['inc']);
    Le var_dump est utilisé pour afficher le contenu de ma variable de session surtout,
    et justement, c'est ce var_dump qui me dévoile une incrémentation de 3 au lieu de 1.

    ce que je ne comprends pas, c'est que dans certaines pages l'incrémentation se fait par 1 position alors que dans d'autres (là ou on a plus d'image et de contenu à afficher) il s'incrémente de 3 !

    Pourriez vous m'éclairer sur ce problème.
    Merci à tout ceux qui veulent aider
    amine

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Pourquoi tu ce bazar avec $i et $j ?

    En une ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION['inc'] = isset($_SESSION['inc']) ? ++$_SESSION['inc'] : 1;
    Pour le problème de variable qui "saute", cela semble indiquer que ta page est chargée plusieurs fois.
    Cela pourrait être un problème de redirections, de CSS mal déclarée, ou ta page qui s'appelle elle même (par exemple si tes images sont appellées par index.php?image=toto.jpg)
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé Avatar de jamdinhe
    Inscrit en
    Avril 2006
    Messages
    167
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 167
    Par défaut
    Merci sabotage pour ta réponse.

    Concernant les $i et $j, je les ai rajouté à la fin, car j'ai commencé par utiliser la condition linéaire comme tu me le propose, mais à cause du problème de l'incrémentation, j'étais obligé de faire appel aux bases algorithmiques afin d'enlever tout soupçons de ce coté.

    Pour la redirection, j'ai vérifier tout le code, rien ne provoque la redirection,
    par contre, je constate dans firefox une page blanche affichant les var_dump() incrémentés à 2 et ensuite la page au design apparait avec les var_dump() des sessions incrémentés à 3 !

    pour l'affichage, j'utilise le moteur de templates TWIG,
    pour les chemins en HTML (CSS, js, img, ...) j'utilise le chemin physique depuis la racine du site web (/template/css/style.css)

    Merci encore sabotage,
    ne vois-tu pas d'autres sources de problèmes possibles ?
    merci à tout ceux qui veulent aider
    amine

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Tu veux dire que tu vois 1 2 .... 3 ou 1 2 et puis une page avec 3 tout seul ?
    Dans ton navigateur, tu peux regarder les appels réseau engendrés par la page.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre confirmé Avatar de jamdinhe
    Inscrit en
    Avril 2006
    Messages
    167
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 167
    Par défaut
    j'ai visionné les appels réseau du navigateur, il y'a quelques images qui sont en 404, c'est à dire introuvable, le reste est à 200

    pour les numéro,
    mon algo affiche dans l'ordre la valeur avant l'incrémentation et la valeur après l'incrémentation.
    exp : supposant (val 1 : Valeur initiale, Val 2 : Valeur après incrémentation)
    Val 1 = 5
    Val 2 = 6

    si j'actualise la page je devrais avoir :
    Val 1 = 6
    Val 2 = 7

    pour mon cas, c'est :
    Val 1 = 5
    Val 2 = 6

    si j'actualise, j'ai les valeurs en deux fois (une fois sans design, ensuite une deuxième fois avec design):
    Val 1 = 7
    Val 2 = 8

    Val 1 = 8
    Val 2 = 9

    si tu remarque, même avant d'afficher le design, il incrémente de 2 !

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Il y a quelque part ou on peut voir le resultat ?

    Pour debuguer, tu pourrai aussi loguer des informations comme heure, url et valeur de la session au moment ou tu fais ton incrementation.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. Fonction incrémentation ne marche pas
    Par clickandgo dans le forum VBA Access
    Réponses: 9
    Dernier message: 12/05/2012, 20h30
  2. Réponses: 16
    Dernier message: 28/08/2009, 22h03
  3. Ma variable $_SESSION ne s'incrémente pas
    Par lemirandais dans le forum Langage
    Réponses: 1
    Dernier message: 26/07/2009, 12h14
  4. Réponses: 3
    Dernier message: 02/12/2006, 16h10
  5. ca ne fonctionne pas (generateur auto-incrémentant)
    Par tripper.dim dans le forum SQL
    Réponses: 7
    Dernier message: 26/11/2002, 00h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo