PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 24-09-2010 14:58:58

dekker
Membre
Inscription : 24-09-2010
Messages : 1

Recherche dans une base de donnée

Bonjour à tous [smile]

Je vous présente un pb sur lequel je bloque depuis une semaine, je commence le php depuis 1 mois et bloque complètement sur une fonction.

Cette fonction doit , une fois le login et le mdp entré, vérifier dans une base de donnée (qui est sur un autre serveur) si cette combinaison est bonne. Si elle est bonne, (cela signifie que l'utilisateur est administrateur) l'utilisateur doit pouvoir accéder à un contenu réservé à des administrateurs.
Pour ce faire, j'ai crée une variable $auth qui vaut -1 si l'utilisateur est inconnu ou 1 si il est reconnu.

Structure du site.
La page index.php appelle le header, le corps (page(=main.php pour la page d'accueil avec la fonction d'authentification))et le footer.

Ensuite, j'ai ma fonction de vérification qui vient chercher le login et le password sur un serveur (ldap), cette fonction est dans la page session.inc.php et m'a été donnée par l'administarteur réseau, elle fonctionne.

Voila, ce que je n'arrive pas à faire est d'effectuer le changement de la variable $auth qui doit passer de -1 à 0 si l'utilisateur à été authentifié comme administarteur par le serveur ldap.

Lorsque je lance le code suivant, aussi bien ie5 que mozilla m'affiche Array0. je ne comprend pas ce que ca veut dire et bien etendu, je ne trouve pas mon erreur [ohwell]
je suppose que Array à un rapport avec mes variable $_POST['login'] et password mais je ne sais pas quoi faire.

Voici les codes :

header.php :


<?php // gestion des logins
session_start();
if (!isset($auth)) {
$auth=-1;
}
//require("session.inc.php");

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "[url]http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd[/url]">
<html xmlns="http://www.w3.org/1999/xhtml"> <!-- BlaBla habituel + foctions Javascript (role a determiner ...) -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Unmanage Tools - IDST Outils - </title>


<link href="style.css" rel="stylesheet" type="text/css" />
<!-- header start -->
<div id="header"> <!-- Images du Header -->
<img src="images/logoAxaTech.jpg" alt="LogoAXA" width="188" height="62" border="0" />
<img src="images/imageInventer.jpg" alt="Inventer" width="131" height="125" border="0" />
</div>
<div id="bande"> <!-- Bande Bleue de sépration -->
<p>
</div>

<!-- header end -->
</head>
</body>
<div id="topNav"> <!-- Menu principal : le code php sert a indiquer sur quelle page nous sommes : le bouton restera "cliqué" si l'on est sur la page concernée-->
<ul>
<?php
if ($_GET['page']=="main.php"){
?>
<li><a href="index.php?page=main.php" title="Home" class="hover">Acceuil</a></li>
<?php
}else{
?>
<li><a href="index.php?page=main.php" title="Home" >Acceuil</a></li>
<?php
}
?>


<?php
if ($_GET['page']=="UnmanageTextArea.php"){
?>
<li><a href="index.php?page=UnmanageTextArea.php" title="Unmanage action" class="hover">Unmanage</a></li>
<?php
}elseif($auth==1){
?>
<li><a href="index.php?page=UnmanageTextArea.php" title="Unmanage action" >Unmanage</a></li>
<?php
}else{
?>
<li><a href="index.php?page=cible.php" title="Unmanage action" >Unmanage</a></li>
<?php
}
?>


<?php
if ($_GET['page']=="TableDeBord.php"){
?>
<li><a href="index.php?page=TableDeBord.php" title="table de Bord" class="hover">Table de bord</a></li>
<?php
}else{
?>
<li><a href="index.php?page=TableDeBord.php" title="table de Bord" >Table de bord</a></li>
<?php
}
?>


<?php
if ($_GET['page']=="History.php"){
?>
<li><a href="index.php?page=History.php" title="History" class="hover">History</a></li>
<?php
}else{
?>
<li><a href="index.php?page=History.php" title="History" >History</a></li>
<?php
}
?>


<?php
if ($_GET['page']=="role.php"){
?>
<li><a href="index.php?page=role.php" title="Role" class="hover">Rôle</a></li>
<?php
}else{
?>
<li><a href="index.php?page=role.php" title="Role">Rôle</a></li>
<?php
}
?>


<?php
if ($_GET['page']=="Temps.php"){
?>
<li><a href="index.php?page=Temps.php" title="temps" class="hover">Plage de temps</a></li>
<?php
}else{
?>
<li><a href="index.php?page=Temps.php" title="temps">Plage de temps</a></li>
<?php
}
?>

</ul>
</div>
 


session.inc.php :


<?php
$login = $_POST["login"];
$password = $_POST["password"];

//fonction qui sert a determiner les droit de l'utilisateur
session_start();
$data = "openldap\ldapsearch.exe ";
$data .= "-H ldaps://ldaps-nedc.corp. ";
$data .= "-b ou=axa,dc=gd,dc=axaldap ";
$data .= "-D $login ";
$data .= "-w $password ";
$data .= "userPrincipalName=$login displayName";


exec($data, $sortie, $retour);
if(!$retour) {
echo($sortie);
echo($retour);
$auth=1; // voila ici je ne suis pas trop sur de mon coup ...
}

?>
 


main.php :


<!-- body start -->
<div id="body">
<div class="left">
<h2>L'outil unmanage</h2><span class="dot"></span><br class="spacer" />
<p><strong>L'outil Unmanage est une plateforme intranet qui vous permet de procéder à la pause et à la reprise de supervision d'un ou plusieurs serveurs,</strong>
vous y trouverez également une liste des différentes demandes de pause et de reprise de supervision ainsi que le statut des serveurs.</p>
<p> Les outils de supervision concernés par cette gestion de pause de supervision sont N.S.M. et M.O.M.</p>
<p class="dotLine"><a href="#" title="Read more" class="readMore">Read more</a></p>
<a href="#" title="Our Projects"><img src="images/project_img.gif" alt="Our Projects" width="478" height="103" border="0" /></a><br class="spacer" />
<div class="event">
<div class="eventLeft">
<h2>Utilisation</h2><span class="dot2"></span><br class="spacer" />
<p><strong>Mise en place d'un système de Login révolutionnaire </p>
<p class="dotLine1"><a href="#" title="View more" class="viewMore">View more</a></p>
<p><strong>La Documentation, et les outils du site seront bientot disponibles.</strong><br class="spacer" /></p>
<p class="dotLine1"><a href="#" title="View more" class="viewMore">View more</a></p>
</div>
<div class="eventRight">
<a href="#" title="Join us"><img src="images/join_us.gif" alt="Join us" width="155" height="219" border="0" /></a>
</div>
<br class="spacer" />
</div>
</div>


<div class="right">
<form action="session.inc.php" method="post" class='login'>
<fieldset>
<legend><h2>Espace d'utilisateur</h2><br class='spacer' /></legend>
<?php
// Rencontre-t-on une erreur ?
if(!empty($errorMessage)){
echo '<p>', htmlspecialchars($errorMessage) ,'</p>';
}
?>
<p>
<label for="login">Votre Identifiant Axa</label>
<input type="text" name="login" id="login" value="prénom.nom@axa-tech.com" />
</p>
<p>
<label for="password">Votre Pass Axa</label>
<input type="password" name="password" id="password" value="" />
<input type='image' name="submit" src='images/login_btn.gif' value="Se logguer" class='loginBtn' />
</p>
</fieldset>
</form>

<br class="spacer" />
<h2><span>Document</span></h2><span class="dot"></span><br class="spacer" />
<ul>
<li><a href="#">Guide d'utilisateur</a></li>
<li><a href="#">Spécification</a></li>
<li><a href="#">Vision Doc</a></li>
</ul>
<br class="spacer" />
</div>
<br class="spacer" />
</div>
<!-- body end -->

 

Hors ligne

#2 24-09-2010 16:39:41

moogli
Modérateur
Inscription : 08-05-2009
Messages : 336
Site Web

Re : Recherche dans une base de donnée

Salut,

En gros tu affiche le retour de connection au serveur ldap : variable $retour et $sortie.
Sais tu a quoi correspondent ces variables ? (voir de exec).
Connais tu la valeur que tu doit obtenir pour un adaministrateur ? La personnne qui a fait le script doit pouvoir te repondre.

A tu essayé la connection au serveur ldap seul ?

Ton 1er if (sous le session_start) ne sert a rien car la variable n'est pas declarée a la 1er ligne (sauf en cas d'auto declaration des variables, ce qui ne serait pas une bonne chose).

Pour info il existe des fonctions php pour utiliser ldap => fr2.php.net/ldap

@+


Il en faut peu pour être heureux pompompompompompompompompompompom

Hors ligne

Pied de page des forums