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

jQuery Discussion :

AJAX et création de SESSION - Possible?


Sujet :

jQuery

  1. #1
    Membre éclairé
    Inscrit en
    Mai 2008
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mai 2008
    Messages : 248
    Par défaut AJAX et création de SESSION - Possible?
    Bonjour à toutes et à tous,

    Ce sujet est la suite de celui la:
    https://www.developpez.net/forums/d1.../#post10197132

    En effet, j'ai deux soucis que je n'arrivais pas à régler:
    1) Checkbox: résolu - voir lien ci-dessus
    2) Créer une nouvelle variable de SESSION alors que mon formulaire est lié à AJAX.

    Ci-dessous une représentation de la structure de mon site.
    Ce dernier fonction en 4 "blocs".

    Nom : MonSite001.png
Affichages : 1545
Taille : 5,6 Ko

    2 de ces blocs contiennent chacun 2 "blocs":
    Nom : MonSite002.png
Affichages : 1548
Taille : 9,3 Ko

    Le menu principal donne différents liens qui mènent sur le bloc "CORPS DE PAGE" (différentes pages php à chaque fois).
    Certaines de ces pages php contiennent des formulaires (Cf. Lien ci-dessous et problèmes de checkbox résolu).

    Le BLOC "CORPS DE PAGE" pourra contenir par moment 2 blocs:
    -> la page en question (ARTICLE)
    -> un menu contextuel: Ce dernier pourra changer le contenu de ARTICLE.

    Mon premier questionnaire va définir le contenu de ce menu contextuel (au travers des cases à cocher notamment).

    Ayant suivi des cours en php et n'ayant aucun niveau en AJAX, je souhaiterai me servir des SESSIONS pour remplir le menu contextuel.

    Problème: Je n'arrive pas à générer une variable de session (Exemple: $_SESSION['Menu_Contextuel'] au travers d'AJAX.
    Cette variable me permettra d’interroger une BDD est de récupérer les éléments qui alimenteront mon menu contextuel.

    SCRIPT JS:
    Code js : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    $(document).ready(function()
    {
     
        $('.formulaire').submit(function()
        {
            var nom = $('.nom').val();
     
            if($('.checkbox001').is(':checked'))
           {
            var checkbox001 = 1;
            }
            else
            {
             var checkbox001 = 0;
             }
     
            $.post('Send.php',{nom:nom,checkbox001:checkbox001},function(data)
            {
                $('.return').html(data).slidedown();
                $('.nom').val('');
                $('.checkbox001').val('');
            });
        return false;
        });
     
    });

    Enregistrement BDD
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    <?php
     
        if(isset($_POST['nom']))
        {
            $nom = htmlspecialchars($_POST['nom']);
            $checkbox001 = $_POST['checkbox001'];
     
    $db = new PDO('mysql:host=localhost;dbname=essai_bdd','root','');
     
             $db->prepare("INSERT INTO ajax(nom,checkbox001) VALUES(?,?)");
             $db->execute([$nom,$checkbox001]);
            echo "Vos données ont été envoyées";
     
            $_SESSION['Menu_Contextuel'] = $nom;
     
        }
        else
        {
            echo "Veuillez compléter tous les champs";
        }
    ?>

  2. #2
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 499
    Par défaut
    jusqu’à maintenant, tu n'utilises pas $.ajax , c'est plutôt $.post que t'utilises.
    je te conseil de passer en json pour mieux contrôler les variables qui seront envoyés depuis le php.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    $.ajax({
    url:'liens relatif vers ton fichier php'
    ,method:'post'
    ,data:{"nom":nom,"checkbox001":checkbox001}
    ,dataType:'json'
    ,cache:false
    ,success:function(s){
      console.log('success :'+JSON.stringify(s) );
    }
    ,error:function(err){alert(err.responseText);}
    });
    puis le php doit renvoyer du json (aucun echo ne doit apparaître dans le php, sauf celle qui est tout en bas)
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
     
    <?php
     $reponse=[];
        if(isset($_POST['nom']))
        {
            $nom = htmlspecialchars($_POST['nom']);
            $checkbox001 = $_POST['checkbox001'];
     
    $db = new PDO('mysql:host=localhost;dbname=essai_bdd','root','');
     
             $db->prepare("INSERT INTO ajax(nom,checkbox001) VALUES(?,?)");
             $db->execute([$nom,$checkbox001]);
             $_SESSION['Menu_Contextuel'] = $nom;/*$_SESSION ne fonctionnera pas tant qu'il n y a pas de session_start() tout au début du fichier php*/
            /*comme tu peux aussi stocker cette valeur dans $reponse*/
            $reponse['Menu_Contextuel']=$nom;
     
        }
        else
        {
            $reponse["erreur"]="Veuillez compléter tous les champs";
        }
    echo json_encode($reponse);
    ?>

  3. #3
    Membre Expert

    Homme Profil pro
    développeur
    Inscrit en
    Octobre 2013
    Messages
    1 581
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : développeur

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 581
    Par défaut
    Bonjour,

    As tu une erreur?
    As tu vérifié que ton script est bien appellé?
    Ou est ton au début du code ?

    https://secure.php.net/manual/fr/ses...ples.basic.php

  4. #4
    Membre éclairé
    Inscrit en
    Mai 2008
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mai 2008
    Messages : 248
    Par défaut
    Hello

    merci pour vos réponses.

    @Toufik83:
    Je t'avoue que j'ai recopié bêtement le code (sans trop comprendre pour le moment ce que j'écrivais ).

    J'ai une pop up qui s'ouvre et qui m'affiche la valeur de ma $_SESSION.
    Cependant, cette dernière n'est pas prise en compte par mon menu contextuel.
    Comme ci $_SESSION avait tendance à disparaitre juste après l'affichage.

    Je vais analyser le code demain pour essayer de comprendre un peu mieux.

  5. #5
    Membre éclairé
    Inscrit en
    Mai 2008
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mai 2008
    Messages : 248
    Par défaut
    Hello,

    J'utilise d'autres variables sessions en amont.
    session_start() est bien placé et les autres variables sessions fonctionnent (notamment lors de la connexion/ déconnexion).

    J'ai balayé le script et ne vois pas le bug (après le json j'ai laissé tel quel en changeant / ajoutant des variables.
    Mais je doute que la cause soit la.

    A ce stade:

    Depuis le JSON:
    1) Un message type pop up s'ouvre après l'exécution du formulaire.
    Ce message reprend le morceau suivant:

    <div = class="Donnees_Enregistrees"><p> Le contenu de ma variable session, en l’occurrence $_SESSION['Menu_Contextuel'] </br></p></div>


    J'ai ajouté le code ci-dessous:

    FORMULAIRE
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    <!doctype html>
     
    <html>
     
        <head>
     
            <script src ="Jquery.js"></script>
            <script src ="Script.js"></script>
     
        </head>
     
        <body>
     
            <form method="post" class="formulaire">
     
                <div class="return"></div>
     
                <input type="text" class="nom"><br>            
               <input type="checkbox" name="checkbox001" class="checkbox001">
     
                <input class="submit" type="submit" value="Envoyer">
     
            </form>
     
        </body>
     
    </html>

    ENREGISTREMENT BDD
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
        <?php
     $reponse=[]; // Utilise de prendre $reponse si j'ai déjà session? 
        if(isset($_POST['nom']))
        {
            $nom = htmlspecialchars($_POST['nom']);
            $checkbox001 = $_POST['checkbox001'];
     
    $db = new PDO('mysql:host=localhost;dbname=essai_bdd','root','');
     
             $db->prepare("INSERT INTO ajax(nom,checkbox001) VALUES(?,?)");
             $db->execute([$nom,$checkbox001]);
             $_SESSION['Menu_Contextuel'] = $nom;
            $reponse['Menu_Contextuel']=$nom; // Utilise de prendre $reponse si j'ai déjà session? 
     
        }
        else
        {
            $reponse["erreur"]="Veuillez compléter tous les champs";
        }
    <s>echo json_encode($reponse);</s> // j'ai supprimé cette partie la
    ?>

    SCRIPT:
    Code js : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    $(document).ready(function()
    {
     
        $('.formulaire').submit(function()
        {
            var nom = $('.nom').val();
     
            if($('.checkbox001').is(':checked'))
           {
            var checkbox001 = 1;
            }
            else
            {
             var checkbox001 = 0;
             }
     
           $.ajax({
    url:'liens relatif vers ton fichier php'
    ,method:'post'
    ,data:{"nom":nom,"checkbox001":checkbox001}
    ,dataType:'json'
    ,cache:false
    ,success:function(s){
      console.log('success :'+JSON.stringify(s) );
    }
    ,error:function(err){alert(err.responseText);}
    });
        return false;
        });
     
    });


    EDIT: Cela me fait penser que le .return n'est plus utilisé depuis le passage de .post à .ajax.
    Est il possible de réutiliser mon .return avec ajax afin de renvoyer un message + contenu variable session dans le return de mon formulaire?


    2) $_SESSION['Menu_Contextuel'] contient bien une valeur mais cette dernière n'est pas prise en compte dans mon bloc "Menu contextuel".
    Comment faire? Problème lié au fait que les pages ne soient pas rechargées?

    CODE menu contextuel
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    <div id ="Menu_Secondaire_BlocMenu"> <!-- J'aime les titres à rallllllonge -->
     
         <h2> mENU SECONDAIRE </h2>
     
         <?php
                  if(isset($_SESSION['Menu_Contextuel']))
                  {
                        echo "victoire mon menu est beau et superbe et... enfin bref quoi";
                  }
                  else
                  {
                       echo "C'est la danse de canards, et toi retourne dans ta mare... car ton code c'est pas de l'art
                                 bref pas évident les rimes en ar";
                  }
          ?>       
     
    </div>

    En gros... else l'emporte toujours...

  6. #6
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 499
    Par défaut
    avant de passer au Menu_contextuel, tes modifications de code n'augmentent pas la chance de trouver une solution à ton souci.
    Citation Envoyé par BOU59000
    <s>echo json_encode($reponse);</s> // j'ai supprimé cette partie la.
    1 - tu as supprimé la partie la plus importante, et tu as ajouté une balise <s> en tant que html, dans du php .
    tu dois mettre tout simplement echo json_encode($reponse);.

    2 - tu mélange les choses, php s’exécute au moment du chargement de la page, par-contre jQuery s’exécutent après le chargement de la page.
    Citation Envoyé par BOU59000
    Un message type pop up s'ouvre après l'exécution du formulaire.
    Ce message reprend le morceau suivant:

    <div = class="Donnees_Enregistrees"><p> Le contenu de ma variable session, en l’occurrence $_SESSION['Menu_Contextuel'] </br></p></div>
    ce pop up ou alert, signifie qu'il y a une erreur dans $.ajax(), mais je ne vois pas d'ou sort ce div avec la classe Donnee_Enregistrees !

    vérifions d'abord si tu reçois bien tes valeurs dans le success de $.ajax(), qu'est ce que tu vois dans la console du navigateur?

  7. #7
    Membre éclairé
    Inscrit en
    Mai 2008
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mai 2008
    Messages : 248
    Par défaut
    Hello

    La balise s provient du site. Je voulais barrer le texte.

    Le problème vient effectivement de:

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <div class="Donnees_Enregistrees"><p> Le contenu de ma variable session, en l’occurrence $_SESSION['Menu_Contextuel'] </br></p></div>

    En la supprimant le message d'erreur disparait.
    J'ai ajouté la div car je souhaitais avoir un message dans le .return de mon formulaire.
    Et cela me permettait de pouvoir faire un design spécifique sur ce div par le biais du css.

    En console je reçois désormais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    success:{"Menu_Contextuel":"VALEUR"}.
    Echo sert à afficher un message.
    Quel est l'intérêt d'echo json_encode($reponse) j'ai du mal à comprendre?

  8. #8
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 499
    Par défaut
    Citation Envoyé par BOU59000
    En console je reçois désormais:
    success:{""Menu_Contextuel":"VALEUR"}
    cela dit que tu reçois bien la valeur de Menu_Contextuel, tu peux la récupérer directement dans le success d'ajax avec par exemple : var menu=s.Menu_Contextuel;
    Citation Envoyé par BOU59000
    Quel est l'intérêt d'echo json_encode($reponse); j'ai du mal à comprendre?
    json_encode est une fonction php qui encode une variable en json, tout ce que nous avons fait c'est écrire cette variable par le php pour la récupérer dans jQuery.
    si tu as par exemple une autre variable "variableX" en php et que tu veux la récupérer dans ajax, tu dois d'abord la stocker dans $reponse comme $reponse['variableX']='teste', puis la récupérer dans ajax avec s.variableX;

  9. #9
    Membre éclairé
    Inscrit en
    Mai 2008
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mai 2008
    Messages : 248
    Par défaut
    Hello,

    J'en reviens à mon menu contextuel maintenant que nous avons réglé le premier problème

    Comment envoyer la valeur $_SESSION['Menu_Contextuel']?

    Si je reprends le formulaire, ce dernier contient:
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    <div class="return"></div>

    En .post, il était possible de retourner des valeurs dans cette classe.

    Est il possible de faire la même chose avec .ajax?

    Si oui, cela me permettrait de retourner la valeur de $_SESSION['Menu_Contextuel'] dans .return
    (comme cela l'utilisateur à un message de confirmation du type:
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "Vos éléments ont bien été enregistrés sous la référence: " . $_SESSION['Menu_Contextuel'];

    Une méthode similaire sera, j'imagine, utilisé pour renvoyer cette valeur dans mon bloc "Menu_Contextuel".

    Ou je fais fausse route?

  10. #10
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 499
    Par défaut
    En .post, il était possible de retourner des valeurs dans cette classe. Est il possible de faire la même chose avec .ajax?
    oui, c'est bien possible avec ajax aussi, tout se passe dans la fonction(callback) success d'ajax.

    pour récupérer la valeur de $_SESSION, tu n'a qu'a stocker cette valeur dans le tableau $reponse, $reponse['session']=$_SESSION['Menu_Contextuel'];puis si tu veux ajouter un message de confirmation, toujours $reponse qui s'en occupe, $reponse['message']='ton message...';

    ensuite il faut gérer l'erreur dans success :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    success:function(s){
    if(!s.erreur){/*si s.erreur n'existe pas, ATTENTION si l'utilisateur envoi un nom vide il faut qu'une erreur soit générée indiquant que le nom ne doit pas être vide aussi.*/ 
      $('.return').html('<p>Menu_Contextuel :'+s.Menu_Contextuel+'</p><p>Session utilisateur :'+s.session+'</p><p>Message :'+s.message+'</p>')
        .slideDown();//slideDown() et pas slidedown()
         $('.nom').val('');
    }
    else {//sinon 
      $('.return').html('<p>Erreur :'+s.erreur+'</p>');
    }
     
    }

  11. #11
    Membre éclairé
    Inscrit en
    Mai 2008
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mai 2008
    Messages : 248
    Par défaut
    J'ai bien un message qui m'est retourné dans .return

    Mais les variables passent en "Undefined".
    La console m'affiche: TypeError: $(...).html(...).slidedown is not a function.

    Pour ajax j'ai complété directement dans script.js dans success.

    Pour les variables, je place bien ces dernières dans enregistrement bdd?

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
      <?php
     $reponse=[]; // Utilise de prendre $reponse si j'ai déjà session? 
        if(isset($_POST['nom']))
        {
            $nom = htmlspecialchars($_POST['nom']);
            $checkbox001 = $_POST['checkbox001'];
     
    $db = new PDO('mysql:host=localhost;dbname=essai_bdd','root','');
     
             $db->prepare("INSERT INTO ajax(nom,checkbox001) VALUES(?,?)");
             $db->execute([$nom,$checkbox001]);
             $reponse['session'] = $_SESSION['Menu_Contextuel'];
            $reponse['Message'] = 'Vos éléments ont bien été enregistrés';
     
        }
        else
        {
            $reponse["erreur"]="Veuillez compléter tous les champs";
        }
    echo json_encode($reponse);
    ?>

  12. #12
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 499
    Par défaut
    pour l'erreur que tu as dans la console, change slidedown() en slideDown().
    -les variables session et message sont "undefined" par-ce-que au niveau php tu as supprimé une ligne importante, et tu as écris la variable "message" avec M majuscule.
    en gros le php doit être comme ça
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
      <?php
     $reponse=[]; // Utilise de prendre $reponse si j'ai déjà session? 
        if(isset($_POST['nom']))
        {
            $nom = htmlspecialchars($_POST['nom']);
            $checkbox001 = $_POST['checkbox001'];
     
    $db = new PDO('mysql:host=localhost;dbname=essai_bdd','root','');
     
             $db->prepare("INSERT INTO ajax(nom,checkbox001) VALUES(?,?)");
             $db->execute([$nom,$checkbox001]);
             $_SESSION['Menu_Contextuel']=$nom;//pourquoi tu as supprimé cette ligne?!
             $reponse['session'] = $_SESSION['Menu_Contextuel'];
             $reponse['message'] = 'Vos éléments ont bien été enregistrés';//message et pas Message
     
        }
        else
        {
            $reponse["erreur"]="Veuillez compléter tous les champs";
        }
    echo json_encode($reponse);
    ?>

  13. #13
    Membre éclairé
    Inscrit en
    Mai 2008
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mai 2008
    Messages : 248
    Par défaut
    J'ai trouvé!

    Comme je trifouille les codes dans tous les sens afin de comprendre comment cela fonctionne...
    J'avais oublié ma modification sur:

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    echo json_encode($reponse);

    J'avais remplacé le tableau $reponse par une simple variable du coup...

    Quand tu m'a renvoyé le code j'ai passé en revue chaque lettre du code et ... j'ai découvert mon oubli.

    Un grand merci à toi!!!

    Question:
    MON CORPS DE PAGE contient MENU_CONTEXTUEL et ARTICLE

    ARTICLE contient pour le moment un formulaire.
    Ce formulaire renvoie des infos et j'aimerai remplir mon MENU_CONTEXTUEL avec les infos.

    Pour cela je vais utiliser $_SESSION.
    Mais, $_SESSION ne fonctionne pas en dynamique (besoin d'un rechargement de page).

    J'aimerai envoyer $_SESSION en dynamique dans mon bloc MENU_CONTEXTUEL sauf que...
    Jusqu'à présent tout était contenu dans mon script ".formulaire".

    En gros à terme je souhaiterai avoir quelque chose comme ceci:
    Nom : MonSite002.png
Affichages : 1453
Taille : 15,4 Ko

    ARTICLE contient formulaire
    Les choix de formulaire modifie mon MENU CONTEXTUEL
    MENU CONTEXTUEL me permet de faire arriver une autre page dans ARTICLE

  14. #14
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 499
    Par défaut
    puisque tu reçois la variable session dans ajax, alors utilise là pour afficher le contenu article qui correspond.

    a vrai dire, je ne pense pas que tu es obliger de passer par $.ajax, a ta place j’utiliserais include(); pour gérer l'affichage du contenu imbriqué.

  15. #15
    Membre éclairé
    Inscrit en
    Mai 2008
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mai 2008
    Messages : 248
    Par défaut
    Hello

    Je n'arrive pas à récupérer $_SESSION['Reference'] de manière dynamique.
    Du coup mon menu secondaire ne fonctionne pas...

    Je place ici une maquette du projet que j'ai recréé (j'ai enlevé toutes les parties inutiles afin d'alléger le tout).
    Cela permettra d'avoir une meilleure vision globale.

    Si dans MENU_Secondaire je place:
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if (isset($_SESSION['Reference']))
    {
    echo $_SESSION['Reference'];
    }
    Soit, mon Menu_Secondaire ne le prend pas en compte car la page n'est pas actualisé
    Soit, j'actualise la page et le $_SESSION['Reference'] n'est pas le dernier généré (Vérifié grâce à echo... quand ca marche... )

    EDIT: Je n'ai pas réussi à mettre directement le zip...
    Chaque page est dans un dossier ENTETE, MENUS, CORPS, PIED
    Fichiers attachés Fichiers attachés

  16. #16
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 499

  17. #17
    Membre éclairé
    Inscrit en
    Mai 2008
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mai 2008
    Messages : 248
    Par défaut
    Je viens de parcourir tes éléments.

    J'ai vu qu'il y avait deux éléments form_inscription et form_connexion.
    Si je comprends bien, si je veux utiliser ajax entre les différentes pages de mon site, je dois utiliser une classe similaire c'est bien cela?

    Code htm : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <div class='form_menu'>
     
    <!-- je récupère ici ma variable session c est bien cela? -->
     
    </div>

  18. #18
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 499
    Par défaut
    oupss, c'est une doublure, désolé.
    normalement c'est form_connexion.php qui nous intéresse, supprime form_connexion.php.
    puis comme j'avais dis avant, tu n'es pas obliger d'utiliser ajax dans ce cas, vu que son utilisation n'est pas trop utile.
    pourquoi ne pas laisser seulement le php s'en occuper?
    sans ajax et sans compliquer les choses, tu peux traiter tout ça seulement en Php : Pièce jointe 379747

  19. #19
    Membre éclairé
    Inscrit en
    Mai 2008
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mai 2008
    Messages : 248
    Par défaut
    Nous en revenons à ma solution de départ tout en php (avant de me lancer vers le java)

    En tout cas... un grand MERCCCIIIIIIIIIIIIIIIIIIIIIII à toi Toufik83.
    Pour ta disponibilité, pour le temps passé et pour la qualité de tes réponses.

    Ce que tu m'as fait découvrir en ajax m'a vraiment donné envie de découvrir ce langage.
    Dès mon projet (version 1.0 terminé), je me lance dans l'apprentissage de js!


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Cookies] Erreur lors de la création de Session ..
    Par Klimium dans le forum Langage
    Réponses: 6
    Dernier message: 07/10/2006, 15h40
  2. [AJAX] connexion par ajax en conservant la session
    Par gorgonite dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 08/08/2006, 21h56
  3. [HS] Création une session de consignation
    Par sapars dans le forum Sybase
    Réponses: 3
    Dernier message: 06/01/2006, 09h34
  4. [Sessions] Message erreur PHP création de session
    Par Ylias dans le forum Langage
    Réponses: 2
    Dernier message: 29/09/2005, 11h11
  5. [C#] Créations de sessions
    Par en_gel_ho dans le forum Windows Forms
    Réponses: 3
    Dernier message: 07/04/2005, 10h06

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