Précédent   Forum du club des développeurs et IT Pro > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 15/10/2012, 11h52   #1
thomasaurelien
Candidat au titre de Membre du Club
 
Homme
Inscription : 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>
thomasaurelien est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/10/2012, 14h02   #2
Benjamin Delespierre
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 3 897
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 25
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 897
Points : 8 605
Points : 8 605
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);
__________________
On vous a menti
PHP, Injection de dépendances et composants
La POO en PHP en 10 minutes pour moins
Suivez-moi sur GitHub et Twitter

N'oubliez pas de vous servir des bouttons , et
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 20h57.


 
 
 
 
Partenaires

Hébergement Web