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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    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
    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
    Membre Expert
    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 : 52

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    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 ?

  3. #3
    Membre averti
    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
    Par défaut
    Coucou, oui c'est toujours d'actualité et franchement je sèche si tu as une idée ?

  4. #4
    Membre Expert
    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 : 52

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    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!

  5. #5
    Membre averti
    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
    Par défaut
    Merci beaucoup je vais testé cela et je te fais un retour

  6. #6
    Membre averti
    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
    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

+ 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, 09h29
  2. [Sécurité] php + ldap
    Par XtofRoland dans le forum Langage
    Réponses: 2
    Dernier message: 23/01/2006, 12h41
  3. [Sécurité] PHP LDAP
    Par ripou dans le forum Langage
    Réponses: 2
    Dernier message: 24/10/2005, 18h00
  4. Hs connection Ldap echouee + php
    Par o_live dans le forum Réseau
    Réponses: 4
    Dernier message: 10/12/2004, 16h49

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