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 :

[PHP/MySQL] Pb de session


Sujet :

Langage PHP

  1. #1
    Membre du Club Avatar de darkphenx
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 89
    Points : 57
    Points
    57
    Par défaut [PHP/MySQL] Pb de session
    Bonjour, globalement j'ai un pb de session, a savoir je concois un site internet avec espace client, je traite la connection à ces pages via une db mysql (tt ce qu'il y'as de plus standard), dans une table utilisateur, j'ai les champs login, mdp, et société (entre autres)
    Je stocke le nom de la societe dans une variable $_SESSION, et je veux la recuperer deux pages plus loin à l'interieur d'une requete

    Voila le code:
    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
     
    Page de connection:
     
    $Login = $_POST["Login"];
    			$Password = $_POST["Password"];
    			$sql = "SELECT * FROM utilisateur WHERE Login='$Login' AND Password='$Password' ";
    			$req = mysql_query($sql) or die (mysql_error());
    			while($result = mysql_fetch_array ($req))
    			{
    		if($Password=='' or $Login=='')
    			{
    			echo "<p><FONT face='arial'>Vous avez oublié de remplir le/les champ(s).</FONT></p>";
    			include("service_asso_connection.php");
     
    			}
     
    		else 
    		{
     
    		if($result['Password'] == $Password)
    			{
    			$variable = $result['Société'];
    			$_SESSION['societe'] = $variable;
    			echo "<DIV align='right'><FONT face='Arial' size='-1'>Bonjour, ".$result['Nom']." ".$result['Prenom']." -- Société : ".$result['Société']." -- E-mail : ".$result['Email']."</FONT></DIV><BR><BR>";
    			include ("service_asso.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
    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
    page ou je recupere la variable :
     
    ?>
    <?php
    $variable = $_SESSION['societe'];
     
    	$sql = "SELECT CodeMachine, Atelier, Société, NuméroJeu, typeelement.Type,jeucoupe.Libellé FROM machine, typeelement,jeucoupe, atelier, client WHERE client.Société = '".$variable."' AND machine.IdClient = client.IdCLient AND machine.IdAtelier =  atelier.IdAtelier AND machine.IdMachine = jeucoupe.IdMachine AND typeelement.IdTypeElement = jeucoupe.IdTypePiece ORDER By codemachine";
     
     
    	$req = mysql_query($sql)or die (mysql_error());
     
    	echo"<DIV align='center'>";
    	echo"<TABLE bgcolor='#999999'>";
    	echo"<TR><TD colspan='6'><CENTER>Liste Jeux d'outils</CENTER></TD></TR>";
    	echo"<TR>";
    	echo"<TD><CENTER><FONT face='Arial'>Code Machine</FONT></CENTER></TD>";
    	echo"<TD><CENTER><FONT face='Arial'><A HREF='Jeux_atelier.php' target='_self'>Atelier</A></FONT></CENTER></TD>";
    	echo"<TD><CENTER><FONT face='Arial'><A HREF='Jeux_societe.php' target='_self'>Société</A></FONT></CENTER></TD>";
    	echo"<TD><CENTER><FONT face='Arial'><A HREF='Jeux_num.php' target='_self'>N° Jeu</A></FONT></CENTER></TD>";
    	echo"<TD><CENTER><FONT face='Arial'><A HREF='Jeux_type.php' target='_self'>Type</A></FONT></CENTER></TD>";
    	echo"<TD><CENTER><FONT face='Arial'><A HREF='Jeux_libelle.php' target='_self'>Libellé</A></FONT></CENTER></TD>";
    	echo"</TR>";
    	while($result = mysql_fetch_array ($req))
    		{
    			for ($i=0; $i<5; $i++)
    			{
    			$couleur = couleur($color1,$color2);}
    			echo"<TR>";
    			echo"<TD bgcolor=".$couleur.">";
    			echo"<FONT face='arial' color='#FFFFFF' size='-2'>";
    			echo $result['CodeMachine']."<br>";
    			echo"</FONT>";
    			echo"</TD>";
    			echo"<TD bgcolor=".$couleur.">";
    			echo"<FONT face='arial' color='#FFFFFF'size='-2'>";
    			echo $result['Atelier']."<BR>";
    			echo"</FONT>";
    			echo"</TD>";
    			echo"<TD bgcolor=".$couleur.">";
    			echo"<FONT face='arial' color='#FFFFFF' size='-2'>";
    			echo $result['Société']."<BR>";
    			echo"</FONT>";
    			echo"</TD>";
    			echo"<TD bgcolor=".$couleur.">";
    			echo"<FONT face='arial' color='#FFFFFF' size='-2'>";
    			echo $result['NuméroJeu']."<BR>";
    			echo"</FONT>";
    			echo"</TD>";
    			echo"<TD bgcolor=".$couleur.">";
    			echo"<FONT face='arial' color='#FFFFFF' size='-2'>";
    			echo $result['Type']."<BR>";
    			echo"</FONT>";
    			echo"</TD>";
    			echo"<TD bgcolor=".$couleur.">";
    			echo"<FONT face='arial' color='#FFFFFF' size='-2'>";
    			echo $result['Libellé']."<BR>";
    			echo"</FONT>";
    			echo"</TD>";
    			echo"</TR>";
     
     
    		}
    	echo"</TABLE>";
    	echo"</DIV>";
     
     
    ?>
    </BODY>
    </HTML>
    En local, cela fonctionne parfaitement, mais une fois en ligne je n'ai pas d'erreur la structure du tableau s'affiche mais pas le contenu. J'ai appelé l'hebergeur et fait un test les sessions fonctionne... donc je suis un peu perdu.

    J'ai pas copié la portion de code, mais j'initialise bien avec session_start();

    Merci.

  2. #2
    Invité
    Invité(e)
    Par défaut
    as tu mis un session_start en debut de page??

    ensuite concernant ton code je ferais pleins de vérif a ta place :
    1. les addslashes pour login et password dans ta requete
    2.tu vérifie dabord sils sont vides avt de faire la requete , c'est plus logique
    3.pas besoin de faire un while car logiquement tu dois avoir un seul membre qui vérifie la condition de ce login et password donc vérifie juste si le nb de ligne retourné est 1
    ...

  3. #3
    Membre du Club Avatar de darkphenx
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 89
    Points : 57
    Points
    57
    Par défaut
    Citation Envoyé par rbaatouc
    as tu mis un session_start en debut de page??
    Citation Envoyé par Darkphenx
    J'ai pas copié la portion de code, mais j'initialise bien avec session_start();
    Ok, je vais voir avec ce que tu m'as dit. Merci.

  4. #4
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mai 2006
    Messages : 60
    Points : 66
    Points
    66
    Par défaut
    Salut,
    Si tu fais des redirect, tu dois enregistrer ta session pour éviter des problèemes. J'ai déja eu un problème du genre.

    Avant ton redirect ex.: Header("Location: URL") , tu dois appeler la fonction : session_write_close();

    N'oublies pas d'appeler la fonction session_start(); en début de chaque page.

    Aussi.. vérifies les parametres de configuration de PHP sur le serveur en ligne.. p-e que REGISTER_GLOBALS est a OFF sur ton serveur et est a ON sur le serveur en ligne, ca peut causer des problemes. Moi je préfères a OFF.

    En espérant que ca va t'aider.

    a+

  5. #5
    Membre du Club Avatar de darkphenx
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 89
    Points : 57
    Points
    57
    Par défaut
    J'ai contacté l'hebergeur, qui m'as dit que le parametres register_globals etait sur ON, Mais gros soucis, il me dit que ce n'est pas possible de passer sur OFF

  6. #6
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mai 2006
    Messages : 60
    Points : 66
    Points
    66
    Par défaut
    Ouais donc tu dois gérer dans ton code que PHP voit $_GET["toto"] comme $toto, meme chose avec les sessions, il voit $_SESSION["toto"] comme $toto. Alors si tu as un parametre dans ton URL ou une variable qui a le meme nom qu'une de tes variables session, elle sera alors effacée !

    Bonne chance

  7. #7
    Membre du Club Avatar de darkphenx
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 89
    Points : 57
    Points
    57
    Par défaut
    Citation Envoyé par Tiois
    Ouais donc tu dois gérer dans ton code que PHP voit $_GET["toto"] comme $toto, meme chose avec les sessions, il voit $_SESSION["toto"] comme $toto. Alors si tu as un parametre dans ton URL ou une variable qui a le meme nom qu'une de tes variables session, elle sera alors effacée !

    Bonne chance
    Merci, la solution Get ne parraissait pas approprié puisque c'etait déstiné à une application Web Industrielle, donc je ne souhaité pas que le contenu de variable puisse apparaitre dans l'url.

    +

  8. #8
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mai 2006
    Messages : 60
    Points : 66
    Points
    66
    Par défaut
    Ton problème est réglé ?

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

Discussions similaires

  1. Script d'authentification PHP / MySQL avec session
    Par king_soft dans le forum Langage
    Réponses: 6
    Dernier message: 09/07/2010, 15h00
  2. [MySQL] php MySQL variables de sessions et IE
    Par cestballo dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 28/04/2010, 06h21
  3. Apache/PHP/MySQL & phpmyadmin => Session
    Par ETVigan dans le forum Langage
    Réponses: 1
    Dernier message: 25/04/2010, 01h20
  4. Réponses: 3
    Dernier message: 20/05/2006, 23h28
  5. [Sécurité] [SGBD] [PHP/MySQL] Pb de session
    Par darkphenx dans le forum Langage
    Réponses: 3
    Dernier message: 19/05/2006, 11h02

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