$_SESSION ne fait pas ce

chupei -  
afrnos Messages postés 61 Statut Membre -
Bonjour,
j'ai une page avec
//test
if (empty($_SESSION['cpt'])){
$_SESSION['cpt']=0;
}
if (isset($_SESSION['cpt'])){
$_SESSION['cpt']+=1;
echo $_SESSION['cpt'];
}
je clic sur un bouton "envoyer" (formulaire) qui normalement fait réactualiser la page, donc je devrais voir afficher 1 la première fois; 2 la deuxième etc. Mais ce n'est pas le cas, $_SESS affiche tjs 1 ? Comment cela ? Merci...

3 réponses

  1. afrnos Messages postés 61 Statut Membre 16
     
    Bonjour,

    Vous ne pouvez pas utiliser les variables de Session sans avoir au préalable créé cette session.

    Dans votre code, la condition :
    if (empty($_SESSION['cpt']))

    est toujours vraie, car aucune session n'a été crée avant l'appel de la variable $_SESSION, et donc vous verrez toujours "1".

    Vous devez ajouter cette fonction au début de chaque page utilisant des variables de session :
    session_start();


    Ce qui donne :
    <?php  
    //test  
    session_start();  
    
    if (empty($_SESSION['cpt'])){  
        $_SESSION['cpt']=0;  
    }  
    if (isset($_SESSION['cpt'])){  
        $_SESSION['cpt']+=1;  
        echo $_SESSION['cpt'];  
    } ?>

    Afrnos GH
    0
  2. chupei
     
    merci de ta réponse, mais mnt mon code est

    if (empty($_POST['cpt'])){
    $_POST['cpt']=0;
    }
    if (isset($_POST['cpt'])){
    $_POST['cpt']++;
    echo $_POST['cpt'];
    }

    :s !!! Peux-tu m'aider car j'ai le même problème !
    0
  3. afrnos Messages postés 61 Statut Membre 16
     
    Oula ... as-tu au moins un formulaire avec la méthode POST dans ta page ?

    $_POST est transmis de page en page, oui ok ! Mais pas en rechargeant la page !
    Il faut que ca soit via un formulaire :
    <form method="post">
        <!-- Formulaire -->
    </form>

    Quel est ton but final avec ce code ?
    0