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 :

Problème pour récupérer le nom utilisateur


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Par défaut Problème pour récupérer le nom utilisateur
    Bonjour.

    Sur ma page accueil.php, je demande le nom utilisateur et le mot de passe.
    Je vérifie les 2 et sur ma page index, j'affiche le nom utilisateur.

    Si le nom utilisateur ou le mot de passe ne sont pas bon j'affiche un message.
    le problème c'est que je récupère pas le nom utilisateur sur la page index.
    ma page accueil :
    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
    $exist = "";
    if(isset($_POST['utilisateur']))      $proprietaire=$_POST['utilisateur'];
    else	$proprietaire = "";
    if(isset($_POST['pwdid']))      $pswdsaisi=$_POST['pwdid'];
    else	$pswdsaisi = "";
    if ((!empty($_POST['utilisateur'])) && (!empty($_POST['pwdid'])))
    {
    	$sql = mysql_query("SELECT * FROM proprietaires");
    	$nombreligne = mysql_num_rows($sql);
    	for ($i = 0; $i < $nombreligne; $i++) 
    	{
    		$idproprietaire = mysql_result($sql,$i,"id_proprietaire");		
    		$utilisateur = mysql_result($sql,$i,"identifiant_proprio");
    		$passbd = mysql_result($sql,$i,"password_proprio");
    		if ((sha1($pswdsaisi) == $passbd) && ($proprietaire == $utilisateur)) 
    		{
    			$_SESSION['utilisateur'] = $utilisateur;
    			$_SESSION['idproprietaire'] = $idproprietaire;
    			$exist = "ok";
    		}
    	}
    	if ($exist != "ok")
    	{
    		$_SESSION['utilisateur'] = "";
    		$_SESSION['idproprietaire'] = "";
    		echo "<p align='center'><font color='red'>Nom utilisateur ou mot de passe invalide</font></p><br>";
    	}
    }
    la 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
    <?php
    session_start();
    if(isset($_GET['deconnexion']) && $_GET['deconnexion']=="1"){
    	session_unregister('idproprietaire');
    	session_unregister('utilisateur');
    	session_destroy();
    }
    ?>
    // affichage du nom utilisateur
    	<TD align='center' width='13%' valign='middle'>
    		<font size='2' color='black' face='tahoma'>
    		<?php if (isset($_SESSION['utilisateur'])) { echo $_SESSION['utilisateur']; 
    		echo "<br><a href=index.php?deconnexion=1>d&eacute;connecter</a></font><br>"; } ?>
    	</TD>
    Je travaille avec include.

    Je tourne en rond

  2. #2
    Membre Expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Par défaut

    Fais un var_dump($_SESSION) à la fin de ta page accueil.php et au début de index.php afin de savoir si tu fais bien l'affectation et que, si elle se fait, tu sois sur qu'elle est transmise.

    Dis nous ce que cela t'affiche après.

  3. #3
    Membre éprouvé
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Par défaut
    Sur la page accueil j'ai bien un tableau avec les élements qui correspondent à la bdd mais rien sur la page index : array(0){}.

    Il faut peut être que j'ajoute un $_SESSION['utilisateur'] = $utilisateur sur la page index ?

  4. #4
    Membre expérimenté

    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
    Par défaut
    Sur le script d'accueil, il vous manque, a priori, l'appel à session_start().

    Sur le script d'index, vous utilisez des fonctions dépréciées (session_unregister('var') unset($_SESSION['var'])).

    Citation Envoyé par philippef
    Je travaille avec include.
    Soit, mais où, quoi, comment ? Aucune inclusion n'apparaît dans le code donné !

  5. #5
    Membre éprouvé
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 898
    Par défaut
    J'ai ajouté session_start(); sur la page d'accueil et j'ai un message d'erreur ;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Notice: A session had already been started - ignoring session_start() in c:\weblocal\sites\monsite\accueil.php on line 2
    pour include, sur la page index :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    if (!isset($_GET['page'])) $page= 'accueil'; else $page= $_GET['page'];  
     switch($page)
    {
    //menu horizontal
    case 'accueil': include ('accueil.php');break;
    case 'videotheq': include ('liste_films.php');break;
    case 'ajout_film': include ('ajout_film.php');break;
    case 'fiche_film': include ('fiche_film.php');break;
     
    //autres sélections
    case 'liste_films': include ('liste_films.php');break;
    case 'film_modif': include ('film_modif.php');break;
    }

  6. #6
    Membre Expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Par défaut
    Citation Envoyé par philippef
    J'ai ajouté session_start(); sur la page d'accueil et j'ai un message d'erreur ;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Notice: A session had already been started - ignoring session_start() in c:\weblocal\sites\monsite\accueil.php on line 2
    Il faut que tu fasses le session_start avant d'afficher quoi que ce soit au navigateur donc place le plutôt en début de page avant tout autre code et tu ne devrais plus avoir d'erreur.

  7. #7
    Membre Expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Par défaut
    Citation Envoyé par philippef
    Il faut peut être que j'ajoute un $_SESSION['utilisateur'] = $utilisateur sur la page index ?
    Et non puisque justement tu veux le récupérer l'utilisateur.

    Comme julp l'a dit tu ne fais pas de session_start pour créer la session dans la page d'accueil, mais c'est que tu nous a pas tout montrer ou que tu l'as oublié (ne voyant les balises <?php ?> je n'ai pas posé la question car ça me paraissait évident en fait )

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

Discussions similaires

  1. Problème pour convertir un nom d'utilisateur en SID
    Par VincentSc dans le forum Windows
    Réponses: 2
    Dernier message: 13/05/2009, 15h09
  2. Problème pour récupérer le nom d'un JLabel
    Par ropabo dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 02/06/2006, 01h10
  3. Réponses: 2
    Dernier message: 20/08/2004, 17h10
  4. Problème pour récupérer la clé primaire
    Par caramel dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 11/04/2003, 13h57

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