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 :

$_SESSION n'est pas lue par ldap


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 388
    Points : 172
    Points
    172
    Par défaut $_SESSION n'est pas lue par ldap
    Bonjour,
    Après avoir enfin réussi à faire fonctionner l'annuaire LDAP, je souhaite maintenant récupérer le login de l'utilisateur connecté de ma page index.php vers ma page menu.php, il suffit normalement pour cela de créer une session et celle-ci peut-être récupérée dans toutes les autres pages.
    La variable que je veux utiliser est : $_SESSION['username'], celle-ci s'affiche normalement dans la page voulue (menu.php) mais je n'arrive pas à l'utiliser dans ma fonction ldap_bind, pourquoi ?
    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 menu.php ------------------------------------>
    <?php
    session_start();
    echo $_SESSION['username';]
    error_reporting(E_ALL);
    ini_set('error_reporting', E_ALL);
    ini_set('display_errors',1);
     
    // config
    $ldapserver = 'ldap://XXXX.XXX.XXX.XXX';
    $ldapuser= $_SESSION["username"];
    $ldappass     = '*********';
    $ldaptree    = "DC=croix-rouge,DC=asso,dc=fr";
     
    // connect
    $ldapconn = ldap_connect($ldapserver) or die("Could not connect to LDAP server.");
    echo $ldapconn;
    ldap_set_option($ldapconn, LDAP_OPT_PROTOCOL_VERSION, 3);
    ldap_set_option($ldapconn, LDAP_OPT_REFERRALS, 0);
     
    if($ldapconn) {
        // binding to ldap server
     
        $ldapbind = ldap_bind($ldapconn, $ldapuser, $ldappass) or die ("Error trying to bind: ".ldap_error($ldapconn)); //L'erreur est ici !!!!!!!!!!!!
     
        // verify binding
        if ($ldapbind) {
            echo "LDAP bind successful...<br /><br />";
     
     
            $result = ldap_search($ldapconn,$ldaptree, "(cn=mesbahiy)") or die ("Error in search query: ".ldap_error($ldapconn));
            $data = ldap_get_entries($ldapconn, $result);
     
     
            // iterate over array and print data for each entry
           // echo '<h1>Show me the users</h1>';
            for ($i=0; $i<$data["count"]; $i++) {
                //echo "dn is: ". $data[$i]["dn"] ."<br />";
    			$users=$data[$i]["cn"][0];			  //nom complet = common name
                echo "User: ". $users ."<br />";
     
    			$nom=$data[$i]["sn"][0];              //nom = surname
                echo "Nom: ". $nom ."<br />";
     
    			$prenom=$data[$i]["givenname"][0];	 //prénom = givenname
                echo "Prénom: ". $prenom ."<br />";
     
     
                if(isset($data[$i]["mail"][0])) {    //mail
    				$email=$data[$i]["mail"][0];
                    echo "Email: ". $email ."<br /><br />";
                } else {
                    echo "Email: None<br /><br />";
                }
     
     
            }
            // print number of entries found
            echo "Number of entries found: " . ldap_count_entries($ldapconn, $result);
        } else {
            echo "LDAP bind failed...";
        }
     
    }
    echo "hello je récupère l'email de Adam : ".$email;
    // all done? clean up
    ldap_close($ldapconn);
    ?>

  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
    Points : 44 155
    Points
    44 155
    Par défaut
    Quelle est l'erreur obtenue ?

  3. #3
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 388
    Points : 172
    Points
    172
    Par défaut
    Merci pour votre réponse.
    Il n'y a pas d'erreur affichée mais tout le code HTML qui vient après ce code PHP n'est pas affiché. Et quand j'affiche le code source de la page, j'ai cette erreur :
    <b>Warning</b>: ldap_bind(): Unable to bind to server: Invalid credentials in <b>C:\Program Files (x86)\Zend\Apache2\htdocs\RLF V21\menu.php</b> on line <b>111</b><br />
    Error trying to bind: Invalid credentials
    C'est-à-dire à la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ldapbind = ldap_bind($ldapconn, $ldapuser, $ldappass) or die ("Error trying to bind: ".ldap_error($ldapconn));

  4. #4
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    Si tu mets le login "en dur", ça fonctionne ?

  5. #5
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 388
    Points : 172
    Points
    172
    Par défaut
    Oui, avec un login écrit directement ça fonctionne.

  6. #6
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 388
    Points : 172
    Points
    172
    Par défaut
    C'est bon, l'erreur était toute bête. J'ai récupéré la variable $username alors que je devais récupérer une autre variable ($ldaprdn) qui contient le $username.
    Solution :
    Dans ma page index.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $ldaprdn = 'crfmail' . "\\" . $username;
    ldap_set_option($ldap, LDAP_OPT_PROTOCOL_VERSION, 3);
    ldap_set_option($ldap, LDAP_OPT_REFERRALS, 0);
    $bind = @ldap_bind($ldap, $ldaprdn, $password);
     
    if ($bind) {
    	$_SESSION["username"] = $ldaprdn;       //Erreur : $_SESSION["username"] = $username; 
    	$_SESSION["password"] = $_POST['password'];
    	header( 'Location: accueil_RLF.php' );		
    } {

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

Discussions similaires

  1. [Mail] Part mais n'est pas reçu par toutes les boites !
    Par GryzzlyJr dans le forum Langage
    Réponses: 3
    Dernier message: 08/06/2007, 00h59
  2. le caractère '_' n'est pas reconnu par le langage SQL
    Par zainab2000 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 27/03/2007, 21h42
  3. [MySQL] MySQL n'est pas chargé par php
    Par elvan49 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 23/11/2006, 17h14
  4. Réponses: 1
    Dernier message: 17/10/2006, 16h05
  5. innerText n'est pas reconnue par FireFox !
    Par faico dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 26/08/2006, 22h51

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