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 :

récupérer un identifiant avec les sessions


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2007
    Messages : 29
    Par défaut récupérer un identifiant avec les sessions
    Bonjour,

    Voilà mon histoire:

    Après s'être authentifié avec son login et son mot de passe, un utilisateur laisse un message sur un forum. Lorsqu'il laisse son message, je voudrais enregistrer dans ma base de données l'identifiant qui correspond à son login (pas son login donc, mais juste le chiffre qui y correspond).

    J'ai essayé de faire ça avec les sessions en utilisant ce code dans la page du message:
    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
     
    session_start(); 
     
     //connexion au serveur 
    include("connexion.php"); 
     
     
    //Connection à mysql et sélection de la base de données 
    $select = mysql_select_db($studio); 
     
     
     
     //récupération des valeurs des champs: 
     
         // c'est le cas d'une réponse 
        $idForum = $_GET["forum"]; 
        $idDiscussion = $_GET["discussion"]; 
        $Message_idMessage = $_GET["parent"]; 
     
     
     
     
      //Sujet: 
      $Sujet = $_POST['Sujet'] ; 
      //Contenu: 
      $Contenu = $_POST['Contenu']; 
      //Type de message: 
      $LibelleTypeMessage = $_POST['idTypeMessage']; 
      //Qualifiant: 
      $LibelleQualifiant = $_POST['idQualifiant']; 
      //Date de création du message: 
      $DateCreation=date("d/m/Y");  
      //Fichier Attaché: 
      $FichierAttache = $_FILES["FichierAttache"]["name"]; 
      // Login: 
      $Utilisateur_idUtilisateur = $_SESSION['idUtil'];  
     
     
      // On vérifie si les champs sont vides  
    if(empty($Sujet) OR empty($Contenu))  
        {  
        echo '<font color="red">Attention,certains champs sont restés vides !</font>';  
        }  
     
        // Aucun champ n'est vide, on peut enregistrer dans la table  
    else       
        {  
     
    //création de la requête SQL- insertion des champs dans la BDD 
      $requete = "INSERT INTO message (idMessage, Utilisateur_idUtilisateur,Discussion_idDiscussion, Message_idMessage, Sujet, Contenu, FichierAttache, DateCreation,TypeMessage_idTypeMessage, Qualifiant_idQualifiant) VALUES ('','$Utilisateur_idUtilisateur','$idDiscussion','$Message_idMessage','$Sujet','$Contenu','$FichierAttache', now(), '$LibelleTypeMessage', '$LibelleQualifiant')" ;
    Dans mes fichiers de sessions j'ai la donnée suivante:
    idUtil|s:1:"6";
    c'est donc le 6 que je voudrais insérer dans ma table message.

    J'imagine bien que quelqu'un va me répondre "rien de plus simple!", et je n'en doute pas, mais étant débutante en php, et même après avoir passé des semaines à lire les tutoriels et les documentations, je n'y arrive toujours pas

    J'espère que vous pourrez m'aider....

  2. #2
    Membre Expert
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 507
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 507
    Par défaut
    salut,
    je ne sais pas si ca va résoudre ton probleme :

    as tu une table "utilisateurs" si c'est la cas, ajoute une colone (cléf primaire) "id_utilisateur" que tu mets en auto increment

    avant d'insérer ton utilisateur, fais des test pour savoir s'il existe

    après, tu récupère son id avec une simple requete lors de son autentification
    GL
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  3. #3
    Membre émérite
    Avatar de viviboss
    Profil pro
    Inscrit en
    Août 2006
    Messages
    943
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Août 2006
    Messages : 943
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      $Utilisateur_idUtilisateur = $_SESSION['idUtil'];
    D'ou vient ta variable de session ? Qu'est ce que tu y a entré ?

    Sinon, utilise un preg_match (expression rationnelles) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $exp="/^idUtil\|s:[0-9]+:\"[0-9]+\"/";
    $tabdonne=preg_match($exp, $_SESSION['idUtil']);
    ca devrait marcher....
    Veni Vidi Vici
    -------------------------
    Mes articles : developpez.com ou bien vbview.net
    -------------------------
    Et SURTOUT ne pas oublier la bible PHP : --> php_manual_fr.chm!!!
    Et aussi : --> pear_manual_fr.chm!!!

    Ou encore : --> Les tutoriaux & cours PHP de Développez.com
    -------------------------

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2007
    Messages : 29
    Par défaut les preg_match?
    Bonjour,
    Je ne connais pas bien les preg_match, je n'en ai jamais utilisé.
    Si j'insère le code que tu me proposes ça devrait marcher?

    Je vais essayer et je vous tiens au courant....

  5. #5
    Membre émérite
    Avatar de viviboss
    Profil pro
    Inscrit en
    Août 2006
    Messages
    943
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Août 2006
    Messages : 943
    Par défaut
    note :

    $tabdonne dans mon code est un tableau récupérant deux type de données : le premier chiffre, et l'id en fin....
    Veni Vidi Vici
    -------------------------
    Mes articles : developpez.com ou bien vbview.net
    -------------------------
    Et SURTOUT ne pas oublier la bible PHP : --> php_manual_fr.chm!!!
    Et aussi : --> pear_manual_fr.chm!!!

    Ou encore : --> Les tutoriaux & cours PHP de Développez.com
    -------------------------

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2007
    Messages : 29
    Par défaut
    j'ai vu sur une autre discussion, qu'il était possible d'utiliser

    session_id();

    j'ai lu la documentation correspondante, ça a l'air pas mal. Mais je me pose une question

    Est ce que le résultat sera le même? avec session_id() j'arrive enfin à insérer quelque chose dans ma base de données, mais l'id ne correspond pas au nom d'utilisateur.
    Si vous me dîtes que c'est la même chose, que ça marche de la même manière avec session_id() alors il se peut que le problème vienne de ce que mes coéquipiers ont programmé, et dans ce cas, je verrai avec eux.

    En tout cas, alors qu'auparavant je n'arrivais pas à récupérer un identifiant, maintenant j'y arrive. Voilà la qestion pos&ée plus clairement: session_id() permet-il de récupérer l'identifiant de l'utilisateur connecté?

    Merci de me le confirmer ....

    Et Vive les forums et leurs utilisateurs! Vous êtes d'une aide et d'une générosité précieuse!

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

Discussions similaires

  1. [MySQL] Récupérer des données avec les SESSIONS
    Par dylanms dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 18/04/2009, 12h00
  2. fonctionne avec les sessions pas avec le reste
    Par hugo69 dans le forum Langage
    Réponses: 6
    Dernier message: 22/11/2005, 10h38
  3. Problèmes avec les Sessions
    Par alexthomas dans le forum Langage
    Réponses: 5
    Dernier message: 20/11/2005, 22h53
  4. [Sécurité] securite avec les sessions.
    Par krapoulos dans le forum Langage
    Réponses: 7
    Dernier message: 05/11/2005, 15h41
  5. Problème avec les sessions
    Par philippef dans le forum Langage
    Réponses: 2
    Dernier message: 27/10/2005, 16h19

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