Précédent   Forum des professionnels en informatique > 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 Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/09/2006, 11h47   #1
Invité de passage
 
Inscription : septembre 2006
Messages : 3
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 3
Points : 0
Points : 0
Par défaut Incompatibilité xml et session_start

Mon probleme est le suivant :

Je veux que les personnes qui se connectent sur mon site soient identifié

J'ai au début développé mon code pour recherché les identifiants et les mots de passe dans une base sql.

Mes pages se chargeaient correctement.

Mais la solution sql ne m'arrange pas et j'ai donc créé un fichier xml dans le quel se trouve mes identifiants et mot de passe

Mais là mes pages se chargent correctement ma session s'ouvre bien mais les variables $_SESSION sont vide

Le debut de ma page index.php

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
session_start(); // On démarre la session AVANT toute chose
 
session_register("Login");
session_register("IdProfil");
 
if (isset($_SESSION['Login']) AND isset($_SESSION['IdProfil'])) // Si les variables existent
{<blockquote>$SessionOuverte = true;</blockquote>}
else
{<blockquote>$SessionOuverte = false;</blockquote>}
 
if (file_exists('Inclusion.php'))
{<blockquote>include ('Inclusion.php'); </blockquote>?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>AUBIN FAMILY</title>
<link rel="stylesheet" media="screen" type="text/css" title="_.-/ AUBIN FAMILY \-._" href="style/style.css" />
</head>
<body>
et ma page d'identification qui s'affiche si ma variable SessionOuverte et a false

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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
<?php
 
function PrintLogin($Profil=NULL, $Mot_de_passe=NULL)
{
	echo '
		<p class="Formulaire">
			<form action="index.php" method="post">
				Login : <input type="text" name="Profil" value="'.$Profil.'"/><br/>
				<br/>
				Mot de passe : <input type="password" name="mot_de_passe" value="'.$Mot_de_passe.'"/><br/>
				<br/>
				<input type="submit" value="Valider"/>
			</form>
		</p>
		';
}
 
 
if (isset($_POST['Profil']) AND isset($_POST['mot_de_passe'])) // Si les variables existent
{
	if ($_POST['Profil']!=NULL)
	{
		$Formulaire=TRUE;
		$Profil=$_POST['Profil'];
	}
	if ($_POST['mot_de_passe']!=NULL)
	{
		$Formulaire=TRUE;
		$Mot_de_passe=md5($_POST['mot_de_passe']);
	}
 
	if ($Formulaire)
	{
		$LoginXML='AubinFamily.xml';
		if (!file_exists($LoginXML))
		{
			echo 'Erreur ! Le fichier : '.$LoginXML.' n\'existe pas !<br/>';
		}
		else
		{
			$ObjectLogin = simplexml_load_file($LoginXML);						
			foreach($ObjectLogin->Profil as $Profil)
			{
				if ($Profil->Login == $_POST['Profil'])
				{
					$ProfilXML='Profil/'.$Profil->IdProfil.'/'.'Profil.xml';
					if (!file_exists($ProfilXML))
					{
						echo 'Erreur ! Le fichier : '.$ProfilXML.' n\'existe pas !<br/>';
					}
					else
					{
						$ObjectProfil = simplexml_load_file($ProfilXML);
						foreach($ObjectProfil->Personne as $Personne)
						{
							if (isset($Personne->Login))
							{
								if ($Personne->Login==$Profil->Login)
								{
									if ($Mot_de_passe==$Personne->MDP)
									{
										$MotDePasse=true;
										$_SESSION['Login']=$Personne->Login;
										$_SESSION['IdProfil']=$Personne->MDP;
									}
									else
									{
										$MotDePasse=false;
									}
								}
							}
						}
					}
				}
			}
		}
		if ($MotDePasse==false)
		{
			echo '
					Mot de Passe invalide<br/>
				';
			PrintLogin($Profil);
		}
	}
}
else
{
	PrintLogin();
}
?>
plouisplouis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/09/2006, 11h50   #2
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Dans votre index.php :
1. Vous utilisez des variables qui n'existent pas (au niveau de session_register)
2. La fonction session_register(variable) est abandonnée au profit de $_SESSION['clé'] = valeur;


Julp.
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/09/2006, 13h02   #3
Invité de passage
 
Inscription : septembre 2006
Messages : 3
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 3
Points : 0
Points : 0
Merci pour la presentation

Si je comprend bien

je retire les 2 lignes

session_register("Login");
session_register("IdProfil");

et je laisse l'initialisation des variable $_SESSION['Login'] et $_SESSION['IdProfil']
dans mon fichier ou je verifie les identifiants

je vient de faire le test cela ne fonctionne pas
plouisplouis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/09/2006, 13h03   #4
Membre émérite

 
Avatar de FCYPBA
 
Inscription : novembre 2004
Messages : 735
Détails du profil
Informations personnelles :
Âge : 33
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : novembre 2004
Messages : 735
Points : 924
Points : 924
Je ne vois pas dasn tes fichiers d'appel à session_start pour la partie identification. Est ce un oubli ?
FCYPBA est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/09/2006, 13h05   #5
Invité de passage
 
Inscription : septembre 2006
Messages : 3
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 3
Points : 0
Points : 0
Le fichier identification est appelle par la fonction include dans le fichier index
donc inutile car la fonction ce trouve au début de l'index
plouisplouis est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h23.


 
 
 
 
Partenaires

Hébergement Web