Bonjour tout le monde,

Voilà j'ai un petit soucis...
Je suis en train de créer un site avec un index.php comme page principale qui comprend un tableau, et toutes les parties principales (menu, login et corps) sont en "include" dans ce fichier. La navigation fonctionne bien mais j'ai un problème avec le login. J'ai un login.htm qui contient le formulaire d'identification et qui renvoie au login.php. Dans ce dernier fichier, soit l'identification est correcte, soit tous les champs ne sont pas remplis soit l'identification est incorrecte (ce sont les 3 situations possibles). Pour avoir un message qui s'affiche selon la situation, j'initialise une variable dans le login.php avec la valeur correspondante et je l'affiche dans index.php avec un "echo".
Tout ça fonctionne mais dès que je me suis identifié et qu'après je clique sur le menu pour aller sur une autre page, le login apparaît mais le message n'est plus là, comme si la variable n'existait plus... (et si je veux utiliser une autre variable booléenne pour ne plus afficher le login une fois identifié c le même pb).
Je donne mon code pour afficher le login et la page dans la cellule désirée selon ce qu'on clique dans le menu (si ça a un rapport) :

<TD>
<?php include("login.htm"); 
  if (isset($result))
        echo $result;
?></TD>


<TD>
<?php 
  $pages=array(
   'accueil'=>'accueil',
   'pres_etab'=>'pres_etab',
   'restricted'=>'restricted',
   'deconnect'=>'deconnect'
  );
  if(isset($_GET['page']) && array_key_exists($_GET['page'],$pages))
   	include $pages[$_GET['page']].'.php';
  else
   	include 'accueil.php';
?></TD>


Merci d'avance pour vos réponses
Modifié par Khan63 (11 Dec 2006 - 13:48)
Bonjour,

Si le variable $result pose problème, il faut aller voir du côté de ton code dans login.php.

Sans celui-ci, on ne peut pas aider à grand chose.

Une chose que je ne comprends pas ...
Tu dis :
a écrit :
Tout ça fonctionne mais dès que je me suis identifié et qu'après je clique sur le menu pour aller sur une autre page, le login apparaît mais le message n'est plus là, comme si la variable n'existait plus...


Si l'identification s'est bien déroulée, pourquoi voudrais-tu afficher un message ?
Et quel message voudrais-tu afficher ? Connexion réussie ?
Modifié par Ptitfox (11 Dec 2006 - 12:17)
Administrateur
Bonjour et bienvenue parmi nous Smiley smile

En tant que modérateur, je me dois de te faire remarquer que tu n'as malheureusement pas respecté l'une des Règles de base du forum qui est d'afficher les codes et exemples proprement à l'aide des boutons [ code]... ici ton code HTML, CSS, PHP, etc.[ /code] (sans espace).

Je te remercie par avance de bien vouloir éditer ton message afin de le rendre conforme à cette règle. Smiley cligne

D'ailleurs, je rappelle que le lien qui apparaît en bandeau tout en haut du forum ("Nouveau sur le forum ?...") est important. Il contient des pistes de recherche, des indications sur les règles de vie de la communauté, etc.
Il serait courtois de ta part de bien vouloir en prendre connaissance.

Bonne continuation Smiley smile

upload/1-code.gif
Bonjour de nouveau à tout le monde,

Désolé pour le code Smiley confused ...
A ce propos, il est peut-être préférable que je fournisse les codes de mes 2 fichiers clés :
index.php
<HTML>
  <HEAD><LINK rel=stylesheet type="text/css" href="Style.css">
  <TITLE>Hôpital Local de Billom - Accueil</TITLE>
  <script type="text/javascript">
  <!--
  window.onload=montre;
  function montre(id) {
  var d = document.getElementById(id);
	for (var i = 1; i<=10; i++) {
		if (document.getElementById('smenu'+i))   {document.getElementById('smenu'+i).style.display='none';}
	}
  if (d) {d.style.display='block';}
  }
  //-->
</script>
  </HEAD>
  <body>
	<TABLE width=100% height=100% border=0 padding=0 cellspacing=0 bgcolor="steelblue">
	<TR>
	<TD></TD>
	<TD width=800 valign=top>
	  <TABLE width=800 border=0 bgcolor=#fffff>
	  <TR>
		<TD width=100% height=50 align=center><IMG src="logo.jpg"></TD>
	  </TR>
	  <TR>
		<TD width=100% height=85 valign=top class="menu"><br><?php include("menu.htm") ?></TD>
	  </TR>
	  <TR>
		<TD width=100% valign=bottom>
		  <TABLE border=1 width=800 height=500>
		  <TR>
			<TD width=160 valign=top><?php include("login.htm"); 
						   if (isset($result))
							echo $result;
						 ?></TD>
		  	<TD width=690 class="conteneur"><?php 
							$pages=array(
   							'accueil'=>'accueil',
   							'pres_etab'=>'pres_etab',
   							'restricted'=>'restricted',
   							'deconnect'=>'deconnect'
							);
							if(isset($_GET['page']) && array_key_exists($_GET['page'],$pages))
   								include $pages[$_GET['page']].'.php';
							else
   								include 'accueil.php';
							?></TD>
		  </TR>
		  </TABLE>
		</TD>
	  </TR>
	  </TABLE>
	</TD>
	<TD></TD>
	</TR>
	</TABLE>

  </BODY>
</HTML>

et
login.php
<?php
// connexion à la base
	$db=mysql_connect("localhost", "*****", "******") or die('Erreur de connexion'.mysql_error());
// sélection de la base
	mysql_select_db('private',$db) or die('Erreur de sélection'.mysql_error());
if(isset($_POST) && !empty($_POST['login']) && !empty($_POST['pass'])) {
  extract($_POST);
  // je récupère le password de la table qui correspond au login du visiteur
  $sql = "select pwd from tbl_user where login='".$login."'";
  $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
  $data = mysql_fetch_assoc($req);
  if($data['pwd'] != $pass) {
    $result="<p><font color='red'><center>Identification incorrecte !</center></font></p>";
    include("index.php");
  }
  else {
// je récupère le nom
    $sql = "select nom from tbl_user where login='".$login."'";
    $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
    $data = mysql_fetch_assoc($req);
    $nom=$data['nom'];
// je récupère le prénom
    $sql = "select prenom from tbl_user where login='".$login."'";
    $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
    $data = mysql_fetch_assoc($req);
    $prenom=$data['prenom'];
    session_start();
    $_SESSION['login'] = $login;
    $result="<font color='blue'><b><center>Bienvenue, <br>".$prenom." ".$nom."</center></b></font><center>";
    $result=$result."<a href='index.php?page=restricted'>Téléchargements</a></center><br><center>";
    $result=$result."<a href='index.php?page=deconnect'>Se déconnecter</a></center>";
    include("index.php");
  }    
}
else {
   $result="<p><font color='red'><center>Veuillez remplir tous les champs</center></font></p>";
   include('index.php'); // J' inclut le formulaire d'identification
}

Voilà, est-ce que quelqu'un peut m'aider svp?...
Merci
Modifié par Khan63 (11 Dec 2006 - 14:04)