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 :

[Sécurité] problème variable de session


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 175
    Par défaut [Sécurité] problème variable de session
    Je bloque sur ca depuis un petit moment et j'espere vraiment que vous pourrez m'aider. Sur une 1ere page j'ai un formulaire POST qui effectue une recherche dans la base et sur une 2eme page j'affiche les resultats. Seulement sur la page ou j'affiche les resultats il y a une fonction pagination et quand je clique sur la page suivante je perds les variables et donc les resultats ne sont plus bons. J'ai essaye de les mettre en session seulement j'ai du me planter car ca ne marche pas et je voiss pas d'ou vient le probleme. Voici le code et le resultat de echo $query en page 1 et en page 2. Comme vous le voyez il n'y a plus le WHERE en page 2.

    echo $query page 1
    SELECT region FROM voitures WHERE region='alsace' ORDER BY date DESC
    echo $query page 2
    SELECT region FROM voitures ORDER BY date DESC

    Code de la page de resultats
    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
     
    <?
    $query = "SELECT region FROM voiture";
     
    $region=$_SESSION['region'];
     
    if(isset($_POST['region']) && $_POST['region'] != "*" && $_SESSION['region']=$_POST['region']) {
    $region = $fields['region'] = $_SESSION['region'];
    }
     
    if(!empty($fields)) {
         $i = 0;
         $query .= " WHERE ";
         foreach($fields AS $field => $value) {
              if($i > 0) {
                   $query .= " AND ";
              }
              else {
                   $query .= $field." = '".$value."'";
              }
              $i++;
         }
    }
     
    $query .= " ORDER BY date DESC ";
    echo $query;
    echo( "<br>region: <b>".$region."</b><br>\n" ) ;
     
    $result = mysql_query($query) or die ('Erreur : '.mysql_error() );
     
    $Nmax = 3;
    $Ncur = 0;
     
    $Ndeb=@$_GET["num"];
     
    while (($row = mysql_fetch_array($result))
       && ($Ncur<$Nmax+$Ndeb)) {
       if($Ncur>=$Ndeb)
    {
        echo '<table width="450" border="0" cellspacing="0">'."\n";
            echo '<tr>';
            echo '<td class="ad">('.$row['region'].')</td>';
            echo '</tr>'."\n";
        echo '</table>'."\n";
    }
     
     
       $Ncur++;
    } ?>

  2. #2
    Membre éprouvé
    Inscrit en
    Janvier 2006
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 140
    Par défaut
    pareil que le monsieur dans le topic de pagination, il faut que tu trimballes tes resultats dans des formulaires ou directement dans l'url cible et que tu les transmettes à chaque changement de page

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 175
    Par défaut
    Citation Envoyé par drommk
    pareil que le monsieur dans le topic de pagination, il faut que tu trimballes tes resultats dans des formulaires ou directement dans l'url cible et que tu les transmettes à chaque changement de page
    Si je veux utiliser les formulaires comment je transmet le formulaire quand l'utilisateur change de page? Je debute et je vois pas comment on transmet les variables s'il n'y a pas de bouton submit sur la page.

  4. #4
    Membre Expert

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Par défaut
    Citation Envoyé par dolf13
    Si je veux utiliser les formulaires comment je transmet le formulaire quand l'utilisateur change de page? Je debute et je vois pas comment on transmet les variables s'il n'y a pas de bouton submit sur la page.
    si tu veux les garder sur d'autre pages, alors tu dois passer par des variables de sessions.

    tu peux aller ici : faq.developpez.com/php/ ou tu trouveras ton bonheur.

    ce que drommk voulait dire c'est les conserver en le remettant en balises
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="hidden" name="" value="">
    dans d'autres formulaires, dans le cas ou tu as un formulaire puis un autre et ainsi de suite.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 175
    Par défaut
    Non j'ai pas d'autre formulaire... je veux juste arriver à les conserver quand j'ai plusieurs pages de resultats... ca doit etre tout con et je sais qu'il faut utiliser SESSIONS mais je dois faire un truc de travers... merci

  6. #6
    Membre éprouvé
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Par défaut
    Salut,

    Soit tu mets la clause where dans un lien que tu récupères:
    <a href="?region=alsace&page=2">
    Soit tu le mets donc en session: après tout le traitement tu fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION['region'] = 'alsace';
    Et au début du script pour le récupérer s'il existe:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $region = (isset($_SESSION['region'])) ? $_SESSION['region'] : "";

Discussions similaires

  1. Réponses: 2
    Dernier message: 05/10/2004, 23h43
  2. Effacer les variables de session
    Par glsn dans le forum ASP
    Réponses: 2
    Dernier message: 12/12/2003, 14h42
  3. Variable de session
    Par Sadneth dans le forum ASP
    Réponses: 6
    Dernier message: 14/11/2003, 12h12
  4. variable de session
    Par divableue dans le forum ASP
    Réponses: 2
    Dernier message: 23/10/2003, 17h04

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