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 :

prob de sessions


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2005
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 52
    Points : 20
    Points
    20
    Par défaut prob de sessions
    Salut,

    Voilà je vous explique mon probleme : j'ai une liste de produits dans mon back office. J'ai différents choix pour afficher ceux ci : par référence, par essence, par echelle. Je veux passer le choix en session afin que si on bricole sur une référence, que quand on retourne à la liste le choix de tri soit conservé. La ça reste bloqué au tri 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
    28
    29
    30
    switch($tri){
                         case "ref":
                              session_unregister("tri");
                              $_SESSION['tri'] = 'ref';
                              $req1 = mysql_query("SELECT * FROM catalogue ORDER BY ref")  or die ('ERREUR TRI REF<br>'. mysql_error());
                         break;
                         case "ess":
                              session_unregister("tri");
                              $_SESSION['tri'] = 'ess';
                              $req1 = mysql_query("SELECT * FROM catalogue ORDER BY essence,ref")  or die ('ERREUR TRI ESSENCE<br>'. mysql_error());
                         break;
                         case "classe":
                              session_unregister("tri");
                              $_SESSION['tri'] = 'ess2';
                              $req1 = mysql_query("SELECT * FROM catalogue WHERE essence='$super' ORDER BY echelle,ref")  or die ('ERREUR TRI ESSENCE 2<br>'. mysql_error());
                         break;
                         default:
                              session_unregister("tri");
                              $_SESSION['tri'] = 'nimp';
                              $req1 = mysql_query("SELECT * FROM catalogue ORDER BY echelle,ref")  or die ('ERREUR TRI<br>'. mysql_error());
                         break;
                     }
     
                         echo "<center><table border=0 class=admin width=250 bgcolor=red><tr><td align=center>
                         <span class=titre>".$info."</span></td></tr></table></center><br>";
                     }
                     echo "<table align=center border=0 class=admin><tr><td>                 
                     <td><a href='?'>Tri par échelle</a></td><td> - </td>
                     <td><a href='?tri=ref'>Tri par référence</a></td><td> - </td>
                     <td><a href='?tri=ess'>Tri par essence</a></td></tr></table>";

  2. #2
    Membre averti
    Avatar de Julien.alkaza
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 239
    Points : 363
    Points
    363
    Par défaut
    C'est quoi le problème????

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2005
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 52
    Points : 20
    Points
    20
    Par défaut Re: prob de sessions
    Citation Envoyé par lacfab
    La ça reste bloqué au tri par défaut ...
    C'est ça le problème ! si je clique par exemple sur tri par essence ça recahrge la page mais ça reste sur le tri par défaut c'est à dire par référence !
    J'ai testé en enlevant tous les trucs de session ça marche impeccable ! mais si je modifie une référence, quand ça recharge ça retourne au tri par référence alors c'est un peu chiant !
    J'ai fouillé dans mes bouquins mais je trouve pas ce cas !
    Help ! :-)

  4. #4
    Membre habitué Avatar de ciesco
    Inscrit en
    Février 2004
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 110
    Points : 127
    Points
    127
    Par défaut
    Ta session tu l'as ouverte correctement. En placant le session_start au dessus de tout?

  5. #5
    Membre à l'essai
    Inscrit en
    Mars 2005
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 52
    Points : 20
    Points
    20
    Par défaut
    oui oui tout fonctionne bien sinon ! j'ai ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?
    session_start();
    if($_SESSION['loginOK'] != 'ok'){
        header("location: secret_erreur.php");
    }
    ?>

  6. #6
    Membre confirmé Avatar de papyphp
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    438
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 438
    Points : 587
    Points
    587
    Par défaut
    Salut,

    Comme ça, au pif, $tri vient d'ou?

  7. #7
    Membre à l'essai
    Inscrit en
    Mars 2005
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 52
    Points : 20
    Points
    20
    Par défaut Re: prob de sessions
    Citation Envoyé par lacfab

  8. #8
    Membre confirmé Avatar de papyphp
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    438
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 438
    Points : 587
    Points
    587
    Par défaut
    OK mais comment est initialisé $tri

  9. #9
    Membre averti Avatar de gofono_bass
    Inscrit en
    Décembre 2005
    Messages
    383
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2005
    Messages : 383
    Points : 448
    Points
    448
    Par défaut
    Ce qu'on veut savoir c'est $tri tu le recupere ou? je suppose que tu l'obtiens par un $^_GET ou un $_POST ou comment tu le defini?

  10. #10
    Membre à l'essai
    Inscrit en
    Mars 2005
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 52
    Points : 20
    Points
    20
    Par défaut
    non non il est récupéré quand je clique sur mes liens :

    Je dois pas faire comme ça ??

  11. #11
    Membre averti Avatar de gofono_bass
    Inscrit en
    Décembre 2005
    Messages
    383
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2005
    Messages : 383
    Points : 448
    Points
    448
    Par défaut
    si tu peux faire comme ça, mais dans ce cas tu dois l'utiliser comme ça:
    $_GET['tri'];
    ou alors, c'est plus partique d'ailleurs:
    $tri=$_GET['tri'];

    C'est avec le $_GET que tu prens les variables incluses en parametres dans l'url

  12. #12
    Membre à l'essai
    Inscrit en
    Mars 2005
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 52
    Points : 20
    Points
    20
    Par défaut
    C'est bon j'ai mis ça ça ne se bloque plus mais ça ne retient pas la façon dont je veux que la page reste triée :'( snifff

  13. #13
    Membre confirmé Avatar de papyphp
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    438
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 438
    Points : 587
    Points
    587
    Par défaut
    Gofono t'a tout dit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $tri=$_GET['tri'];
    switch($tri)
    {
     ...
    }

  14. #14
    Membre à l'essai
    Inscrit en
    Mars 2005
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 52
    Points : 20
    Points
    20
    Par défaut
    C'est bon j'ai mis ça ça ne se bloque plus mais ça ne retient pas la façon dont je veux que la page reste triée :'( snifff

  15. #15
    Membre averti Avatar de gofono_bass
    Inscrit en
    Décembre 2005
    Messages
    383
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2005
    Messages : 383
    Points : 448
    Points
    448
    Par défaut
    C'eest pas la peine de mettre les session_unregister(), essaie sans?

  16. #16
    Membre à l'essai
    Inscrit en
    Mars 2005
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 52
    Points : 20
    Points
    20
    Par défaut
    Désolé pour le retard de réponse je me suis fait pirater je suis en train de faire ma sauvegarde en mode sans échec snifff j'avais mis sans les unregister avant ... ça faisait le même truc. je les ai ajouté pensant qu'il fallait détruire a valeur précedente avant d'en enregistrer une nouvelle.

  17. #17
    Membre à l'essai
    Inscrit en
    Mars 2005
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 52
    Points : 20
    Points
    20
    Par défaut
    Bon je remet le problème sur la table. Je viens de passer une semaine à galérer avec ce virus maudit !!
    J'ai fait tout ce que vous avez dit ... mais ça ne marche toujours pas. ça me fait une erreur en plus ..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Warning: main(secret_catalogue.php?tri=ref): failed to open stream: No such file or directory in /home/lefuretr/www/sylviasdd/secret_catalogue.php on line 250
     
    Warning: main(): Failed opening 'secret_catalogue.php?tri=ref' for inclusion (include_path='.:/usr/local/lib/php') in /home/lefuretr/www/sylviasdd/secret_catalogue.php on line 250
    et voici mon script :
    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
    $tri=$_GET['tri'];
                     if ($_SESSION['tri']='ref'){
                         include("secret_catalogue.php?tri=ref");   //***
                     }
                     elseif ($_SESSION['tri']='ess'){
                         include("secret_catalogue.php?tri=ess");
                     }
                     elseif ($_SESSION['tri']='ess2'){
                         include("secret_catalogue.php?tri=ess2");
                    }
                     else{
                         include("secret_catalogue.php?tri=eche");
                     }
                     switch($tri){
                         case "ref":
                              $_SESSION['tri'] = 'ref';
                              $req1 = mysql_query("SELECT * FROM catalogue ORDER BY ref")  or die ('ERREUR TRI REF<br>'. mysql_error());
                         break;
                         case "ess":
                              $_SESSION['tri'] = 'ess';
                              $req1 = mysql_query("SELECT * FROM catalogue ORDER BY essence,ref")  or die ('ERREUR TRI ESSENCE<br>'. mysql_error());
                         break;
                         case "classe":
                              $_SESSION['tri'] = 'ess2';
                              $req1 = mysql_query("SELECT * FROM catalogue WHERE essence='$super' ORDER BY echelle,ref")  or die ('ERREUR TRI ESSENCE 2<br>'. mysql_error());
                         break;
                         case "eche":
                              $_SESSION['tri'] = 'eche';
                              $req1 = mysql_query("SELECT * FROM catalogue ORDER BY echelle,ref")  or die ('ERREUR TRI<br>'. mysql_error());
                         break;
                         default:
                              $req1 = mysql_query("SELECT * FROM catalogue ORDER BY echelle,ref")  or die ('ERREUR TRI<br>'. mysql_error());
                         break;
                     }
    la ligne 250 c celle ou jai mis trois étoiles

  18. #18
    Membre expérimenté

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Points : 1 639
    Points
    1 639
    Par défaut
    ARGG !!!!
    Quand tu vérifies une égalité, l'opérateur à utiliser est ==, pas =. = est un opérateur d'affectation.
    Il ne faut pas coder :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    if ($_SESSION['tri']='ref'){
                         include("secret_catalogue.php?tri=ref");   //***
                     }
                     elseif ($_SESSION['tri']='ess'){
                         include("secret_catalogue.php?tri=ess");
                     }
                     elseif ($_SESSION['tri']='ess2'){
                         include("secret_catalogue.php?tri=ess2");
                    }
                     else{
                         include("secret_catalogue.php?tri=eche");
                     }
    Ce qui affecte systématiquement 'ref' à $_SESSION['tri'], mais il faut coder :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    if ($_SESSION['tri']=='ref'){
                         include("secret_catalogue.php?tri=ref");   //***
                     }
                     elseif ($_SESSION['tri']=='ess'){
                         include("secret_catalogue.php?tri=ess");
                     }
                     elseif ($_SESSION['tri']=='ess2'){
                         include("secret_catalogue.php?tri=ess2");
                    }
                     else{
                         include("secret_catalogue.php?tri=eche");
                     }

  19. #19
    Membre à l'essai
    Inscrit en
    Mars 2005
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 52
    Points : 20
    Points
    20
    Par défaut
    ok là ça me fait l'erreur sur mon else maintenant ... je crois que c pas comme ça que je dois faire car il appelle deux fois la même page ... (c ce que dis l'erreur non ?)

  20. #20
    Membre à l'essai
    Inscrit en
    Mars 2005
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 52
    Points : 20
    Points
    20
    Par défaut
    oui ben traitez moi de boulet j'ai fait nimp ... en faisant ça je n'ai plus d'erreur ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    $tri=$_GET['tri'];
     if ($_SESSION['tri']=='ref'){
    $req1 = mysql_query("SELECT * FROM catalogue ORDER BY ref")  or die ('ERREUR TRI REF<br>'. mysql_error());
    }
    elseif ($_SESSION['tri']=='ess'){
    $req1 = mysql_query("SELECT * FROM catalogue ORDER BY essence,ref")  or die ('ERREUR TRI ESSENCE<br>'. mysql_error());
    }
    elseif ($_SESSION['tri']=='ess2'){
    $req1 = mysql_query("SELECT * FROM catalogue WHERE essence='$super' ORDER BY echelle,ref")  or die ('ERREUR TRI ESSENCE 2<br>'. mysql_error());
    }
    else{
    $_SESSION['tri'] == 'eche';
    $req1 = mysql_query("SELECT * FROM catalogue ORDER BY echelle,ref")  or die ('ERREUR TRI<br>'. mysql_error());
    }
    MAIS ça ne retient pas la variable de session ... si je clique sur une autre page et que je reviens ça a remis le tri par defaut ... grrr
    PS : je rappelle que ma session fonctionne puisque c'est sur unaccès privé (qui fonctionne parfaitement à part ça ...)

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [PHP 5.2] Session conditionnelle + prob.
    Par degseb dans le forum Langage
    Réponses: 4
    Dernier message: 29/03/2010, 20h28
  2. prob session
    Par zaineb.z dans le forum Struts 1
    Réponses: 2
    Dernier message: 13/09/2007, 14h14
  3. Prob HTTP 500 session is closed ..
    Par j.maillard dans le forum Hibernate
    Réponses: 1
    Dernier message: 01/08/2007, 09h49
  4. Prob avec les variables de session
    Par King_T dans le forum Langage
    Réponses: 8
    Dernier message: 07/05/2006, 23h14
  5. [Kylix] prob listview
    Par sdoura2 dans le forum EDI
    Réponses: 1
    Dernier message: 22/10/2002, 21h37

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