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 :

code qui s'exécute une seule fois


Sujet :

Langage PHP

  1. #1
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    1 911
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 911
    Points : 420
    Points
    420
    Par défaut code qui s'exécute une seule fois
    Bonjour,

    j'ai une partie de code "lambda" et j'aimerais que cette partie de code ne s'exécute qu'une seule fois au chargement de la page.

    Ensuite, tant que l'on est dans cette page, je ne veux plus que ce code s'exécute. Même en la rechrgeant, Est-ce possible de faire cela....

    Si on est amené à sortir de la page,j'aimerais à nouveau éxécuter cette partie de code .

    Ce que j'ai fait ne fonctionne pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a href="crecli01.php?type=modif">Modification du profil 1</a>
    Car quand je recharge la page, il me prends la mêm url... Donc réexécute mon code...

  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
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu peux utiliser une session et y placer un marqueur.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    316
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 316
    Points : 366
    Points
    366
    Par défaut
    oui, le seul problème est la fermeture du navigateur => oblige à ne le rouvrir qu'après extinction de celle-ci.

  4. #4
    Membre habitué
    Homme Profil pro
    Inscrit en
    Septembre 2008
    Messages
    168
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations forums :
    Inscription : Septembre 2008
    Messages : 168
    Points : 184
    Points
    184
    Par défaut
    Qu'en est-il du couple $_COOKIE - $_SESSION ?

  5. #5
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    oblige à ne le rouvrir qu'après extinction de celle-ci.
    La réouverture du navigateur provoque la création d'une nouvelle session.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    316
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 316
    Points : 366
    Points
    366
    Par défaut
    bonjour,
    autant pour moi, je pensais à la fermeture d'un onglet de navigateur.

  7. #7
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    1 911
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 911
    Points : 420
    Points
    420
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Tu peux utiliser une session et y placer un marqueur.
    Bonjour,

    pourras-tu apporter plus de précisions à cette technique..

    Quand je recharge la page, la session se perd c'est ça ?

    As-tu un exemple ?

  8. #8
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    Salut

    pourras-tu apporter plus de précisions à cette technique..

    Quand je recharge la page, la session se perd c'est ça ?
    Normalement, non, justement, on ne doit pas perdre la session, sinon il y a un problème.

    Pour le vérifier, la manière la plus simple c'est d'afficher sa valeur, son identifiant, et au plus tôt, soit juste après le démarrage de la session.
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    session_start();
    echo 'ID de session : '.session_id().'<br />';
    Si tu l'affiche ainsi sur toute tes pages, elle DOIT être la même (conservée ou plutôt reprise) tout le temps.

    Pour ce qui est du marqueur, je suppose que sabotage veut dire par là, c'est de créer une variable de session quand on exécute la 1ère fois le scripte dans la page en question.
    Ensuite, faire un test sur son existence et éventuellement sa valeur.

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    if (!isset($_SESSION['deja_passe']) || (isset($_SESSION['deja_passe']) && $_SESSION['deja_passe'] == false)) {
        // On la créé et l'initialise à VRAI
        $_SESSION['deja_passe'] = true;
     
        // On excutera ce script ci-dessous qu'une seule fois
        // SI le deja_passe n'existe pas OU vaut false
        // ... script ...
    }
    Cependant, si l'utilisateur supprime son cookie de session, il pourra (potentiellement) exécuter une 2ème fois ce script, mais ce sera dans une autre (nouvelle) session.


    Ceci dit, il faudrait voir un peu plus en détail se qui se passe dans cette page, et voir si mettre un marqueur est réellement la meilleur ou la seule solution.
    En somme, est ce qu'il y aurait pas autre chose pour s'appuyer dessus pour éviter de le faire 2 fois.
    Voir même pourquoi pas faire en sorte que même si ça se fait 2 fois cela ne provoquera pas d'erreur où d'incohérence.

Discussions similaires

  1. Ecran qui s'affiche une seule fois lors de l'ouverture d'eclipse
    Par menzlitsh dans le forum Eclipse Platform
    Réponses: 1
    Dernier message: 01/06/2009, 09h00
  2. lu tous les jours mais exécuté une seule fois par mois
    Par sianto dans le forum Scripts/Batch
    Réponses: 13
    Dernier message: 17/11/2008, 09h08
  3. code qui s excute une fois
    Par sisna dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 20/08/2008, 11h35
  4. Réponses: 6
    Dernier message: 22/05/2008, 23h15
  5. Msgbox qui s'ouvre une seule fois
    Par dan016 dans le forum VBA Access
    Réponses: 1
    Dernier message: 03/12/2007, 13h31

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