Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 2 sur 2
  1. #1
    Candidat au titre de Membre du Club
    Homme Profil pro
    Inscrit en
    août 2011
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : août 2011
    Messages : 83
    Points : 11
    Points
    11

    Par défaut Variable de session non enregistré

    Bonjour, étant en DUT informatique nous apprenons en se moment les sessions après quelques recherches sur internet cela ne me parraisait pas très sorcier mais j'ai du louper une étape.
    J'ai un formulaire de connexion sur ma page index.php qui vérifie si l'utilisateur éxiste dans la base et est dirigé vers une autre page AccueilInterne.php mais une fois connecté si je relance mon site celui-ci est censé m'avoir gardé en mémoire et ben non !!
    Je sais pas si j'ai été assez clair, n'hésitez pas à me posez des question

    index.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
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
     
    <?php
    session_start();
     
    // Si la variable existe et qu'elle n'est pas vide
    if (isset($_SESSION['connecter']) && (!empty($_SESSION['connecter'])))
    	header('Location: accueilInterne.php');
     
    // lien venant de accueilInterne permettant de se déconnecté	
    if ((isset($_GET['action'])) && ($_GET['action'] == 'logout')) {
    		//destruction session
    		session_destroy();
    		session_start();
    		header('Location: index.php');
    }
    //initialisation variables
    $_SESSION['login'] = '';
    $_SESSION['password'] = '';
    $_SESSION['connecter'] = '';
    // inclut les variables de connexion
    include_once("./mysql.php");
    // test de connexion
    $connect = mysql_connect($host,$login,$mdp);
    if ( ! $connect )
    die ("connection impossible");
    //test de base de données
    $mabasededonnee=$db;
    mysql_select_db($mabasededonnee) or die ("Base de données inconnue");
     
    if ((isset($_POST['login'])) && (isset($_POST['password']))){
    	$login = $_POST['login'];
    	$password = $_POST['password'];
    	if ((!empty($login)) && (!empty($password))){
    		$sql = 'select * from AUTH_utilisateurs where login='."'".$login."'".' and mdp='."'".$password."'" ;
    		//echo $sql;
    		$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
    		//$data = mysql_fetch_array($req);
    		$existe = mysql_num_rows($req);
    		//echo $existe;
    		if ($existe == 0) {
    			echo 'Identifiant inconnu !';
    		}
    		else {
    			$_SESSION['login'] = $login;
    			$_SESSION['password'] = $password;
    			$_SESSION['connecter'] = 'ok';
    			header('Location: accueilInterne.php');
    		}
    	}
    	else {
    		echo 'Un des champs est vide';
    	}
     
    }
     
     
    ?>
    <html>
    	<head>
    	<title> Connexion </title>
    	</head>
    	<body>
    		<h1> Authentification </h1>
    		<form action="" method="post">
    			<p>Utilisateur : <input type="text" name="login" maxlength="30" size="30"></p>
    			<p>Mot de passe : <input type="password" name="password" maxlength="30" size="30"></p>
    			<p> <input type="submit" name="envoyer" value="Envoyer">
    			<input type="reset" name="annuler" value="Annuler">
    			</p>
    			<p>
    				<a href="./formulaireInscription.php"> Nouvel utilisateur </a>
    			</p>
    		</form>
    	</body>
    </html>
    accueilInterne.php
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    <?php
    session_start();
     
    ?>
    <html>
    <head>
    <title> Accueil </title>
    </head>
    <body>
    <h1> Bonjour, 
    	<?php if (!empty($_SESSION['login'])) echo $_SESSION['login'];?></h1>
    <p> Bienvenue sur mon site !!!</p>
    <p><a href="index.php?action=logout" title="Déconnexion">Se déconnecter</a></p>
    </body>
    </html>

  2. #2
    Expert Confirmé Sénior
    Avatar de Benjamin Delespierre
    Profil pro Benjamin Delespierre
    Développeur Web
    Inscrit en
    février 2010
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Nom : Benjamin Delespierre
    Âge : 26
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : février 2010
    Messages : 3 932
    Points : 7 812
    Points
    7 812

    Par défaut

    Pour commencer, est-ce qu'il y a une ligne vide avant <?php ?? Si c'est le cas il faut la retirer.

    Ensuite, je te recommande d'inclure ce snippet au tout début de chaque script que tu dois débugger:
    Code :
    1
    2
    3
    <?php
    ini_set('error_reporting', -1);
    ini_set('display_errors', 1);

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •