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

PHP & Base de données Discussion :

Fenêtre modale et $_SESSION


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 256
    Par défaut Fenêtre modale et $_SESSION
    Bonjour à tous !

    J'essais depuis un moment de trouver ce qui bloque dans mon code et je ne trouve pas le problème donc je viens vous dans l'espoir de trouver ce qui ne fonctionne pas.
    Dans ma page index.php, j'ai créé une fenêtre modale qui permet à l'utilisateur de se connecter via un login et un mot de passe (jusque là rien d'exceptionnel), lorsqu'il clique sur le bouton connexion j'execute le code ci-dessous :
    Code : 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
     
    		// On connecte l'utilisateur si existant
    		var xhttp;
     
    		xhttp = new XMLHttpRequest();
    		xhttp.onreadystatechange = function() {
    			if (xhttp.readyState == 4 && xhttp.status == 200) {
    				if (xhttp.responseText == "0"){
    					alert("Les renseignements que vous avez fournis ne nous permettent de vous identifier.\nVeuillez vérifier vos paramètres de connexion.");
    				}else{					
     
    					alert(<?php session_start(); $_SESSION['IdUser']; ?>);
    					//alert(userConnected);
     
    					$('#WELAB_INFO_USER').text(xhttp.responseText);
    					$('#WELAB_INFO_USER').show().css('visibility', 'visible');
    					$('#WELAB_USER_ID').show().css('visibility', 'visible');
    				}
    			}
    		};
     
    		xhttp.open("POST", "Ajax_Cnx.php?l="+$login.val()+"&pw="+$pw.val(), true);
    		xhttp.send();
    Ce code est intégré dans ma page index.php

    Ensuite avec Ajax, j'appel ma page Ajax_Cnx.php qui va me permettre de vérifier dans ma bdd si le login et mot de passe est bien existant, si oui, j'ouvre une session car l'utilisateur navigue sur plusieurs page et il faut donc je garde son id pour mes futurs requêtes.
    Le code ci-dessous est celui de ma page php Ajax_Cnx.php :
    Code : 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
     
    <?php
    	// on démarre la session
    	session_start ();
     
    	$database   = "BDD";
    	$user_name  = "un_user";
    	$password   = "un_pw";
    	$host_name  = "localhost";	
     
    	// Valeurs des champs de saisie
    	$login = $_GET['l'];
    	$mdp = $_GET['pw'];
     
     
    	// on se connecte à MySQL 
    	$db = mysql_connect($host_name, $user_name, $password); 
     
    	// on sélectionne la base 
    	mysql_select_db($database,$db); 
     
    	// on crée la requête SQL 
    	$sql = "SELECT * FROM `Table` WHERE `Login`= '$login' and `MDP` = '$mdp'"; 
     
    	// on envoie la requête 
    	$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 
     
    	// on fait une boucle qui va faire un tour pour chaque enregistrement 
    	$data = mysql_fetch_assoc($req);
     
    	// on ferme la connexion à mysql 
    	mysql_close();  
     
    	// on affiche les informations de l'enregistrement en cours
    	if($data['Nom'] != '' || $data['Prenom'] != ''){	
     
    		// on enregistre les paramètres de notre visiteur comme variables de session 			
    		$_SESSION['IdUser'] = "10";//$data['Utilisateur_Id'];
     
    		echo ($data['Nom'].' '.$data['Prenom']);
    	}else{
    		echo("0");
    	}
    ?>
    Je vous remercie d'avance à tous pour aide

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Il y a différents souci

    déjà :

    Code : 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
     
    <?php
    session_start();
    ?>
    // On connecte l'utilisateur si existant
    		var xhttp;
     
    		xhttp = new XMLHttpRequest();
    		xhttp.onreadystatechange = function() {
    			if (xhttp.readyState == 4 && xhttp.status == 200) {
    				if (xhttp.responseText == "0"){
    					alert("Les renseignements que vous avez fournis ne nous permettent de vous identifier.\nVeuillez vérifier vos paramètres de connexion.");
    				}else{					
     
    					alert(<?php echo $_SESSION['IdUser']; ?>);
    					//alert(userConnected);
     
    					$('#WELAB_INFO_USER').text(xhttp.responseText);
    					$('#WELAB_INFO_USER').show().css('visibility', 'visible');
    					$('#WELAB_USER_ID').show().css('visibility', 'visible');
    				}
    			}
    		};
     
    		xhttp.open("POST", "Ajax_Cnx.php?l="+$login.val()+"&pw="+$pw.val(), true);
    		xhttp.send();
    Ensuite, je ne sais pas quelle verison php tu utilises, mais les fonctions "mysql" sont déprécié et supprimé et PHP 7

    Ensuite quelles sont les erreurs ?

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 256
    Par défaut
    Merci pour ta réponse, j'utilise PHP 5.5.12 alors je vais apporté une petite, je suis totalement novice dans le développement, le code que j'ai affiché dépend de code que j'ai adapté en piochant sur différent donc forcément il doit y avoir pas mal de problème.
    Ensuite, je n'ai pas de message d'erreur à proprement parlé, c'est juste que si j'appel la fonction $_SESSION['IdUser'] dans une autre page du site que j'essai de créer je n'ai aucune valeur alors que celle que j'attend c'est celle de l'ID de l'utilisateur qui m'est renvoyé dans le code php que j'ai écris précédemment donc le problème c'est ça, je n'ai de valeur dans $_SESSION['IdUser'] et je vois pas pourquoi parce que quand je fais un echo dans le fichier php celle-ci contient bien une valeur.

    En te remerciant d'avance.

  4. #4
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Tu as bien dans toutes tes pages ?

Discussions similaires

  1. [PowerBuilder] Récupérer la main sur une fenêtre modale
    Par jpdar dans le forum Powerbuilder
    Réponses: 3
    Dernier message: 12/06/2006, 14h21
  2. Modifier un champ à partir d'une fenêtre modale
    Par ahoyeau dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 08/03/2005, 16h53
  3. Formulaire dans une fenêtre modale
    Par Amnesiak dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 28/02/2005, 14h25
  4. Supprimer la croix dans une fenêtre modale
    Par AnneOlga dans le forum C++Builder
    Réponses: 3
    Dernier message: 15/01/2004, 14h52
  5. Rendre une fenêtre modale non modale
    Par Smortex dans le forum Composants VCL
    Réponses: 2
    Dernier message: 30/03/2003, 17h56

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