Bonjour,
Je viens vers vous car là je n'arrive pas à voir ce qui cloche dans ma variable de session qui me renvoi toujours le message d'erreur suivant :
Notice:
Undefined index:
login in C:\wamp\www\siteFormationPhP-MySQL\cadreDroit.php on line xx
Les erreurs sont sur les 2 lignes du script de la page "cadreDroit.php" ou je fait référence à la variable de session "login"
J'ai dans ma page index.php les script suivants :
En début de page je démarre ma session :
1 2 3 4 5
|
<?php session_start();
// appel de la page des paramètres de connexions
include("connect/conConfig.php");
?> |
Puis dans ma page je fais un include de ma page qui contient le formulaire de connexion
1 2 3 4
|
<?php
include("cadreDroit.php");
?> |
puis dans la page cadreDroit.php j'ai le formulaire qui affiche un menu différents suivant si le login est "admin ou membre"
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
|
<?php
// on test si le visiteur à soumis le formulaire de connexion
if(isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion')
{
if((isset($_POST['loginF']) && !empty($_POST['loginF'])) && (isset($_POST['mdp']) && !empty($_POST['mdp'])))
{
// on teste si une entrée de la base contient ce couple login / pass
$sql="SELECT count(*) FROM membre WHERE login='".mysql_escape_string($_POST['loginF'])."' AND pass_md5= '".md5(mysql_escape_string($_POST['mdp']))."'";
$req = mysql_query($sql) or die ('Erreur SQL!<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);
mysql_free_result($req);
mysql_close();
// si on ne trouve aucune réponse, alors l'utilisateur est un membre
if($data[0]==1){
$_SESSION['login'] = $_POST['loginF'];
}
// si on ne trouve aucune réponse,le visiteur s'est trompé soit dans sont login, soit dans son mot de passe
elseif($data[0]==0){
$erreur='Compte non reconnu';
}
// sinon, il y a un problème
else{
$erreur='Membres avec le même identifiants';
}
}else{
$erreur='Au moin un des champs est vide';
}
}
?>
<?php
echo $_SESSION['login'] .'</br>';
if (($_SESSION['login']) == "admin")
{
// echo "<h1 class='txtLg'>Espace membre</h1>";
echo '
<h1 class="txtLg">Espace administrateur</h1>
<div id="cadreMbre">
<ul class="ulh">
<li>Gestion
<ul>
<li><a class="ali" href="inscription.php">Inscription</a></li>
<li><a class="ali" href="suppression.php">Suppression</a></li>
<li><a class="ali" href="liste.php">Voir les news</li>
<li><a class="ali" href="news.php">Ajouter une news</a></li>
<li><a class="ali" href="afficher.php">Liste des sites</a></li>
<li><a class="ali" href="site.php">Ajouter un site</a></li>
<li><a class="ali" href="deconnexion.php">Déconnexion</a></li>
</ul>
</li>
</ul>
</div>
';
/* header("Location: membre.php"); renvoi sur la page désirée */
}elseif ($_SESSION['login'])
{
echo '
<h1 class="txtLg">Espace membre</h1>
<div id="cadreMbre">
<ul class="ulhB">
<li>Gestion
<ul>
<li><a class="ali" href="liste.php">Voir les news</a></li>
<li><a class="ali" href="news.php">Ajouter une news</a></li>
<li><a class="ali" href="afficher.php">Liste des sites</a></li>
<li><a class="ali" href="site.php">Ajouter un site</a></li>
<li><a class="ali" href="deconnexion.php">Déconnexion</a></li>
</ul>
</li>
</ul>
</div>
';
}else {
?>
<h1 class="txtLg">Connection</h1>
<span class="txtalert">
<?php
if(isset($erreur)) echo $erreur;
?>
</span>
<form class="bdr" method="post" name="identification">
<table class="cdrHt" width="196" border="0" align="center" cellpadding="0" cellspacing="10">
<tr>
<td class="txtLg2" width="69">Login :</td>
<td width="97"><input class="chpLog" name="loginF" type="text" size="15" maxlength="20" /></td>
</tr>
<tr>
<td class="txtLg2">Password :</td>
<td><input class="chpLog" name="mdp" type="password" size="15" maxlength="20" /></td>
</tr>
<tr>
<td class="alignC" colspan="2"><input name="connexion" type="submit" class="txtLg3" value="Connexion" /></td>
</tr>
</table>
</form>
</div> |
Donc visiblement il ne trouve pas la variable login quand ma page index.php est appelé sans aucun champ du formulaire soit rempli (bizar !!) et pourtant je démarre bien ma session en début de page avec
<?php session_start(); ?>
Juste une dernière précision j'utilise WAMPSERVER 2.0f (la dernière version)
tout est configuré d'origine rien modifié.
Merci de votre aide !!
Partager