Garder des variables en mémoire

rasengan7 Messages postés 9 Date d'inscription lundi 4 juin 2007 Statut Membre Dernière intervention 21 juin 2007 - 14 juin 2007 à 11:14
rasengan7 Messages postés 9 Date d'inscription lundi 4 juin 2007 Statut Membre Dernière intervention 21 juin 2007 - 14 juin 2007 à 17:55
Bonjour,

j'aimerai savori comment on fais pour garder des variable en mémoire.

j'ai une page identification ki met en mémoire le login et pass du client.

Une fois identifié le client peut acceder à son compte via une autre page.

Mon problème vient surement de ma requete SQL, je n'arrive pas à afficher les données du bon client.

Sa ne m'affiche que le premier client de la bdd.

4 réponses

cs_putch Messages postés 624 Date d'inscription mardi 6 mai 2003 Statut Membre Dernière intervention 14 décembre 2009 1
14 juin 2007 à 12:04
salut !

on dirai que tu as 2 problèmes !

"garder des variable en mémoire"           = > cf les sessions
" à afficher les données du bon client "     =>  a l'authentification met en session la clé primaire de ta table contenant les info des clients
et donc ta requete devient "SELECT * FROMclient WHERE id='".$_SESSION['id_enregistrer_en_session']."'"

++
0
rasengan7 Messages postés 9 Date d'inscription lundi 4 juin 2007 Statut Membre Dernière intervention 21 juin 2007
14 juin 2007 à 14:40
On m'a dis de passer par la méthode $_GET pour conserver le login dans l'url comme ça quand j'arrive sur ma page j'ai le login du client connecté.

Par contre j'ai du mal avec la syntaxe du $_GET dans une requete SQL
0
cs_putch Messages postés 624 Date d'inscription mardi 6 mai 2003 Statut Membre Dernière intervention 14 décembre 2009 1
14 juin 2007 à 15:05
effectivement si tu as ton forumaire comme ca :
<form action="" method="GET">
   
   
   
</form>

tu recupere comme suit :
$login = addslashes(trim($_GET['login']));
$pass = addslashes(trim($_GET['pass']));

ps : je te conseillerai d'utiliser plutot POST que GET mais bon ...

ensuite tu verifie si tu as un client qui correspond$r mysql_query("SELECT id FROM client WHERE login '".$login."' AND pass = '".$pass."'");
if ( mysql_num_rows($r) == 1 )
{
    //   ok, un client correspond au couple login/pass
    list($id) = mysql_fetch_row($r);

    //la l'idée est de stocké en session l'id (clé primaire) du client
    $_SESSION['session_id_client'] = $id;
}

et voila maintenant sur la page ou tu souhaite récuperer les infos du client connecté :
mysql_query("SELECT * FROM client WHERE id = '".$_SESSION['session_id_client']."'");

++
0
rasengan7 Messages postés 9 Date d'inscription lundi 4 juin 2007 Statut Membre Dernière intervention 21 juin 2007
14 juin 2007 à 17:55
voilà ma page identification, j'aimerai vérifier le pass et login mé en meme temps envoyer o 2 liens le login pour renvoyer les données du client:

<?include("sqlconnect.php");?> 


<?php




//Page terminé (Revoir le css pour la partie où l'on rentre les données


include("haut.php");
$login= "";
$pass="";


