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 :

Variables de sessions et bufferisation


Sujet :

Langage PHP

  1. #1
    Membre régulier Avatar de Addict`
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2008
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2008
    Messages : 148
    Points : 76
    Points
    76
    Par défaut Variables de sessions et bufferisation
    Bonjour,

    Je souhaiterai utiliser des variables de sessions afin d'afficher un nom de login dans ma page :

    Code inséré dans la page cible :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <div id="conteneur">
    			<div id="sidebar1"><!--Colonne gauche / Administration-->
    				<h3>Administration</h3>
    				<p>Vous êtes maintenant identifié sous 
    				<?php
    					echo  '"'.$_SESSION['pseudo_'].'"';
    				?>
    			</div>
    implémentation de variable de session (dans le script de login):
    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
    <?php
    	mysql_connect("localhost","root","");
    	mysql_select_db("metropolit_v1");
    	/*Vérification du champ pseudo (vide)*/
    	if (isset($_POST['pseudo']) && !empty($_POST['pseudo']) && isset($_POST['OK']) == 1)
    	{
    			/*Vérification du champ pass (vide)*/
    			if (isset($_POST['pass']) && !empty($_POST['pass']))
    			{
    				$query = mysql_query("SELECT pass_admin, mel_admin, nom_admin FROM ADMIN WHERE mel_admin='".$_POST['pseudo']."'");
    				$result = mysql_fetch_array($query);
    				/*Vérification du mot de passe*/
     
    							if ($result['pass_admin'] == $_POST['pass'])
    								{
    								header("Location: ../admin/admin.php");
    								$_SESSION['mail_'] = $result['pseudo'];
    								$_SESSION['pseudo_'] = $result['nom_admin'];
    								}
    							else 
    								{
    								echo 'Identifiants Incorrectes';
    								}
    			}		
    			else											
    				{
    				echo 'Veuillez entrer un mot de passe';
    				}
    			}
    			else 
    			{
    				echo 'Veuillez entrer un login';
    			}
    	mysql_close();
    ?>
    Formulaire de login :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <div id="sidebar1"><!--Colonne gauche / Administration-->
    				<h3>Administration</h3>
    				<form method="post" action="./admin/script_auth.php">
    					<label for="pseudo"><strong>Login :</strong><br /></label>
    					<input type="text" name="pseudo" id="pseudo" value="" /><br/><br/>
    					<label for="pass"><strong>Mot de passe :</strong><br /></label>
    					<input type="password" name="pass" id="pass" /><br/> <br/>
    					<input type="submit" name="OK" value="Se connecter !"/> <br/><br/>
    				</form>
    				<p><a href="passlost.php">Mot de passe oublié ?</a></p>
    			</div>
    Cependant cela ne marche pas et me renvois l'erreur suivante :

    Vous êtes maintenant identifié sous
    Notice: Undefined variable: _SESSION in C:\wamp\www\Metropolitain.org\admin\admin.php on line 46
    ""
    Si quelqu'un peut m'aider ...
    .


    Poster clairement et propre est essentiel !

    N'oubliez pas de lire les règles du forum ainsi que la FAQ.


    Site Web perso (provisoire) : Addicted Developpement

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Il faut démarrer ta session avec session_start();
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre régulier Avatar de Addict`
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2008
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2008
    Messages : 148
    Points : 76
    Points
    76
    Par défaut
    Excuses moi j'avais oublié de le mettre mais j'ai bien démarré ma session dans la page de mon formulaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    ob_start();
    session_start();
    ?>
    L'erreur ligne 46 correspond à

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Vous êtes maintenant identifié sous 
    <?php
    echo ''.$_SESSION['pseudo_'].'';
    ?>
    .


    Poster clairement et propre est essentiel !

    N'oubliez pas de lire les règles du forum ainsi que la FAQ.


    Site Web perso (provisoire) : Addicted Developpement

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    96
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 96
    Points : 63
    Points
    63
    Par défaut
    qu'est ce que tu as à la ligne 46 de ton fichier admin.php ?

  5. #5
    Membre régulier Avatar de Addict`
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2008
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2008
    Messages : 148
    Points : 76
    Points
    76
    Par défaut
    Je l'ai déjà écrit mais c'est pas bien grave

    Ligne 46 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo ''.$_SESSION['pseudo_'].'';
    Voila
    .


    Poster clairement et propre est essentiel !

    N'oubliez pas de lire les règles du forum ainsi que la FAQ.


    Site Web perso (provisoire) : Addicted Developpement

  6. #6
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Citation Envoyé par Genqv Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    ob_start();
    session_start();
    ?>
    Je ne sais pas si ça résout le problème, mais l'ordre d'appel de ces deux fonctions serait préférable ainsi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    session_start();
    ob_start();
    ?>
    • Avant de poser une question, n'hésitez pas à chercher dans la FAQ et les forums
    • Merci d'utiliser les balises de code (# dans l'éditeur)
    • N'oubliez pas de vous servir des boutons , et

    S.N.A.F.U

  7. #7
    Membre averti Avatar de deY!
    Inscrit en
    Avril 2006
    Messages
    403
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2006
    Messages : 403
    Points : 414
    Points
    414
    Par défaut
    Tu dois effectuer session_start() sur toutes tes pages...
    Du moins à partir d'un fichier qui est appelé à chaque fois, mais dès que tu visualise une page de ton site, tu dois faire un session_start().
    deY!

  8. #8
    Membre régulier Avatar de Addict`
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2008
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2008
    Messages : 148
    Points : 76
    Points
    76
    Par défaut
    Bonjour,

    J'ai effectivement mis le code suivant sur toutes mes pages, mais l'erreur persiste !

    I NEED HELP !!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    session_start();
    ob_start();
    ?>
    .


    Poster clairement et propre est essentiel !

    N'oubliez pas de lire les règles du forum ainsi que la FAQ.


    Site Web perso (provisoire) : Addicted Developpement

  9. #9
    Membre averti Avatar de deY!
    Inscrit en
    Avril 2006
    Messages
    403
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2006
    Messages : 403
    Points : 414
    Points
    414
    Par défaut
    Utilises-tu ob_end_flush ?
    Essaye en enlevant ob_start().
    deY!

  10. #10
    Membre régulier Avatar de Addict`
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2008
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2008
    Messages : 148
    Points : 76
    Points
    76
    Par défaut
    Merci de tout votre aide, le problème est résolu.

    J'ai bien ouvert le buffer comme tu me l'a dit deY! et ça marche !

    Merci
    .


    Poster clairement et propre est essentiel !

    N'oubliez pas de lire les règles du forum ainsi que la FAQ.


    Site Web perso (provisoire) : Addicted Developpement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [C#] Tester existence d'une variable de session
    Par IDNoires dans le forum ASP.NET
    Réponses: 2
    Dernier message: 31/12/2004, 12h30
  2. Création d'une variable de session avec un ID
    Par PrinceMaster77 dans le forum ASP
    Réponses: 4
    Dernier message: 18/10/2004, 10h28
  3. Effacer les variables de session
    Par glsn dans le forum ASP
    Réponses: 2
    Dernier message: 12/12/2003, 13h42
  4. Variable de session
    Par Sadneth dans le forum ASP
    Réponses: 6
    Dernier message: 14/11/2003, 11h12
  5. variable de session
    Par divableue dans le forum ASP
    Réponses: 2
    Dernier message: 23/10/2003, 16h04

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