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 :

Script avec sessions


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 450
    Points : 123
    Points
    123
    Par défaut Script avec sessions
    Bonjour, j'ai un petit problème avec un petit bout de code que j'ai fait moi même...
    J'explique:
    J'ai une page index.php avec un très joli session_start($membre); au début ...
    a la connexion d'un membre, $membre contient $pseudo, $mdp, $mail, ...
    bref, j'ai un block dans lequel je fais un magnifique include '.../.../..../identification.php';

    identification.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
    26
    27
    28
     
    <? 
     
    if (!isset($_SESSION['id']))
    	{
    	?>
        <p>salut <? echo $pseudo; ?><br /><br /></p>
    	<form method="post" action="http://jeunes-talents-44.com/test/composants/connexion/deconnexion.php">
    	<input type="submit" name="deconnexion" value="Se deconnecter" />
    	</form>
    	<?
    	}
    else 
    	{ 
     
    	echo '<div class="module_haut">';
    	echo '<form method="post" action="http://jeunes-talents-44.com/test/index.php?div.module_haut">';
    	echo '<table>';
    	echo '<tr><th>Pseudo :</th></tr>';
    	echo '<tr><td><input type="text" name="pseudo" /></td></tr>';
    	echo '<tr><th>Mot de passe :</th></tr>';
    	echo '<tr><td><input type="password" name="mdp" /></td></tr>';
    	echo '<tr><td><input type="submit" name="envoyer" value="Se connecter" /></td></tr>';
    	echo '</table>';
    	echo '</form>';
    	echo '</div>';
    	}
    	?>
    Donc quand je suis connécté, le les parametres du if sont bien affichés, quand je suis déconnécté, le formulaire du else est bien affiché ...

    Mais $pseudo ne s'affiche pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
        <p>salut <? echo $pseudo; ?><br /><br /></p>
    Quelqu'un peut m'expliquer? :

    1) !isset = pas ... Donc pourquoi mon code marche a l'envers?

    2) Meme si le code marche à l'envers, pourquoi $pseudo ne s'affiche pas, en l'occurence, $pseudo pour moi = admin ... ?

    Merci beaucoup par avance, et est ce que le fichier inclus prend bien en compte le session_start($membre); au debut de ma page?

    Merci beaucoup !

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Points : 1 460
    Points
    1 460
    Par défaut
    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
    <? 
     
    if (!isset($_SESSION['id']))
    	{
     
        echo '<p>salut'.$pseudo.'<br /><br /></p>
    	<form method="post" action="http://jeunes-talents-44.com/test/composants/connexion/deconnexion.php">
    	<input type="submit" name="deconnexion" value="Se deconnecter" />
    	</form>';
     
    	}
    else 
    	{ 
     
    	echo '<div class="module_haut">';
    	echo '<form method="post" action="http://jeunes-talents-44.com/test/index.php?div.module_haut">';
    	echo '<table>';
    	echo '<tr><th>Pseudo :</th></tr>';
    	echo '<tr><td><input type="text" name="pseudo" /></td></tr>';
    	echo '<tr><th>Mot de passe :</th></tr>';
    	echo '<tr><td><input type="password" name="mdp" /></td></tr>';
    	echo '<tr><td><input type="submit" name="envoyer" value="Se connecter" /></td></tr>';
    	echo '</table>';
    	echo '</form>';
    	echo '</div>';
    	}
    	?>
    Stay in Bed .. Save Energy

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 450
    Points : 123
    Points
    123
    Par défaut
    Merci boo, mais ça marche pas non plus ...

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Points : 1 460
    Points
    1 460
    Par défaut
    ton $pseudo viens d'ou?
    Stay in Bed .. Save Energy

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 450
    Points : 123
    Points
    123
    Par défaut
    Quand le formulaire de connexion est envoyé, il est definit $pseudo=$_SESSION['pseudo']; etc...
    et a la fin, jai regroupé le tout $membre=$pseudo,$mail,$id,$prenom, ....

    et dans mon session_start(); je mets session_start($membre);

    Quand je fais echo $pseudo; sur la page directement, sa s'affiche normalement, mais avec ce module en include sur le page, le pseudo s'affiche pas, sa affiche juste salut

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Points : 1 460
    Points
    1 460
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $membre=$pseudo,$mail,$id,$prenom,
    $membre=$pseudo.$mail.$id.$prenom ??

    comme ca où c'est un tableau ??
    Stay in Bed .. Save Energy

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 450
    Points : 123
    Points
    123
    Par défaut
    Voila mon fichier demarrant la session le require_once fait appel au fichier correspondant a la connexion a la bdd !:
    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
     
     
    <?
    require_once('bdd.php');
    session_start($membre);
    ?>
     
    <?
    if (isset($_POST['envoyer']))
    	{
    	$pseudo=$_POST['pseudo'];
    	$mdp=md5($_POST['mdp']);
     
    	mysql_select_db($bdd, $connect);
    	$verif_query=sprintf("SELECT * FROM membres WHERE pseudo='$pseudo' AND mdp='$mdp'"); // requête sur la base administrateurs
    	$verif = mysql_query($verif_query, $connect) or die(mysql_error());
    	$row_verif = mysql_fetch_assoc($verif);
    	$utilisateur = mysql_num_rows($verif);
     
    	if ($utilisateur)
    		{
    		session_register("authentification"); // enregistrement de la session
     
    		// déclaration des variables de session
    		$_SESSION['id'] = $row_verif['id']; 
    		$_SESSION['statut']=$row_verif['statut'];
    		$_SESSION['pseudo'] = $row_verif['pseudo']; 
    		$_SESSION['mdp'] = $row_verif['mdp']; 
    		$_SESSION['mail'] = $row_verif['mail']; 
    		$_SESSION['prenom'] = $row_verif['prenom']; 
    		$_SESSION['presentation'] = $row_verif['presentation'];
    		$_SESSION['age'] = $row_verif['age']; //
    		$_SESSION['sexe'] = $row_verif['sexe']; //
    		$_SESSION['ville'] = $row_verif['ville']; //
    		$_SESSION['cp'] = $row_verif['cp']; //
    		$_SESSION['adresse'] = $row_verif['adresse']; //
     
    		$id=$row_verif['id'];
    		$statut=$row_verif['statut'];
    		$pseudo=$row_verif['pseudo'];
    		$mdp=$row_verif['mdp'];
    		$mail=$row_verif['mail'];
    		$prenom=$row_verif['prenom'];
    		$presentation=$row_verif['presentation'];
    		$age=$row_verif['age'];
    		$sexe=$row_verif['sexe'];
    		$ville=$row_verif['ville'];
    		$cp=$row_verif['cp'];
    		$adresse=$row_verif['adresse'];
    		$membre='$id,$statut,$pseudo,$mdp,$mail,$prenom,$presentation,$age,$sexe,$ville,$cp,$adresse';
     
    		?>
    ......
    Je mets ce code pour que tu comprennes mieux comment est definit ce fameux $membre

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 514
    Points : 631
    Points
    631
    Par défaut
    Bonsoir,
    ce qui est entre de simples guillemets n'est pas interprété par PHP.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      $membre='$id,$statut,$pseudo,$mdp,$mail,$prenom,$presentation,$age,$sexe,$ville,$cp,$adresse';
      echo $membre; // retourne $id,$statut,$pseudo,$mdp,$mail,$prenom,$presentation,$age,$sexe,$ville,$cp,$adresse
    Le mieux serait d'utiliser la fonction implode().

    Cordialement,
    DaRiaN.

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 450
    Points : 123
    Points
    123
    Par défaut
    Le dernier script n'a pas pour but d'afficher quoi que ce soit, c'est le premier qui est inclus dans une page qui lui doit afficher quelque chose

    Le dernier script etait juste pour montrer comment est definit session_start($membre); enfin le $membre quoi ...
    Je ne conaissait pas implode(), je vais voir ce que sa donne

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 450
    Points : 123
    Points
    123
    Par défaut
    Je reviens vers vous mes p'tis amis pour savoir si quelqu'un peut juste me dire si, un script inclus dans une page prend en compte un session_start(); au debut de cette meme page ??

    Merci beaucoup

  11. #11
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Points : 1 460
    Points
    1 460
    Par défaut
    oui
    Stay in Bed .. Save Energy

Discussions similaires

  1. Script d'authentification PHP / MySQL avec session
    Par king_soft dans le forum Langage
    Réponses: 6
    Dernier message: 09/07/2010, 15h00
  2. [Sécurité] Script de login / pass avec sessions
    Par atomcomputer dans le forum Langage
    Réponses: 12
    Dernier message: 29/11/2006, 09h58
  3. Réponses: 4
    Dernier message: 02/11/2004, 15h18
  4. liste déroulante avec session
    Par leeloo076 dans le forum ASP
    Réponses: 3
    Dernier message: 19/03/2004, 11h01
  5. Script avec JOINTURE et CASE
    Par Labienus dans le forum Langage SQL
    Réponses: 6
    Dernier message: 27/02/2004, 09h40

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