if (isset($_POST['login'])) /*si l'utilisateur est correctement identifié. */
{
  $login = $_POST['login']; 
}  
  
  /*on récupère toutes les données de l'utilisateur dans la base de données */
  
  
  $retour = mysql_query("SELECT * FROM identification_clients WHERE login='$login'") or die(mysql_error());


  
  $donnees = mysql_fetch_array($retour); 
  
     
  if ((isset($donnees['ID'])) AND ($donnees['ID']!=""))
  {
   
   /*on initialise toutes les variables de session avec les données récupérées. */
   
   $_SESSION['ID'] =$donnees['ID'];
   $_SESSION['nom'] =$donnees['nom'];
   $_SESSION['Adresse1'] =$donnees['Adresse1'];
   $_SESSION['CodePostal'] = $donnees['CodePostal'];
    $_SESSION['Ville'] =$donnees['Ville'];
    $_SESSION['NomResponsable'] =$donnees['NomResponsable'];
   $_SESSION['EtatCivil'] =$donnees['EtatCivil'];
   $_SESSION['Telephone'] =$donnees['Telephone'];
   $_SESSION['FAX'] =$donnees['FAX'];
   $_SESSION['adresse_mail'] = $donnees['adresse_mail'];
   $_SESSION['Remarque'] =$donnees['Remarque'];
   $_SESSION['datetéléchargement'] =$donnees['datetéléchargement'];
   $_SESSION['versiontelmaj'] =$donnees['versiontelmaj'];
   $_SESSION['login'] =$donnees['login'];
   $_SESSION['mot_de_passe']= $donnees['mot_de_passe'];
   $_SESSION['enregistrement']= $donnees['enregistrement'];


   $_SESSION['testlog'] = 1;
  
  }
  else
  {
   $_SESSION['testlog'] = 0;
  }
 mysql_close(); /*Déconnexion de MySQL */


 /*vérification de la condition du mot de passe*/ 
 
 
 if (isset($_POST['mot_de_passe'])AND($_SESSION['testlog']==1)) // Si l'utilisateur a rentré un mot de passe
 {
    /* on initialise une variable avec la valeur du mot de passe saisi par l'utilisateur. */
    $mot_de_passe = $_POST['mot_de_passe'];
 }
 else
 {
    $mot_de_passe = "";   /*sinon on initialise une chaine avec une chaine vide. */
 }
 include ("sqlconnect.php"); $retour mysql_query("SELECT * FROM password WHERE numeropass 1 ") or die("erreur de base de données");
 $donnees = mysql_fetch_array($retour); 
 mysql_close(); /* Déconnexion de MySQL */  


 
 if ($mot_de_passe == $donnees['pass']) /* Si le mot de passe est bon */
 {


     $_SESSION['password'] = 1;
  // penser à la methode $_GET pour l'envoie du login dans l'url
  
?>  
  

  Identification terminée

  Identification

  

    Etat de la connexion: actif

    Bienvenue à vous, <?echo $_SESSION['EtatCivil'];?> <?echo ucwords(strtolower($_SESSION['NomResponsable']));?> !

    
Pour des raisons de sécurité, il est préférable de terminer votre session lorsque vous ne vous en servez plus, plutôt que de la laisser
se terminer seule. Veuillez pour cela appuyer sur le bouton vert déconnection avant de quitter nos pages.

  
  

<?php
  include("sqlconnect.php");
  mysql_query('UPDATE connectes SET util =\'' .$_SESSION['NomResponsable']. '\',nutil=\''.$_SESSION['ID'].'\' WHERE ip=\'' . $_SERVER['REMOTE_ADDR'] . '\''); // NomResponsable inscrit dans la table identification_clients ???
  mysql_close(); /* Déconnexion de MySQL */ 
?>  Mon compte

  

Voici les pages qui doivent recevoir la variable login entré par le client
   Pour accéder aux informations relatives à votre compte, veuillez suivre le lien suivant:

   [ComptepersoAf.php Accéder à mes informations.]

   Pour modifiez les informations relatives à votre compte, veuillez suivre le lien suivant:

   [ComptepersoMod.php Modifier mes informations.]

  




<?php
 }
 else /* le mot de passe n'est pas bon */
 {
  $_SESSION['password'] = 0;
 ?>
 
  

   Identification du client

   Vous êtes déjà enregistré

   

    La phase d'identification est nécessaire pour récupérer les mises à jour sur notre site.

    
Il est nécessaire d'autoriser l'utilisation des cookies pour s'identifier correctement avec internet explorer. Vous
DEVEZ donc suivre les instructions suivantes pour télécharger la mise à jour:

    Cliquez sur le menu outils de votre page, puis sur l'option "Options internet". Placez vous dans l'onglet confidentialité et cliquez sur le bouton "site".
Rentrez dans la zone adresse www.memorys.fr, puis cliquez sur autoriser, puis appliquer, puis ok. Vous pouvez maintenant vous identifier. Cette manipulation n'est pas à effectuer à chaque
connection.

    <form action="identification.php" method="post">
     login:

     

     Mot de passe:

     

     
    </form>
    Les utilisateurs du logiciels Opto-Jet sont les seuls habilités à obtenir et à posséder un mot de passe.

  

   Vous n'êtes pas encore enregistré

   

    [enregistrer.php Enregistrez vous]

    Attention, seuls les personnes clientes de la société Memorys ont la possibilité de s'enregistrer, cet enregistrement permettant d'accéder à la page de téléchargement des mises à jour.

   

  

 <?
 }


 ?>
 
<?include("bas.php");?>
0