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

AJAX Discussion :

[AJAX] Ma variable de session ne s'enregistre pas


Sujet :

AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 165
    Par défaut [AJAX] Ma variable de session ne s'enregistre pas
    Bonjour à tous.



    J'ai besoin de yeux nouveaux dans mon code.
    Je ne vois plus rien... Je m'arrache les cheveux !
    Pouvez-vous prendre un peu de votre temps pour m'aider à y voir plus clair ?
    De mon côté, je désespère ! Je n'en peux plus ! Je tourne en rond !!!

    Voici ma page

    J'explique.
    Quand on clique sur une des 9 formes de diamants (haut du tableau), la fonction "entoure()" se déclenche. Et dans cette fonction, on enregistre la fameuse variable de session "['recherche']['forme']". On dirait qu'elle s'enregistre bien. Par contre, quand on fiat "F5", le contenu de cette variable de session a disparu !!! Pourquoi ?

    Voici la fonction javascript qui lance l'ajax :
    Code javascript : 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
    function entoure(indforme) {
    	if (swForme[indforme]==0) {
    		swForme[indforme]=1;
    		document.getElementById("forme"+indforme).style.borderColor="#8e8f91";
    	} else {
    		swForme[indforme]=0;
    		document.getElementById("forme"+indforme).style.borderColor="#F5F5F5";
    	}
    	formes="";
    	for (var ind=1; ind<swForme.length; ind++) {
    		if (swForme[ind] == 1) {
    			formes += "1";
    		} else {
    			formes += "0";
    		}
    	}
    	if (pageLoaded == 1) {
    		variablesession('forme00', formes);
    		alert (formes);
    		resetRecherche();
    		newRecherche();
    	}
    }

    Voici la fonction "variablesession()", qui lancel'ajax :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function variablesession(oVar, oVal) {
    	if (oVar = 'formes00') {
    		alert(oVal);
    	}
    	var requete = creerRequete();
    	var pgm = "diamants/php/ajaxphp_variablesession.php";
    	requete.open("POST", pgm, false);
    	requete.onreadystatechange = function() {
    		if (requete.readyState == 4 && requete.status == 200) {
    		}
    	}
    	requete.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    	requete.send("variable="+escape(oVar)+"&valeur="+escape(oVal));
    }

    Voici le xhr (diamants/js/requete.js"):
    Code javascript : 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
    // JavaScript Document
    function creerRequete() {
    	var requete = null;
    	try {
    		requete = new XMLHttpRequest();	
    	} catch (essaimicrosoft) {
    		try {
    			requete = new ActiveXObject("Msxml2.XMLHTTP");	
    		} catch (autremicrosoft) {
    			try {
    				requete = new ActiveXObject("Microsoft.XMLHTTP");	
    			} catch (echec) {
    				requete = null;
    			}
    		}
    	}
     
    	if (requete == null) {
    		alert("Impossible de cr&eacute;er l'objet requete");
    	} else {
    		return requete;
    	}	
    }

    Voici le script "diamants/php/ajaxphp_variablesession.php", qui enregistre les variables de session par ajax :
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    <?php
    	session_start();
    	if (isset($_REQUEST['variable']) AND isset($_REQUEST['valeur'])) {
    		$variable = $_REQUEST['variable'];
    		$valeur = $_REQUEST['valeur'];
    		switch ($variable) {
    			case "forme00":
    				$_SESSION['recherche']['forme'] = $valeur;
    				break;
    			case "poids00":
    				$_SESSION['recherche']['poids'][0] = $valeur;
    				break;
    			case "poids01":
    				$_SESSION['recherche']['poids'][1] = $valeur;
    				break;
    			case "couleur00":
    				$_SESSION['recherche']['couleur'][0] = $valeur;
    				break;
    			case "couleur01":
    				$_SESSION['recherche']['couleur'][1] = $valeur;
    				break;
    			case "prix00":
    				$_SESSION['recherche']['prix'][0] = $valeur;
    				break;
    			case "prix01":
    				$_SESSION['recherche']['prix'][1] = $valeur;
    				break;
    			case "taille00":
    				$_SESSION['recherche']['taille'][0] = $valeur;
    				break;
    			case "taille01":
    				$_SESSION['recherche']['taille'][1] = $valeur;
    				break;
    			case "purete00":
    				$_SESSION['recherche']['purete'][0] = $valeur;
    				break;
    			case "purete01":
    				$_SESSION['recherche']['purete'][1] = $valeur;
    				break;
    			case "serti00":
    				$_SESSION['recherche']['serti'] = $valeur;
    				break;
    			case "poli00":
    				$_SESSION['recherche']['poli'][0] = $valeur;
    				break;
    			case "poli01":
    				$_SESSION['recherche']['poli'][1] = $valeur;
    				break;
    			case "symetrie00":
    				$_SESSION['recherche']['symetrie'][0] = $valeur;
    				break;
    			case "symetrie01":
    				$_SESSION['recherche']['symetrie'][1] = $valeur;
    				break;
    			case "profondeur00":
    				$_SESSION['recherche']['profondeur'][0] = $valeur;
    				break;
    			case "profondeur01":
    				$_SESSION['recherche']['profondeur'][1] = $valeur;
    				break;
    			case "table00":
    				$_SESSION['recherche']['table'][0] = $valeur;
    				break;
    			case "table01":
    				$_SESSION['recherche']['table'][1] = $valeur;
    				break;
    			case "fluorescence00":
    				$_SESSION['recherche']['fluorescence'][0] = $valeur;
    				break;
    			case "fluorescence01":
    				$_SESSION['recherche']['fluorescence'][1] = $valeur;
    				break;
    			case "prixparcarat00":
    				$_SESSION['recherche']['prixparcarat'][0] = $valeur;
    				break;
    			case "prixparcarat01":
    				$_SESSION['recherche']['prixparcarat'][1] = $valeur;
    				break;
    			case "colette00":
    				$_SESSION['recherche']['colette'][0] = $valeur;
    				break;
    			case "colette01":
    				$_SESSION['recherche']['colette'][1] = $valeur;
    				break;
    			case "rapportll00":
    				$_SESSION['recherche']['rapportll'][0] = $valeur;
    				break;
    			case "rapportll01":
    				$_SESSION['recherche']['rapportll'][1] = $valeur;
    				break;
    			case "certificat00":
    				$_SESSION['recherche']['certificat'] = $valeur;
    				break;
    			case "tourdoigt":
    				$_SESSION['recherche']['tourdoigt'] = $valeur;
    				break;
    			case "gravure":
    				$_SESSION['recherche']['gravure'] = $valeur;
    				break;
    			case "confirmationbague":
    				$_SESSION['recherche']['confirmationbague'] = $valeur;
    				break;
    			case "referencebague":
    				$_SESSION['recherche']['referencebague'] = $valeur;
    				break;
    		}
    	}
    ?>

  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
    Est-ce que la session est bien démarré sur la page principale ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 165
    Par défaut
    Oui c'est bien fait dans la page principale aussi...
    Je confirme ici (le tout début de la page principale):
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    	session_start();
    	ob_start();

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 165
    Par défaut
    J'ai l'impression que c'est :
    "diamants/php/ajaxphp_variablesession.php"
    qui ne s'exécute pas.

    Mais pourquoi ?
    Comment vérifier qu'un ajax s'exécute bien ?

  5. #5
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Citation Envoyé par jytest Voir le message
    Comment vérifier qu'un ajax s'exécute bien ?
    Le principe même d'AJAX, c'est d'obtenir des données qui viennent du serveur, pour les rendre affichables dans la page qui appelle.

    Tu pourrais générer un texte du genre "Bonjour, il est <date et heure>" et le faire afficher dans ta page. S'il s'affiche, l'appel AJAX s'est bel et bien exécuté -_-°.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 165
    Par défaut
    D'accord, mais tant qu'à faire,
    comment lui faire afficher ma variable de session
    "$_SESSION['recherche']['forme']" ?

    Par contre, mon problème est toujours là !!!
    A l'aide !

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

Discussions similaires

  1. Ajax et variable de session
    Par dknafoweb dans le forum Langage
    Réponses: 2
    Dernier message: 18/05/2014, 23h25
  2. Réponses: 4
    Dernier message: 21/09/2013, 18h06
  3. [AJAX] Passage variable de session
    Par Ctesias dans le forum AJAX
    Réponses: 1
    Dernier message: 06/02/2012, 12h24
  4. [AJAX] Ajax et variables de session php
    Par sorlok dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 30/05/2007, 16h22
  5. Réponses: 6
    Dernier message: 31/01/2006, 16h55

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