IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Incompatibilité xml et session_start


Sujet :

Langage PHP

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3
    Points : 1
    Points
    1
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <?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
    {
    <div style="margin-left:40px">$SessionOuverte = true;</div>}
    else
    {
    <div style="margin-left:40px">$SessionOuverte = false;</div>}
     
    if (file_exists('Inclusion.php'))
    {
    <div style="margin-left:40px">include ('Inclusion.php');</div>?>
    <!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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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();
    }
    ?>

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    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.

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    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

  4. #4
    Membre éprouvé Avatar de FCYPBA
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 745
    Points : 952
    Points
    952
    Par défaut
    Je ne vois pas dasn tes fichiers d'appel à session_start pour la partie identification. Est ce un oubli ?
    Pierre
    1. Dans le manuel ( PHP, MySQL,..., rayez la mention inutile), tu te plongeras à deux fois plutôt qu'aucune.
    2. Dans la doc php, tu liras attentivement les sections Chaines de caractères, Tableaux et Système de fichiers
    3. Un code rapide c'est bien, un code maintenable c'est mieux
    ...

    Why was the font tag an orphan ? Because it didn't have a font-family.

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    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

Discussions similaires

  1. Incompatibilité Session_start() et Sockets
    Par phenix4 dans le forum Langage
    Réponses: 19
    Dernier message: 23/04/2009, 13h40
  2. Balises HTML dans un fichier XML
    Par Bastet79 dans le forum XML/XSL et SOAP
    Réponses: 12
    Dernier message: 04/09/2002, 15h29
  3. delphi XML / HTML caractéres speciaux !
    Par adem dans le forum EDI
    Réponses: 2
    Dernier message: 29/08/2002, 17h48
  4. Débutant XML
    Par viny dans le forum XML/XSL et SOAP
    Réponses: 8
    Dernier message: 25/07/2002, 12h07
  5. Pas de casse dans les XML
    Par :GREG: dans le forum Composants VCL
    Réponses: 4
    Dernier message: 17/07/2002, 13h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo