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 :

Sessions avec chargement des pages en AJAX


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Webdesigner
    Inscrit en
    Février 2013
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2013
    Messages : 63
    Points : 57
    Points
    57
    Par défaut Sessions avec chargement des pages en AJAX
    Bonjour à toutes et tous,

    comme c'est indiqué dans le titre, j'utilise du PHP pour créer les sessions de login etc seulement toute ma navigation elle est en jQuery/Ajax avec traitement Ajax.

    Mais du fait ce ce type de navigation, je charge mes pages dans mon index automatiquement mais celle-ci ne savent pas si la session est toujours ouverte.

    Faut-il que je place un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php if(empty($_SESSION['id'])){ header ('location: ../index.php');} else { mon contenu }
    en sachant que dans mon header j'ai déjà cette fonction mais inutile du coup puisque dès qu'on se connecte il m'affiche une page chargée par défaut dans mon contenu.

    Ma question est donc, y a t'il une fonction en php autre pour vérifier la session ou dois-je coller ça partout ? (sur chacune de mes pages à charger dans l'index)

    Merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 213
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 213
    Points : 15 499
    Points
    15 499
    Par défaut
    quand tu dis que tu vas le coller à plusieurs endroits, c'est plutot un problème de conception
    le code à l'air bon mais tu devrais le mettre à un endroit commun à tous les appels AJAX, quand il y a le même code à plusieurs endroits ça veut souvent dire qu'il y a un problème

  3. #3
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    Comme déjà dit c'est un problème d'organisation mais au pire mieux vaut plusieurs fois (ça gène pas) plutôt que de risquer de l'oublier. Normalement ce contrôle se fait dans le header.

    Attention que tous tes scripts de destination ajax aient le même type de protection, sinon on pourrait avoir accès à des informations confidentielles en les interrogeant directement.

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2015
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Ce qu'il faut savoir en PHP c'est que c'est du côté serveur, donc même si tes pages sont dynamiques "générés" avec de l'AJAX tes session restent valables,
    elles sont totalement indépendante de l'AJAX.
    Si tu fait de l'objet (PHP) ta vérification tu la fera une seul fois comme cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if(isset($_SESSION['nom_de_la_session']){
        //Code
    }

  5. #5
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    ... Le terme "totalement indépendante" peut prêter à confusion, dans le sens ou l'on peut aussi définir des sessions avec le script de destination ajax...

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2015
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Oui, mais si c'est intentionnel , AJAX ne fait que ce tu lui demande de faire, dans le cadre de la question, la réponse est que
    tu doit coller ta vérification une seul fois si tu fait de l'objet (PHP) et sur toutes les pages dont tu veux faire la vérification si tu ne fait d'objet.


    Les pages en objet sont un gain de temps et une facilité pour les développeurs

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Je me permet d'intervenir,étant donné que tu as reçu certaines réponses
    douteuses, alors excuses moi si il y a des redites.

    Tu notes pour faire simple que tu as une session pour le serveur il s'agit en général d'un cookies unique,
    différent des cookies de données.Ce cookies est sur ton micro et contient une cle genre "jlqshdljhl5555qsdqdjelhzelhlzhzzlhz"
    Cette clé dans le cookies de session a été créé dés que tu a appelé un php du site contenant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?php
    session_start();
    ?>
    Cette session restera active jusqu'à son épuisement (temps d'attente limite dépassé) ou ordre php de fermeture.
    se trouve alors selon ton serveur un fichier texte souvent dans /session/ dont le nom est celui de ta clé jlqshdljhl5555qsdqdjelhzelhlzhzzlhz.txt
    c'est lui qui contient toutes tes données nom mot passe date etc...

    A chaque fois que ton html (de ton micro) appel un php (du serveur), si tu as besoins de lire des données de sessions
    il suffit que ce php ait en tête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?php
    session_start();
    ?>
    pour que tu puisses récupérer n'importe quelle donnée
    J'ais bien écrit
    A chaque fois que ton html (de ton micro) appel un php (du serveur) sans dire par quelle méthode aussi sophistiquée soit'elle !!
    Ajax ou pas , lien html ou autre aucune importance !!

    J'en profites pour te rappeler que si le php appelé possède des "includes" le php as bien son
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?php
    session_start();
    ?>
    Mais aucun des php include bien sur !

  8. #8
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 380
    Points : 10 410
    Points
    10 410
    Par défaut
    Salut,

    Oui enfin ce sujet date de plus d'un mois, je doute que l'auteur du post n'aies pas résolu son problème entre temps...

    @Larnic
    tu doit coller ta vérification une seul fois si tu fait de l'objet (PHP) et sur toutes les pages dont tu veux faire la vérification si tu ne fait d'objet.
    Non rien à voir avec le fait que l'on développe en objet ou en procédural. On pourrait un peu mieux comprendre si tu parlais de MVC avec un contrôleur central mais là encore quand bien même le script principal serait protégé cela n'empêche pas que les scripts de destination ajax peuvent être interprétés indépendamment de leur contexte initial, et donc il doivent être protégés s'ils permettent de retourner des données sensibles.

Discussions similaires

  1. [UI Mobile] Chargement des pages en Ajax et flip switch (cachant/affichant un bloc)
    Par cloclo23 dans le forum jQuery
    Réponses: 0
    Dernier message: 09/01/2013, 12h43
  2. Problème avec chargement des animations
    Par PomDesign dans le forum Flash
    Réponses: 2
    Dernier message: 02/04/2007, 17h52
  3. Chargement des pages
    Par Stan62970 dans le forum Apache
    Réponses: 1
    Dernier message: 23/01/2007, 21h46
  4. [JavaScript] [SRC]/[FAQ] Les templates JS pour accelerer le chargement des pages
    Par FremyCompany dans le forum Contribuez
    Réponses: 20
    Dernier message: 23/12/2006, 11h58
  5. Pb avec interprétation des pages php
    Par Stopher dans le forum Apache
    Réponses: 1
    Dernier message: 30/11/2006, 15h12

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