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 :
la page admin ou index
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 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 <?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 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
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 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
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"; } ?>
Voila voilou
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"; } } ?>![]()
Partager