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

Bibliothèques et frameworks PHP Discussion :

[LDAP] Formulaire PHP / LDAP


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Novembre 2016
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2016
    Messages : 17
    Points : 8
    Points
    8
    Par défaut [LDAP] Formulaire PHP / LDAP
    Bonjour les amis,

    Je viens d intégré un serveur ldap a mon raspberry, jusqu'ici tout va bien, en allant piocher a droite et a gauche sur le net j'ai a peu pres en place un script en php qui permettrait a mes users de créé eux meme leur annuaire afin d'alimenter nos sip phone

    seulement voila la je butte je ne comprends pas ou ca merdois mais je voudrais que mes users créé leur contacts et ca ne fonctionne pas.

    La suppression ou la modification ne fonctionne pas non plus, si il y avait une ame charitable pour m'aider, de plus je n'ai pas trouver d'autres script tout pret à l'emploi alors celui-ci une fois bien modifier fera certainement beaucoup d'heureux

    Voici toutes les pages concernant le script :

    la page header :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    // Fichier de configuration pour l'interface PHP pour administrer // notre annuaire LDAP 
    $server = "192.168.50.48"; 
    $port ="389"; 
    $racine = "dc=ltc,dc=com"; 
    $rootdn = "cn=admin,dc=ltc,dc=com"; 
    $rootpw ="ltcs1721";
    ?>
    la page admin ou index :

    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
    <?php
     	// affichage du haut de la page contenu dans le fichier header.php
     	require("header.php");
     
    	 echo "<center><B>PAGE CONTACTS</B></center><p>";
     
    	 echo "Les personnes suivantes sont inscrites dans l'annuaire :<p>";
     
     	// connexion au serveur LDAP : ds est égal à 1 si la connexion est OK	 		  
     	$ds=ldap_connect($server);
     
     	if ($ds==1)
     	{
     	// on recherche les objet de type person à partir de la racine
     	// de notre serveur LDAP, ici : o=commentcamarche, c=fr
     	$sr=ldap_search($ds, $racine, "objectclass=person");
     
     	$info = ldap_get_entries($ds, $sr);
     
     	echo "<table border=1>";
     
     	echo "<tr>
           <th>Nom et prénom</th>
           <th>Téléphone</th>
           <th>Mobile</th>
           <th>Mail</th>
          </tr>";
     
        // on affiche sous forme d'un tableau les personnes enregistrées	
        // dans l'annuaire avec un lien pour modifier et un lien pour supprimer
        for ($i=0;$i<$info["count"];$i++)
        {
        $mynom = $info[$i]["cn"][0];
     
        $mytel = $info[$i]["telephoneNumber"][0];
     
    	$mymobile = $info[$i]["mobile"][0];
     
    	$mymail = $info[$i]["mail"][0];
     
        echo "<tr><th>$mynom</th><th>$mytel</th><th>$mymobile</th><th>$mymail</th></tr>";
     
        $mynom=urlencode($mynom);
     
        echo" <th><a href=modifie.php?cn=$mynom\">
    
    	Modifier</a></th>";
     
        echo" <th><a href=supprime.php?cn=$mysn\">
    
    	Supprimer</a></th></tr>";
     
        }
        echo"</table>";
        echo "<a href=\"ajoute.php\">Ajouter une
        nouvelle personne dans l'annuaire</a>";
     
        }
     
        // on ferme la connexion au serveur LDAP
        ldap_close($ds);
     
    ?>
    la page modifie :
    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
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    <?php
       // on affiche le haut de la page contenu dans le fichier header.php
       require("header.php");
     
       echo "<center><B>MODIFIER CONTACT</B></center><p>";
     
       $cn=urldecode($cn);
       if (($go==1) and ($sn!=""))
       {
     
        // connexion au serveur
        $ds=ldap_connect($server);
    	if ($ds==1)
        {
     
    	// on s'authentifie en tant que super-utilisateur, ici, ldap_admin
    	$r=ldap_bind($ds,$rootdn,$rootpw);
     
        // Suppression de l'ancien enregistrement
    	$r=ldap_delete($ds,"cn=$cn,$racine");
     
      	// Préparation des données
        $info["cn"]=$cn;
        $info["mail"]=$mail;
        $info["telephonenumber"]=$tel;
        $info["objectclass"]="person";
     
        // Ajout dans l'annuaire
        $r=ldap_add($ds,"cn=$cn,$racine",$info);
     
        echo "<P><A HREF=\"admin.php\">Retourner
    	à la page d'administration</A>\n";
     
    	// fermeture de la connexion à l'annuaire LDAP
        ldap_close($ds);
        $go==0;
        $nom=="";
        $prenom="";
        $mail="";
        $tel="";
        echo "La modification a réussi !!!\n";
     
        }
     } else {
     if ($go==1)
       {
        $mes="ERREUR ! Vous devez obligatoirement remplir le champ mail";
        echo "<FONT COLOR=FF0000>$mes</FONT>\n";
     }
     
       // connexion au serveur
       $ds=ldap_connect($server);
     if ($ds)
       {
        $recherche="cn=$cn";
     
        $champs = array("cn", "telephonenumber", "mail");
     
        // recherche les informations de la personne que l'on veut modifier
        $sr=ldap_search($ds, $racine, $recherche, $champs);
    	$num= ldap_get_entries($ds,$sr);
    	if ($num["count"]>0)
        {
        $mynom = $num[0]["cn"][0];
        $myemail = $num[0]["mail"][0];
        $mymobile = $num[0]["mobile"][0];
        $mytel = $num[0]["telephonenumber"][0];
     
    	echo "<FORM ACTION=\"modifie.php\" METHOD=POST>\n";
     
        echo "<TABLE BORDER=0>\n";
     
        echo "<TR><TD> <B>Modification de l'utilisateur : $cn</B></TD>\n";
     
    	echo "<TR><TD> <B>SN</B></TD>\n";
     
        echo "<TD><INPUT TYPE=\"text\" NAME=\"sn\" value=\"$mymobile\"
    SIZE=40 maxlength=80><BR></TD></TR>\n";
     
        echo "<TR><TD> Téléphone</TD>\n";
     
        echo "<TD><INPUT TYPE=\"text\" NAME=\"tel\" value=\"$mytel\"
    SIZE=40 maxlength=255><BR></TD></TR>\n";
     
        echo "</TABLE>\n";
     
    	echo "<INPUT type=\"hidden\" name=\"cn\" value=\"$cn\"><BR><BR>\n";
     
        echo "<INPUT type=\"hidden\" name=\"go\" value=\"1\"><BR><BR>\n";
     
        echo "<INPUT type=\"submit\" value=\"Modifier\">\n";
     
        echo "<INPUT type=\"reset\" value=\"Annuler\">\n";
     
    	echo "</FORM>\n";
     
        echo "<BR>Le champ <B>Mail</B> est obligatoire.\n";
     
       } else {
     
        echo "Erreur ! La recherche n'a pas aboutie";
     
       }
     
        } else {
        echo "Erreur ! Problème à la connexion avec le serveur LDAP";
     
       }
       }
     
    ?>
    la page ajoute :
    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
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    <?php
    // on affiche le haut de la page contenu dans le fichier header.php
    require("header.php");
     
    	echo "<center><B>AJOUT CONTACT</B></center><p>";
     
    	// connexion au serveur
    	$ds=ldap_connect($server);
     
       	if (($go==1) and ($nom!="") and ($prenom!="") and ($mail!=""))
       	{
     
     	if ($ds==1)
     	{
      	// on s'authentifie en tant que super-utilisateur, ici, ldap_admin
    	$r=ldap_bind($ds,$rootdn,$rootpw);
     
        // préparation des données
    	$info["cn"]=$nom." ".$prenom;
      	$info["mail"]=$mail;
      	$info["telephoneNumber"]=$tel;
      	$info["mobile"]=$mobile;
      	$info["objectclass"]="inetOrgPerson";
      	$info["objectclass"]="top";
     
      	// ajout dans l'annuaire
        $r=ldap_add($ds,"cn=$prenom $nom,$racine",$info);
     
        // fermeture de la connexion
    	ldap_close($ds);
     
    	$go==0;
    	$nom=="";
    	$prenom="";
    	$mail="";
    	$tel="";
    	$mobile="";
     
    	echo "L'enregistrement a réussi !!!\n";
     
    	echo "<P><A HREF=\"ajoute.php\">Ajouter
    	une nouvelle personne</A>\n";
     
    	}
    	} else {
    	if ($go==1)
    	{
    	$mes="ERREUR ! Vous devez obligatoirement remplir les champs en gras";
    	echo "<FONT COLOR=FF0000>$mes</FONT>\n";
      	}
     
      	echo "<FORM ACTION=\"admin.php\" METHOD=POST>\n";
      	echo "<TABLE BORDER=0>\n";
     
      	echo "<TR><TD> <B>Nom *</B></TD>\n";
      	echo "<TD><INPUT TYPE=\"text\" NAME=\"nom\"
      	value=\"$nom\" SIZE=30 maxlength=80><BR></TD></TR>\n";
     
      	echo "<TR><TD> <B>Prénom *</B></TD>\n";
      	echo "<TD><INPUT TYPE=\"text\" NAME=\"prenom\"
      	value=\"$prenom\" SIZE=30 maxlength=80><BR></TD></TR>\n";
     
      	echo "<TR><TD> <B>E-Mail *</B></TD>\n";
      	echo "<TD><INPUT TYPE=\"text\" NAME=\"mail\"
      	value=\"$mail\" SIZE=40 maxlength=80><BR></TD></TR>\n";
     
      	echo "<TR><TD> Téléphone</TD>\n";
      	echo "<TD><INPUT TYPE=\"text\" NAME=\"tel\"
      	value=\"$tel\" SIZE=40 maxlength=255><BR></TD></TR>\n";
     
      	echo "<TR><TD> Mobile</TD>\n";
      	echo "<TD><INPUT TYPE=\"text\" NAME=\"mobile\"
      	value=\"$mobile\" SIZE=40 maxlength=255><BR></TD></TR>\n";
     
      	echo "</TABLE>\n";
      	echo "<INPUT type=\"hidden\" name=\"go\" value=\"1\"><BR><BR>\n";
      	echo "<INPUT type=\"submit\" value=\"Valider\">\n";
      	echo "<INPUT type=\"reset\" value=\"Annuler\">\n";
      	echo "</FORM>\n";
      	echo "<BR>Les champs en <B>gras</B> suivis d'une étoile sont obligatoires.\n";
     
      	echo "<P><A HREF=\"admin.php\">Retourner
    	à la page d'administration</A>\n";
     
      }
     
    ?>
    la page supprime :
    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
    <?php
    // on affiche le haut de la page contenu dans le fichier header.php
    require("header.php");
     
    echo "<center><B>SUPPRIMER CONTACT</B></center><p>";
     
    $cn=urldecode($cn)
     
    if ($go==0) {
     echo "Etes-vous sur de vouloir supprimer l'utilisateur $cn<br>\n";
     
     $cn=urlencode($cn);
     
     echo "<A HREF=\"supprime.php?go=1&cn=$cn\">oui</A><BR>\n";
     
     echo "<A HREF=\"admin.php\">non</A><BR>\n";
     
     echo "<P><A HREF=\"admin.php\">Retourner
      à la page d'administration</A>\n";
     
     }
    else {
     $cn=urldecode($cn);
     
     // connexion au serveur LDAP
     $ds=ldap_connect($server);
     
     if ($ds==1) {
      // on s'authentifie en tant que super-utilisateur, ici, ldap_admin
      $r=ldap_bind($ds,$rootdn,$rootpw);
     
      // Suppression de l'ancien enregistrement
      $r=ldap_delete($ds,"cn=$cn,$racine");
     
      echo "La suppression a réussi !!!\n";
     
     }
    }
     
    ?>
    Voila voilou

  2. #2
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Bonjour

    Si ton problème est toujours d'actualité...

    Comment fais-tu pour récupérer les données saisies dans ta page "admin" ?
    Il ne m'a pas semblé voir un $_REQUEST ou un $_POST... est-ce normal ?
    De retour parmis vous après 10 ans!!

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Novembre 2016
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2016
    Messages : 17
    Points : 8
    Points
    8
    Par défaut
    Coucou, oui c'est toujours d'actualité et franchement je sèche si tu as une idée ?

  4. #4
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Bonjour.

    Je vais être honnête, il y a beaucoup trop d'erreurs et d'incohérences dans ton code; Il faudrait tout reprendre selon moi!
    Malgré tout, je peux te proposer de tenter une solution de dépannage.
    Essaye le code suivant dans ta page header.php....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    // Fichier de configuration pour l'interface PHP pour administrer // notre annuaire LDAP
    $server = "192.168.50.48";
    $port ="389";
    $racine = "dc=ltc,dc=com";
    $rootdn = "cn=admin,dc=ltc,dc=com";
    $rootpw ="ltcs1721";
     
    $sn = isset($_POST['sn']) ? $_POST['sn'] : '';
    $tel = isset($_POST['tel']) ? $_POST['tel'] : '';
    $cn = isset($_POST['cn']) ? $_POST['cn'] : '';
    $go = isset($_POST['go']) ? $_POST['go'] : '';
    Ce qu'il faut comprendre, c'est que lorsqu'on utilise un formulaire, il faut récupérer les champs saisis un moment donné ou un autre.
    Si il te manque ces bases, je te conseille vivement de lire au moins ceci :

    https://php.developpez.com/faq/?page=formulaires
    http://beaussier.developpez.com/articles/php/ldap/

    Bon courage!
    De retour parmis vous après 10 ans!!

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Novembre 2016
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2016
    Messages : 17
    Points : 8
    Points
    8
    Par défaut
    Merci beaucoup je vais testé cela et je te fais un retour

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Novembre 2016
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2016
    Messages : 17
    Points : 8
    Points
    8
    Par défaut
    Re

    Bon ca ne passe pas plus ca devient bcp trop compliquer pour moi, connaitrais tu un manager ldap assez simple pour que mes utilisateurs puissent creer de nouvelles personnes pour alimenter mes sip phone

  7. #7
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Bonjour.

    J'ai quelques questions :

    1) As-tu au moins essayé de remplacer ton script header.php par le code que je t'ai donné ?

    2) Si oui, quel est le résultat ?

    3) Dans quel cadre dois-tu réaliser ce formulaire ?
    De retour parmis vous après 10 ans!!

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Novembre 2016
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2016
    Messages : 17
    Points : 8
    Points
    8
    Par défaut
    MERCI encore ... en fait mon message d'avant voulais surtout dire que je ne voulais pas t'embêter.

    1) et 2) oui j'ai changé le header comme tu me l'as conséillé :
    même résultat, je ne peux ajouter un contact, le formulaire s'affiche tres bien mais rien ne se passe dans le ldap.
    Pareil pour modifier ou supprimer.
    3) en fait je voulais réaliser un formulaire tres simple pour que mes utilisateurs puissent renseigner un ldap afin de pouvoir alimenter mes sip phones (grandstream et snom).
    J'aurais juste besoin d'une interface qui liste les personnes dans le ldap et qu'on puisse les modifier ou en rajouter.
    Voilou

  9. #9
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    OK. Pas de souci, les membres du forum sont là pour t'aider.

    Je te conseille vivement de reprendre ton dev du début et de t'inspirer de codes existants car on en trouve quelques uns sur le web...
    ► Avec Google, recherche "php formulaire ldap".

    Par contre, si tu veux vraiment le faire entièrement toi-même (et c'est tout à ton honneur), il faut au moins maîtriser les formulaires avec PHP et là, c'est le cours que je t'ai donné...

    A toi de voir. Tiens-nous au courant
    De retour parmis vous après 10 ans!!

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Novembre 2016
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2016
    Messages : 17
    Points : 8
    Points
    8
    Par défaut
    Merci encore l'ami en cherchant sur le web j'ai trouvé ce script je l'ai adapté a mon ldap mais ca n'enregistre toujours pas mon nouvel utilisateur peux tu m'aider je pense que le script est plus simple mais apparemment cela ne fonctionne pas

    le script :
    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
    <html>
    <head>
    <link rel = "stylesheet" type = "text/css" href = "stylesheets/stylesheet.css">
    <title>TheUrbanPenguin PHP LDAP Add</title>
    </head?
    <body>
    <h1> Adding LDAP User</h1>
    <hr>
    <?php
     
    $cn = htmlspecialchars($_POST['username']);
    $givenName = htmlspecialchars($_POST['firstname']);
    $surname = htmlspecialchars($_POST['lastname']);
    echo "Adding user: $cn " . '<br>';
     
    $ds = ldap_connect("192.168.50.38") or die ("Could not connect to LDAP Server");
    if ($ds) {
    $r = ldap_bind($ds,"cn=admin","ltcs1721");
     
    $info["cn"] = $cn;
    $info["givenName"] = $givenName;
    $info["surname"] = $surname;
    $info["objectClass"] = "inetOrgPerson";
    $r = ldap_add($ds,"cn=$cn,ou=Users,dc=ltc,dc=com",$info);
    $sr = ldap_search($ds,"dc=ltc,dc=com","cn=$cn");
    $info = ldap_get_entries($ds,$sr);
    echo "The user:<span class='result'> " . $info[0]["dn"] . "</span> has been created. <br>";
    }
    ldap_close($ds);
    ?>
    <hr>
    <a href = "ldapadduser.html">Add another user</a>
    </body>
    </html>
    mon arbre ldap :

    Connecté en tant que :: cn=admin

    +--> dc=ltc,dc=com (2)
    ---> cn=admin
    ---> ou=Users

  11. #11
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Bonjour.

    1) Tiens ce n'est plus la même ip que dans ton premier code ?

    2) Où est le code du formulaire ?

    3) Dans le code que tu as donné, récupères-tu bien les infos que tu postes ?
    Tu peux tester avec ce code à insérer à la ligne 10 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<pre>'; print_r($_POST); die('</pre>');
    De retour parmis vous après 10 ans!!

  12. #12
    Futur Membre du Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Novembre 2016
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2016
    Messages : 17
    Points : 8
    Points
    8
    Par défaut
    Coucou alors oui ca a changé d'ip pour la bonne est simple raison que je l'ai mis sur une autre machine donc le code html je pensais pas forcément utile mais bien sur que je peux le poster


    ladadduser.html :

    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
    <html>
    <head>
    <link rel = "stylesheet" type = "text/css" href = "stylesheets/stylesheet.css">
    <title>Ajouter Contact</title>
    <body>
    <h1>Ajouter Contact</h1>
    <hr>
    <form action = "ldapadduser.php" method = "post">
    <p>
    <label for="username">Username:</label> <input type="text" class="input" id="username" name="username">
    <br><label for = "firstname">First Name:</label> <input class = "input" type ="text" id = "firstname" name="firstname" >
    <br><label for="lastname">Last Name:</label> <input class="input" type ="text" id = "lastname" name="lastname">
    <br><label>&nbsp</label><input type="submit" value="Ajouter" class="button">
    </p>
    </form>
    </body>
    </head>
    </html>
    et donc

    ladadduser.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
     
    <html>
    <head>
    <link rel = "stylesheet" type = "text/css" href = "stylesheets/stylesheet.css">
    <title>TheUrbanPenguin PHP LDAP Add</title>
    </head>
    <body>
    <h1>Contact ajouter dans le répertoire</h1>
    <hr>
    <?php
    $cn = htmlspecialchars($_POST['username']);
    $givenName = htmlspecialchars($_POST['firstname']);
    $surname = htmlspecialchars($_POST['lastname']);
    echo "Contact ajouté: $cn " . '<br>';
    echo '<pre>'; print_r($_POST); die('</pre>');
     
    $ds = ldap_connect("192.168.50.12") or die ("Could not connect to LDAP Server");
    if ($ds) {
    $r = ldap_bind($ds,"cn=admin,dc=ltc,dc=com","ltcs1721");
     
    $info["cn"] = $cn;
    $info["givenName"] = $givenName;
    $info["surname"] = $surname;
    $info["objectClass"] = "inetOrgPerson";
     
    $r = ldap_add($ds,"cn=$cn,ou=users,dc=ltc,dc=com",$info);
    $sr = ldap_search($ds,"dc=ltc,dc=com","cn=$cn");
    $info = ldap_get_entries($ds,$sr);
    echo "Le Contact:<span class='result'> " . $info[0]["dn"] . "</span> à été ajouté. <br>";
    }
    ldap_close($ds);
    ?>
    <hr>
    <a href="ldapadduser.html"> <button>Ajouter Nouveau Contact</button> </a>
    </body>
    </html>
    Donc pour info avec les lignes que m'as fait ajouté il me dit ca :

    Contact ajouté: test
    Array
    (
    [username] => test
    [firstname] => test
    [lastname] => test
    )

    Mais absolument rien ne se rajoute dans mon ldap, je deviens fou LOL

  13. #13
    Futur Membre du Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Novembre 2016
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2016
    Messages : 17
    Points : 8
    Points
    8
    Par défaut
    MERCI encore pour l'aide

    Bon j'ai résolu mon problème, en fait en mettant l'état de connexion à mon ldap je me suis rendu compte qu'en fait je ne me connectais pas du tout à mon ldap !


    voila je mets ici le code qui fait que cela fonctionne beaucoup mieux

    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
    <html>
    <head>
    <link rel = "stylesheet" type = "text/css" href = "stylesheets/stylesheet.css">
    <title>LDAP</title>
    </head?
    <body>
    <h1> AJOUTER CONTACT</h1>
    <hr>
    <?php
    $cn = htmlspecialchars($_POST['prenom']);
    //$givenName = htmlspecialchars($_POST['firstname']);
    $nom = htmlspecialchars($_POST['nom']);
    $mobile = htmlspecialchars($_POST['mobile']);
    $telephone = htmlspecialchars($_POST['telephone']);
     
    echo "Contact ajouté: $cn " . '<br>';
     
    include("config.php");
     
    ///Connexion au serveur LDAP
    $ds = ldap_connect($ldap_host)
        or die("Impossible de se connecter au serveur LDAP.");
        ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
     
    if ($ds) {
    //$r = ldap_bind($ds,$ldap_dn,$ldap_password);
        //Connexion au serveur LDAP
    $ldapbind = ldap_bind($ds, $ldap_dn, $ldap_password);
     
    //Suis connecté ou pas ?
    // if ($ldapbind) {
    //        echo 'Connexion LDAP  réussie';
    //    } else {
    //        echo 'Connexion LDAP  échouée';
    //    }
    $info["cn"] = $cn;
    //$info["givenName"] = $givenName;
    $info["surname"] = $nom;
    $info["mobileTelephoneNumber"] = $mobile;
    //$info["objectClass"] = "top";
    $info["objectClass"] = "inetOrgPerson";
    $info["telephoneNumber"] = $telephone;
     
    $r = ldap_add($ds,"cn=$cn,ou=users,dc=ltc,dc=com",$info);
    $sr = ldap_search($ds,"dc=ltc,dc=com","cn=$cn");
    $info = ldap_get_entries($ds,$sr);
    echo "Le contact:<span class='result'> " . $info[0]["dn"] . "</span> à bien été ajouté. <br>";      
    }
    ldap_close($ds);
    ?>
    <hr>
    <a href = "ldapadduser.html">AJOUTER UN AUTRE CONTACT</a></br>
    <a href = "index.php">ACCUEIL</a>
    </body>
    </html>
    Bon voila si ca peut en aider quelques un !

    j'ai aussi fait un .php avec une fonction effacement si ca interresse quelqu'un je mettrais tout les scripts que j'ai fais

    j'ai encore quelques problèmes à régler mais bon ca devient du tout bon

  14. #14
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Bonjour.

    Je suis content que tu ais progressé et surpassé toutes ces difficultés.
    Quand tu estimeras que tout est ok, tu pourras tagger ce post résolu.

    A+
    De retour parmis vous après 10 ans!!

  15. #15
    Futur Membre du Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Novembre 2016
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2016
    Messages : 17
    Points : 8
    Points
    8
    Par défaut
    Coucou je ne l'ai pas taggé en résolu car ca n'est pas le cas , j'ai bien avancer mais il me manque 2 ou 3 petites choses

    j'arrive a afficher les données de mon ldap sous forme de tableau mais alors bizarrement le telephoneNumber n'apparait pas quel est mon problème ?

    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
    <html>
    <head>
    <link rel = "stylesheet" type = "text/css" href = "stylesheets/stylesheet.css">
    <title>LDAP</title>
    <body>
    <h1 align=center>CONTACTS</h1>
    <hr>
    <?php
     	// affichage du haut de la page contenu dans le fichier header.php
     	include("config.php");
     
    	 echo "Les personnes suivantes sont inscrites dans le répertoire :<p>";
     
     	///Connexion au serveur LDAP
    $ds = ldap_connect($ldap_host)
        or die("Impossible de se connecter au serveur LDAP.");
        ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
     
    if ($ds) {
    //$r = ldap_bind($ds,$ldap_dn,$ldap_password);
        //Connexion au serveur LDAP
    $ldapbind = ldap_bind($ds, $ldap_dn, $ldap_password);
     	//if ($ds==1)
     
     	// on recherche les objet de type person à partir de la racine
     	// de notre serveur LDAP, ici : dc=ltc, c=com
     	$sr=ldap_search($ds, $racine, "objectclass=inetOrgPerson");
     
     	$info = ldap_get_entries($ds,$sr);
     
     	echo "<table border=1>";
     
     	echo "<tr>
           <th>Prénom</th>
           <th>Nom</th>
           <th>Téléphone</th>
           <th>Mobile</th>
          </tr>";
     
        // on affiche sous forme d'un tableau les personnes enregistrées	
     
        for ($i=0;$i<$info["count"];$i++)
        {
        $mynom = $info[$i]["cn"][0];
     
        $mynoms = $info[$i]["sn"][0];
     
        $mytel = $info[$i]["telephoneNumber"][0];
     
    	$mymobile = $info[$i]["mobile"][0];
     
    	echo "<tr><th>$mynom</th><th>$mynoms</th><th>$mytel</th><th>$mymobile</th></tr>";
     
        //$mynom=urlencode($mynom);
    	}
    	}
    	// on ferme la connexion au serveur LDAP
        ldap_close($ds);
    ?>
    <a href = "ldapadduser.html">AJOUTER UN CONTACT</a></br>
    <a href = "ldapuserdel.html">EFFACER UN CONTACT</a>
    </body>
    </html>

    as tu une solution ? le reste s'affiche trés bien ! et donc dans mon arbre on voit ca :

    cn requis, rdn

    christophe
    *

    (ajouter une valeur)
    (renommer)
    givenName

    christophe

    (ajouter une valeur)
    mobile

    0651156747

    (ajouter une valeur)
    objectClass requis
    Info
    inetOrgPerson
    (structurel)
    Info
    top

    (ajouter une valeur)
    sn requis

    marquez

    (ajouter une valeur)
    Telephone alias

    0228103306

  16. #16
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    • A priori, c'est un problème de nommage...
    Discipline & rigueur : Force toi à utiliser des noms de variables identiques dans tout ton code, ça peut éviter des erreurs très souvent.
    Par exemple, telephone = $telephone, $info['telephone'], $infos[$i]['telephone'] ...

    • Au passage, évite d'utiliser des guillemets lorsque ça n'est pas nécessaire. En effet, les chaines de caractères encadrées par des doubles quotes sont interprétées.
    Plus d'explications ici : http://pbnaigeon.developpez.com/tuto...phe-guillemet/

    • Pour vérifier si un tableau PHP contient bien un élément spécifique, utilise ce code par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<pre>'; print_r($infos[$i]); die('</pre>');
    De retour parmis vous après 10 ans!!

  17. #17
    Futur Membre du Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Novembre 2016
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2016
    Messages : 17
    Points : 8
    Points
    8
    Par défaut
    Merci encore l'ami c'est vrai que je ne suis pas tres discipliné je vais refaire ca au propre

  18. #18
    Futur Membre du Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Novembre 2016
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2016
    Messages : 17
    Points : 8
    Points
    8
    Par défaut
    Merci encore , j'ai fais les choses plus propre et tu sais quoi ca fonctionne !!!! je passe "en résolu" tout est ok MERCI encore

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

Discussions similaires

  1. [Sécurité] probleme intranet php ldap
    Par anto48_4 dans le forum Langage
    Réponses: 9
    Dernier message: 10/03/2006, 10h29
  2. [Sécurité] php + ldap
    Par XtofRoland dans le forum Langage
    Réponses: 2
    Dernier message: 23/01/2006, 13h41
  3. [Sécurité] PHP LDAP
    Par ripou dans le forum Langage
    Réponses: 2
    Dernier message: 24/10/2005, 19h00
  4. Hs connection Ldap echouee + php
    Par o_live dans le forum Réseau
    Réponses: 4
    Dernier message: 10/12/2004, 17h49

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