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 :

switch et include. [PHP 5.2]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné Avatar de rikemSen
    Homme Profil pro
    Analyste Développeur Web - Fizzup.com
    Inscrit en
    Décembre 2007
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste Développeur Web - Fizzup.com
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 387
    Par défaut switch et include.
    Bonjour,
    Je suis en train de plancher en ce moment sur le site d'une team de jeu et mon problème est le suivant:

    dans ma page index.php je fais un if $_GET['nav'] si celui-ci est défini je fais des includes avec un switch.

    Quand je vais donc dans nav = connexion j'ai mon formulaire et tout le patati mais là ou ça se "complique" c'est que lors ce que je me connecte (j'ai pas fait de redirection de réussite, justement pour tester) :

    les variables sessions sont bien ajoutées mais dès que je change de page, **pouf** disparaissent

    eeuuuuhh, un peu de code pour illustrer ^^'

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    if((md5($_POST['pass'])) == $res['password_membre']){// si tout est ok
     
    				$_SESSION['var_authentification'] = true ; // Etat connecté
    				$_SESSION['var_login'] = $res['pseudo_user']; // Son Login
    				$_SESSION['var_id'] = $res['id_user']; // Son id
    				$_SESSION['var_type_user'] = $res['id_type_membre'];
     
    echo '<br /><br />'.$_SESSION['authentification'].'<br />'.$_SESSION['login'].'<br />'.$_SESSION['id'].'<br />'.$_SESSION['type_user'];
    // le echo me retourne "1 le_login_user 1 1 1" (récupéré de bdd)
    //header('location: index.php?nav=account');// Affiche cette page en cas de reussite
    Donc, quand j'envoie le formulaire j'arrive sur la page login qui vérifie pass dans bdd et tout le blabla, si juste je définie mes variables sessions et je les affiche, elles s'affichent correctement et définies avec les données de la bdd.

    Maintenant, le code de mon menu (sessions sont là pour le menu):
    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
     
    	$navigation = '?navigation=';
     
    	if(!isset($_SESSION['var_authentification'])){
    	$liens = '<tr><TD width="100px" style="border-bottom:1px solid #999999;"><a href="'.$_SERVER['PHP_SELF'].$navigation.'inscription">Inscription</a> </td></tr>';
    	$liens .= '<tr><TD width="100px" style="border-bottom:1px solid #999999;"><a href="'.$_SERVER['PHP_SELF'].$navigation.'connexion"><div class="deco_co">Connexion</div></a> </td></tr>';
    	}else{
    	switch ($_SESSION['var_type_user']){
    		case 1:
    		$liens = '<tr><TD width="100px" style="border-bottom:1px solid #999999;"><a href="'.$_SERVER['PHP_SELF'].$navigation.'account">Mon compte</a> </td></tr>';
    		$liens .= '<tr><TD width="100px" style="border-bottom:1px solid #999999;"><a href="'.$_SERVER['PHP_SELF'].$navigation.'&out=1"><div class="deco_co">Déconnexion</div></a> </td></tr>';
    		break;
    	}
     
    // Là j'affiche pour tester si mes variables sessions sont encore là, dans un doute et POUF, A PLUS (dès le changement de page login avant)
    echo '<br /><br />'.$_SESSION['authentification'].'<br />'.$_SESSION['login'].'<br />'.$_SESSION['id'].'<br />'.$_SESSION['type_user'];
    // le echo ne me retourne rien alors qu'il devrait le faire, comme avant...

    Quelqu'un aurait-il une idée? Si je me suis mal exprimé, jveux bien apporter des explications en plus etc...

    Merci.

  2. #2
    Membre confirmé
    Inscrit en
    Août 2006
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 108
    Par défaut
    j ai pas tout saisi, mais bon juste au cas ou, t as bien bien session_start() partout ou il fallait ?

  3. #3
    Membre chevronné Avatar de rikemSen
    Homme Profil pro
    Analyste Développeur Web - Fizzup.com
    Inscrit en
    Décembre 2007
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste Développeur Web - Fizzup.com
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 387
    Par défaut
    Ou comment l'art d'être dégouté en 30s. Merci beaucoup, j'éviterai d'être tête en l'air à l'avenir....

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

Discussions similaires

  1. un include file pour faire un switch en asp
    Par pixelomilcouleurs dans le forum ASP
    Réponses: 1
    Dernier message: 05/03/2010, 18h35
  2. Include à l'intèrieur d'un switch
    Par morgan47 dans le forum Langage
    Réponses: 6
    Dernier message: 06/03/2009, 15h57
  3. switch case, include : ne fonctionne pas
    Par FraK dans le forum Langage
    Réponses: 13
    Dernier message: 02/07/2008, 11h50
  4. [FTP] Include dans un switch, gain de poids ?
    Par nicovoa dans le forum Langage
    Réponses: 3
    Dernier message: 02/11/2006, 09h05
  5. Réponses: 6
    Dernier message: 26/01/2003, 13h45

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