R�cup�ration de variable Javascript - PHP
Bonjour,
Par avance, merci � ceux qui se pencheront sur mon soucis.
a. Projet
Afficher le plan d'un �tage d'un b�timent - ok
Faire en sorte que chaque pi�ce soit cliquable (map et area) - ok
Soit :
Lorsque l'on clique sur une pi�ce, qu'une frame soit mis � jour - ok
Dans cette frame s'affiche la liste des occupants de ce bureau via une requ�te Active Directory - Soucis.
Ou soit :
Je pense que c'est plus compliqu�, mais sinon ne pas utiliser de frame et afficher directement dans chaque area le r�sultat des requ�tes ldap et cela pour chaque pi�ce, d�s que le fichier php "BatA-2eme.php" est charg�.
b. Soucis
* J'aimerai passer une variable du fichier BatA-2eme.php, contenant le num�ro du bureau qui correspond au bureau sur lequel on clic ("area"), vers le fichier requete-ldap.php.
c. Mon arborescence
* MAP
* index.php
* BatA-2eme.php
* requete-ldap.php
* css
* img
* js
� jquery.maphilight.min.js
d. Ressource
http://www.ericmmartin.com/projects/simplemodal-demos/#
https://github.com/kemayo/maphilight
e. index.php
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
<html>
<head>
<title>mappage</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<FRAMESET COLS="30%,70%">
<FRAME SRC="requete-ldap.php" NAME="fenetreA">
<FRAME SRC="BatA-2eme.php" NAME="fenetreB">
</FRAMESET>
</html> |
f. BatA-2eme.php
J'ai essay� de r�cup�rer le "name" de l'area qui vient d'�tre s�lectionne via une fonction javascript (voir variable namearea) pour ensuite la transf�rer dans le fichier requete-ldap.php. Mais dans ce second fichier seul une requete javascript r�cup�re la variable et malheureusement pas php.
Code:
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
|
<html>
<head>
<title>mappage</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script type="text/javascript" src="js/jquery-1.9.0.min.js"></script>
<script type="text/javascript" src="js/jquery.maphilight.min.js"></script>
<script type="text/javascript">$(document).ready(function() {
$(function() {
$('.map').maphilight();
$('#squidheadlink').mouseover(function(e) {
$('#squidhead').mouseover();
}).mouseout(function(e) {
$('#squidhead').mouseout();
}).click(function(e) { e.preventDefault(); });
});
});
</script><br />
<!-- Page styles -->
<link type='text/css' href='css/demo.css' rel='stylesheet' media='screen' />
</head>
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<div id='container'>
<div id='content'>
<img class="map" alt="" src="img/BatA-NIV2.jpg" usemap="#mappage_Map" border="0" >
<map name="mappage_Map">
<area id="A200" title="A200" alt="" coords="370,315,371,409,456,409,456,318" shape="poly" href="#" data-maphilight='{"strokeColor":"00bfff","strokeWidth":2,"fillColor":"00bfff","fillOpacity":0.2}' />
<area ... />
...
</map>
</div>
</div>
</br>
<script type="text/javascript">
var namearea = 0;
$('area').click(function(e) {
namearea = $(this).attr('name');
// alert(namearea);
parent.fenetreA.window.location="requete-ldap.php"
});
</script>
</body>
</html>
</br> |
g. requete-ldap.php
Lorsque je clique sur une area, j'ai bien l'alerte ( alert(desk); ) qui s�ex�cute, mais impossible d'utiliser cette variable (desk) dans php !!!
Code:
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
|
<script type="text/javascript">
desk = window.parent.fenetreB.namearea
if (desk === undefined || desk === null) { }
else { alert(desk); }
</script>
<?php
//$desk = "A210";
$Conf_LDAP_Server = 'xxxx'; // "MyServer.MyDomain";
$Conf_Def_Dom = 'xxxx'; // "MyDomain";
$ldap_server = "ldap://".$Conf_LDAP_Server;
$auth_user = 'xxxx@xxxx';
$auth_pass = 'xxxx';
$FiltreSearch = "(&(objectClass=user)(objectCategory=person)(postOfficeBox=$desk))";
$search = "OU=xxxxx,OU=xxxxx,DC=xxxxx,DC=xxxxx";
$connect = ldap_connect($ldap_server);
ldap_set_option ($connect, LDAP_OPT_REFERRALS, 0) or die('Unable to set LDAP opt referrals');
ldap_set_option($connect, LDAP_OPT_PROTOCOL_VERSION, 3) or die('Unable to set LDAP protocol version');
ldap_bind($connect, $auth_user, $auth_pass);
$sr = ldap_search($connect, $search, $FiltreSearch);
$data = ldap_get_entries($connect, $sr);
$infoLDAP = ldap_get_entries($connect, $sr);
ldap_close($connect);
$info = array(); $nom = array(); $groupe = array();
$body = '<br/><div id="Bureau"><h3>Bureau '.$desk.'</h3><p></p>';
for($i=0,$j=0 ; $i<count($infoLDAP) ; $i++,$j++)
{
if( !empty($infoLDAP[$i]['sn'][0]) && !empty($infoLDAP[$i]['givenname'][0]) && !empty($infoLDAP[$i]['memberof'][0]) )
{
$nom = utf8_encode($infoLDAP[$i]['sn'][0]);
$prenom = utf8_encode($infoLDAP[$i]['givenname'][0]);
$infomail = utf8_encode($infoLDAP[$i]['userprincipalname'][0]);
$body .= '<br/>'.$nom;
$body .= '<br/>'.$prenom;
$body .= '<br/>'.$infomail;
$body .= '<br/>'.'<br/>';
}
else { $j--; }
}
echo $body.'</div>';
?> |
Merci � ceux qui pourront me guider ou me solutionner ce soucis.
Cdt
++