8796 sujets

Développement web côté serveur, CMS

Bonjour à tous Smiley 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 Smiley 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" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<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 -->


Modifié par dekker (24 Sep 2010 - 15:27)
Ceci, afin de toucher le plus de monde, je me dis qu'entre ces 2 sites, j'arriverai bien à trouver mon bonheur Smiley smile

Merci de ta compréhension
Modérateur
Bonjour,

Le problème est que les intervenants d'un forum ne suivent pas la discussion sur l'autre forum, ce qui peut rendre le sujet difficile à suivre. De plus, c'est une source potentielle de perte de temps pour les intervenants des deux forums, car ils risquent de te poser les mêmes questions et/ou te donner les mêmes explications, tout en ignorant les réponses que tu as fournis sur l'autre forum.

Aider un membre demande du temps et de l'énergie. Poser sa question exclusivement aux membres d'un même forum est le moindre des respects.

Après, si tu n'as pas de réponses concluantes, tu peux essayer ailleurs.

Merci de ta compréhension.
Modifié par Tony Monast (24 Sep 2010 - 21:08)
Okay !
Je ne suis pas DU TOUT un afficionado des forums internet en fait, donc je ne raisonnais pas comme ca.
A bientot !