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 :

Double demande de connexion d'un membre


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 13
    Par défaut Double demande de connexion d'un membre
    Bonjour, je créé en ce moment un blog où plusieurs personnes auront un compte pour y poster des articles. La structure de ce site est : une page index.php, qui inclut la page menu.php et la page centrale. Le formulaire de connexion se trouve dans menu.php et le code d'ouverture de la session dans index.php. Venons-en maintenant au problème : lorsque l'on se connecte (avec les bons identifiants), le menu se réactualise en remettant le formulaire par défaut, dans aucun changement, et à ce moment là, si l'on se reconnecte avec les mêmes identifiants, le menu se retrouve dorénavant en mode "membre connecté".

    Voici le code de menu.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
    <?php
     
    if(isset($_SESSION['nom'])){
    	echo'<a href="">Ecrire un article</a>
    	<img src="image/2euro.png" align="middle">
    	<a href="">Compte</a>
    	<img src="image/2euro.png" align="middle">
    	<form method="post" action="#">
    	<input type="submit" name="unlogin" value="Déconnecter&nbsp;'.$_SESSION['nom'].' ">
    	<input type="hidden" name="unlogin" value="1">
    	</form>';
    }else{
    	echo '<form method="post" action="#">
    	<input type="text" name="pseudo" value="pseudo">
    	<input type="password" name="pass" value="pass">
    	<input type="submit" name="login" value="Se connecter">
    	<input type="hidden" name="login" value="1">
    	</form>';
    }
     
    ?>
    Et voici celui de 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
    24
    25
    <?php
     
    require('menu.php');
     
    if(isset($_POST['login'])){
    	extract($_POST);
    	$sql="SELECT nom,pass,mail FROM euro_user WHERE nom LIKE '$pseudo' ;";
    	$req=mysql_query($sql) or die ('Erreur SQL !');
    	if (mysql_num_rows($req)>0){
    		$data=mysql_fetch_assoc($req);
    		if($pass==$data['pass']){
    			$_SESSION['nom'] = $pseudo;
    			$_SESSION['pass'] = $pass;
    			$_SESSION['mail'] = $data['mail'];
    		}
    	}
    }
     
     
    if(isset($_POST['unlogin'])){
    	$_SESSION=array();
    	session_destroy();
    }
     
    ?>
    Merci d'avance pour la résolution de ce problème.

  2. #2
    Membre émérite Avatar de sharrascript
    Homme Profil pro
    Développeur Web indépendant
    Inscrit en
    Avril 2007
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web indépendant

    Informations forums :
    Inscription : Avril 2007
    Messages : 678
    Par défaut
    bonsoir,

    si tu ne veux plus ce problème il faut que tu inverse tes contenus.

    que menu.php devienne index.php et vice versa...

    ++

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 13
    Par défaut
    Euh... tu peux me la refaire là ?

    Je vois pas trop ce que t'entends par "inverser les contenu" et par changer les noms non plus...

  4. #4
    Membre émérite Avatar de sharrascript
    Homme Profil pro
    Développeur Web indépendant
    Inscrit en
    Avril 2007
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web indépendant

    Informations forums :
    Inscription : Avril 2007
    Messages : 678
    Par défaut
    je la refais et en couleur^^:

    si ton menu.php ressemble à ça:

    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
    <?php
     
    include('index.php');
    if(isset($_SESSION['nom'])){
    	echo'<a href="">Ecrire un article</a>
    	<img src="image/2euro.png" align="middle">
    	<a href="">Compte</a>
    	<img src="image/2euro.png" align="middle">
    	<form method="post" action="#">
    	<input type="submit" name="unlogin" value="Déconnecter&nbsp;'.$_SESSION['nom'].' ">
    	<input type="hidden" name="unlogin" value="1">
    	</form>';
    }else{
    	echo '<form method="post" action="#">
    	<input type="text" name="pseudo" value="pseudo">
    	<input type="password" name="pass" value="pass">
    	<input type="submit" name="login" value="Se connecter">
    	<input type="hidden" name="login" value="1">
    	</form>';
    }
     
    ?>
    et ton 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
     
    if(isset($_POST['login'])){
    	extract($_POST);
    	$sql="SELECT nom,pass,mail FROM euro_user WHERE nom LIKE '$pseudo' ;";
    	$req=mysql_query($sql) or die ('Erreur SQL !');
    	if (mysql_num_rows($req)>0){
    		$data=mysql_fetch_assoc($req);
    		if($pass==$data['pass']){
    			$_SESSION['nom'] = $pseudo;
    			$_SESSION['pass'] = $pass;
    			$_SESSION['mail'] = $data['mail'];
    		}
    	}
    }
     
     
    if(isset($_POST['unlogin'])){
    	$_SESSION=array();
    	session_destroy();
    }
     
    ?>
    tu aura plus ton soucis...

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 13
    Par défaut
    Super, ça marche !

    Merci beaucoup, je pense pas que j'aurais trouvé un truc comme ça...

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

Discussions similaires

  1. Pb : Demande de connexion alors que xsd
    Par dmroczkowski dans le forum Connectivité
    Réponses: 10
    Dernier message: 27/08/2007, 17h21
  2. [Requete parametrée] Double demande de parametre
    Par userB dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 27/08/2007, 11h03
  3. [CR 8.5][Web] demande de connexion récurrente.
    Par Edison dans le forum Connectivité
    Réponses: 4
    Dernier message: 09/07/2002, 18h48

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