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

EDI, CMS, Outils, Scripts et API PHP Discussion :

Les sessions en PHP


Sujet :

EDI, CMS, Outils, Scripts et API PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Meloooo
    Femme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    324
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2008
    Messages : 324
    Par défaut Les sessions en PHP
    Bonjour,
    Je réalise un petit site Internet, et j'ai un espace connexion.
    Le seul souci c'est qu'il ne garde pas ma session ouverte.
    je rentre mon nom d'utilisateur et mon mot de passe, et tout se passe correctement.
    Mais quand je reclique sur le bouton connexion je n'ai pas mon bouton de déconnexion voici un extrait de mon formulaire :
    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
     
    <?php
    	session_start();
    	if(isset($_POST['delogo'])) { session_unset(); }
    	if(isset($_POST['logo']) && !empty($_POST['logo'])) { $_SESSION['logy'] = $_POST['logo']; }
     
    	if (!isset ($_SESSION['logy'] ))
    {
     
    ?>
     
     
    <form name="connection" action="verif.php" method="post">
    <fieldset id = "connection">
    	<label for="logo">Pseudo : </label><br>
    	<input type="text" size="20" name="logo" /><br>
       <td><label for="pwd">Mot de passe : </label><br>
        <input type="password" size="20" name="pass" /><br>
     
        <br />
        <input type="submit" value="Connexion" />
    </div>
    <?php
    }
    else
    {
     
     
    		echo 'Connecte en tant que '.$_SESSION['logy'];
    		?>
    			<form name="deconnexion" action="pagecontact.php" method="post">
                <input type="hidden" name="delogo" value="pok" />
        <input type="submit" value="D�connexion" />
    	</form>
     
    <?php
    }
    ?>
    Et le code ou je vérifie que l'utilisateur existe :

    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
     
    		 <?php
     
             include ('connex.php');
    		$mail = $_POST['logo'];
    		$pass = $_POST['pass'];
     
     
    		 $req = mysql_query ("SELECT * FROM utilisateur WHERE MailI = '".$mail."' AND MotDePasseI = '".$pass."'");
    		 $quer = mysql_fetch_row($req);
     
    		 if (!empty($quer[0])) { 
    		 echo "Vous êtes connecté(e) en tant que " . $quer[2] . " " . $quer[1];
    		 ?>
             <br />
             <?php
    		 echo "Vous allez être redirigé vers la page d'accueil";
    		 echo "salut".$_SESSION['pseudo'];
    	$_POST['logo'] = $req[1]; // création de la var session logy ou autre traitement
    	?>
    	<meta http-equiv="refresh" content="5;http://playandfun.iceheberg.fr/index.php" />
        <?php
    } else { 
    	echo"erreur";
    	echo $pass;
    	echo $mail;//renvoi vers une page d'erreur ou autre traitement au choix 
    }

    Comment faire pour que quand le l'utilisateur se connecte, il garde sa session ouverte, et quand il clique sur connexion il y a un bouton de deconnexion qui apparait.
    je vous remercie

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 453
    Par défaut
    Il n'y a pas de session_start() dans le deuxième code

  3. #3
    Membre Expert
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 494
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 494
    Par défaut
    pour completer la reponse a sachav, tu dois metre un session_start(); dans toutes les pages ou tu souhaites utiliser les sessions (meme dans ta page de deconnexion)
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  4. #4
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    @Sachav et DokSuri: Je pense que le premier code est nomé 'connex.php' donc il y a bien un session_start().

    @Meloooo: confirmes moi si c le cas (1er code connex.php 2ème code vérif.php) celà permettra de mieux chercher ton code un soupçon mal indenté

  5. #5
    Membre éclairé Avatar de Meloooo
    Femme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    324
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2008
    Messages : 324
    Par défaut
    Désolé pour le retard de la réponse,
    Alors la première page que je vous ai montrée n'est pas connex.php
    Mais juste deux formulaires pour se connecter et se déconnecter.
    Sur toutes les pages ou je souhaites utiliser les sessions j'ai bien mis le session_start(); , mais ca ne marche toujours pas.
    La page connex.php permet juste de me connecter à la base de données.

  6. #6
    Membre chevronné Avatar de guigo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 612
    Par défaut
    Tu dois fermer ton form connexion....
    sinon quand tu appie sur connexion alor tu poste aussi delogo et donc :


    if(isset($_POST['delogo'])) { session_unset(); }

    -->plus de session :-)

    Fais 2 form distinct 1 pour la connexion, l'autre pour la deconnexion

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 29/10/2012, 13h51
  2. [Sécurité] les sessions en php
    Par pas30 dans le forum Langage
    Réponses: 3
    Dernier message: 14/05/2007, 23h46
  3. [Cookies] newbie: Les sessions en PHP
    Par yoda_style dans le forum Langage
    Réponses: 12
    Dernier message: 20/01/2006, 20h49
  4. php:comment utiliser les sessions en php
    Par feten dans le forum Langage
    Réponses: 3
    Dernier message: 19/11/2005, 16h17
  5. les sessions PHP
    Par smh_master dans le forum Langage
    Réponses: 4
    Dernier message: 31/08/2005, 14h13

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