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é] Probleme pour entrer une valeur dans un tableau de session


Sujet :

Langage PHP

  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    159
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 159
    Par d�faut [Sécurité] Probleme pour entrer une valeur dans un tableau de session
    donc voila j'ai ma session d�fini ainsi :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    session_start();
    $_SESSION['achats'] = array();
    ensuite dans ma session je stocke un ID produit et une quantit� associ� � cette quantit� :
    $_SESSION['achats'][un numero ID] pour le produit
    $_SESSION['achats'][un numero ID]['qte'] ou sont stock la quantit� du produit

    Pour l'affichage j'utilise le code suivant :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    foreach($_SESSION['achats'] as $idproduit => $qte) {
    echo $idarticle.'-----'.$qtearticle.'-';
    ...}
    a l'affichage l'ID c'est bon mais pour la quantit� il y a ecrit Array

  2. #2
    Membre confirm�
    Homme Profil pro
    Administrateur de base de donn�es
    Inscrit en
    F�vrier 2005
    Messages
    93
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activit� : Administrateur de base de donn�es

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 93
    Par d�faut
    Ca parle de lui m�me...
    quand t'a x[][] �a veut dire qu'y a un array d'array

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    $_SESSION['produit'] = array(produit=>'pomme',id=>'0', qte=> '5');
     
    echo $_SESSION['produit']['id'];
    //affiche 0

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    159
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 159
    Par d�faut
    moi mais c'est ma quantit� qui rentre pas bien ou bien j'ai mal d�clar� quelque chose

  4. #4
    Membre �clair� Avatar de hisy
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    377
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 377
    Par d�faut
    Envoie nous un print_r de ton tableau $achats ...

    print_r($achats);[/code]

  5. #5
    Membre confirm�
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    159
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 159
    Par d�faut
    Array ( [16] => Array ( [qte] => 0 ) [193] => Array ( [qte] => 0 ) [284] => Array ( [qte] => 0 ) )

  6. #6
    Membre confirm�
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    159
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 159
    Par d�faut
    J'ai remodifier l�gerement mon code donc voila j'ai ma session d�fini ainsi :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    session_start();
    $_SESSION['achats'] = array();
    ensuite dans ma session je stocke un ID produit et une quantit� associ� � cette quantit� :
    $_SESSION['achats'][un numero ID] ou est stock� la quantit� du produit et a pour indice l'Id du produit

    Pour l'affichage j'utilise le code suivant :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
    foreach($_SESSION['achats'] as $idproduit => $qte) {
    $idarticle=$idproduit;
    $qtearticle=$qte;
    echo $idarticle.'-----'.$qtearticle.'-';
    ...}
    a l'affichage l'ID c'est bon mais pour la quantit� il y a ecrit Array

  7. #7
    Membre confirm�
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    159
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 159
    Par d�faut
    je n'arrive plus a rentrer la moindre valeur pour la qunatit� dans mon tableau de session, je ne comprends pas alors j'ai remodifier mon code de gestion du panier pour l'ajout qui est maintenant ainsi :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    //Ajout d'un produit dans le panier
        if ($actionpanier == 'AJOUT'){
            if (!isset($_SESSION['achats'][$idproduit])) {
                $_SESSION['achats'][$idproduit] = 0;
            }
            $_SESSION['achats'][$idproduit] += 1;
        }

  8. #8
    Membre exp�riment�
    Inscrit en
    Septembre 2005
    Messages
    185
    D�tails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 185
    Par d�faut
    keske tu veu a la fin ? comme t'a di -DeN- t'a un array d'array
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    Array ( [16] => Array ( [qte] => 0 ) [193] => Array ( [qte] => 0 ) [284] => Array ( [qte] => 0 ) )
     
    [16] pointe sur un tableau mais pas sur une valeur de ton tableau.tu doi revoir l'exple de DeN
     
    $_SESSION['produit'] = array(produit=>'pomme',id=>'0', qte=> '5');
     
    echo $_SESSION['produit']['id'];
    //affiche 0

  9. #9
    Membre confirm�
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    159
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 159
    Par d�faut
    non j'ai modifi� mon code, voila maintenant ce que ca m'affiche :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    Array ( [284] => [29] => [302] => )
    la quantit� ne s'insere plus dans le panier ?

  10. #10
    Membre exp�riment�
    Inscrit en
    Septembre 2005
    Messages
    185
    D�tails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 185
    Par d�faut
    envoie le code modifi�.�a doit un probl�me de structutration

  11. #11
    Membre confirm�
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    159
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 159
    Par d�faut
    Voila le code de gestion du panier :
    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
    <?
    session_start();
    if(array_key_exists('action', $_GET)){
       $actionpanier=$_GET['action'];
    //Recupération de l'ID dans les différents cas
    if(isset($_GET['idsuppr'])) $idproduit=$_GET['idsuppr'];
    else{
        if(isset($_POST['QTE']) && isset($_POST['idart'])) $idproduit=$_POST['idart'];
        else{
            if(isset($_GET['idpdt'])) $idproduit=$_GET['idpdt'];
            else{
                if(isset($_GET['id'])) $idproduit=$_GET['id'];
            }
        }
    }        
    //Suppresion d'une ligne
    if ($actionpanier=='supprligne') unset($_SESSION['achats'][$idproduit]);
    //Vider le panier
    if ($actionpanier=='vider') unset($_SESSION['achats']);
    //Test pour que la page ne refasse pas la meme chose quand on actualise
    if($_SESSION['verif_value'] == $_GET['verif_value']){
       //Ajout d'un produit dans le panier
        if ($actionpanier == 'AJOUT'){
            if (!isset($_SESSION['achats'][$idproduit])) {
                $_SESSION['achats'][$idproduit] = 0;
            }
            $_SESSION['achats'][$idproduit] += 1;
        }
    //---------------------------------Modification d'une quantité dans le panier
    //Plus un
        if ($actionpanier=='ajoutun'){
            $_SESSION['achats'][$idproduit] ++;
        } 
        //Moins un
        if ($actionpanier=='supprun'){
            $_SESSION['achats'][$idproduit] --;
        }
        //Saisie de la quantité
        if ($_SESSION['achats'][$idproduit] != $_POST['QTE']) {
            $_SESSION['achats'][$idproduit] = $_POST['QTE']; //La nouvelle remplace l'ancienne qte
        }
        //Choix alétoire d'une valeur pour gérer problème de l'actualisation
        $_SESSION['verif_value'] = rand(1,1000000);
    } 
       ?>
    <script>
    window.location.replace('index2.php?panier=1.php');
    </script>
    <?
    }

  12. #12
    Membre �m�rite Avatar de macbook
    Inscrit en
    F�vrier 2006
    Messages
    838
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2006
    Messages : 838
    Par d�faut
    Avec :

    <?php
    $_SESSION
    ['achats']&#160;=&#160;array&#160;(&#160;16&#160;=>&#160;array&#160;(&#160;'qte'&#160;=>&#160;0&#160;)&#160;,&#160;
    &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
    193&#160;=>&#160;array&#160;(&#160;'qte'&#160;=>&#160;0&#160;)&#160;,&#160;
    &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
    284&#160;=>&#160;array&#160;(&#160;'qte'&#160;=>&#160;0&#160;)&#160;
    &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160&#160;;
    ?>

    Phpsyntaxcolor powered by decabodi
    Tu dois faire :

    <?php
    foreach&#160;(&#160;$_SESSION['achats']&#160;as&#160;$idproduit&#160;=>&#160;$qte&#160;&#160;)
    {
    echo&#160;
    $idproduit&#160;.&#160;'-----'&#160;.&#160;$qte['qte']&#160;.&#160;'-<br&#160;/>'&#160;;
    }
    ?>

    Phpsyntaxcolor powered by decabodi

  13. #13
    Membre exp�riment�
    Inscrit en
    Septembre 2005
    Messages
    185
    D�tails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 185
    Par d�faut
    je pense que la resolution de ton script passerai par un tableau multidimensionnel. car t'a un tableau que tu voudrais imbriquer dans un autre.
    alors

  14. #14
    Membre confirm�
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    159
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 159
    Par d�faut
    merci mais j'ai remodifi� mon code, que j'ai mis au dessus

  15. #15
    Membre �m�rite Avatar de macbook
    Inscrit en
    F�vrier 2006
    Messages
    838
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2006
    Messages : 838
    Par d�faut
    Oki, alors �a en est o� maintenant ??

  16. #16
    Membre confirm�
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    159
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 159
    Par d�faut
    Citation Envoy� par polace
    je pense que la resolution de ton script passerai par un tableau multidimensionnel. car t'a un tableau que tu voudrais imbriquer dans un autre.
    alors
    je comprends pas j'ai un tableau qui stocke une quantit� et l'indice de la cellule est l'Id du produit, c'est simple nan ?

  17. #17
    Membre �m�rite Avatar de macbook
    Inscrit en
    F�vrier 2006
    Messages
    838
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2006
    Messages : 838

  18. #18
    Membre confirm�
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    159
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 159
    Par d�faut
    j'aime bien la solution que j'utilise
    mais je ne comprends pas pourquoi ma quantit� ne s'insere pas dans mon tableau de session

  19. #19
    Membre �m�rite Avatar de macbook
    Inscrit en
    F�vrier 2006
    Messages
    838
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2006
    Messages : 838
    Par d�faut
    On �tait sur un probl�me d'affichage et on est maintenant sur un probl�me d'insertion de donn�e dans un tableau c'est �a ?

    Dans ce cas l� il aurait fallu scinder le topic en deux questions distinctes.

    L� j'ai du mal � suivre, dialogue de sourd.

  20. #20
    Membre confirm�
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    159
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 159
    Par d�faut
    pardon en fait maintenant je n'arrive plus a ins�rer la quantit� dans mon tableau le code est le suivant pour la gestion de mon panier :

    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
     
    <?
    session_start();
    if(array_key_exists('action', $_GET)){
       $actionpanier=$_GET['action'];
    //Recupération de l'ID dans les différents cas
    if(isset($_GET['idsuppr'])) $idproduit=$_GET['idsuppr'];
    else{
        if(isset($_POST['QTE']) && isset($_POST['idart'])) $idproduit=$_POST['idart'];
        else{
            if(isset($_GET['idpdt'])) $idproduit=$_GET['idpdt'];
            else{
                if(isset($_GET['id'])) $idproduit=$_GET['id'];
            }
        }
    }       
    //Suppresion d'une ligne
    if ($actionpanier=='supprligne') unset($_SESSION['achats'][$idproduit]);
    //Vider le panier
    if ($actionpanier=='vider') unset($_SESSION['achats']);
    //Test pour que la page ne refasse pas la meme chose quand on actualise
    if($_SESSION['verif_value'] == $_GET['verif_value']){
       //Ajout d'un produit dans le panier
        if ($actionpanier == 'AJOUT'){
            if (!isset($_SESSION['achats'][$idproduit])) {
                $_SESSION['achats'][$idproduit] = 0;
            }
            $_SESSION['achats'][$idproduit] += 1;
        }
    //---------------------------------Modification d'une quantité dans le panier
    //Plus un
        if ($actionpanier=='ajoutun'){
            $_SESSION['achats'][$idproduit] ++;
        }
        //Moins un
        if ($actionpanier=='supprun'){
            $_SESSION['achats'][$idproduit] --;
        }
        //Saisie de la quantité
        if ($_SESSION['achats'][$idproduit] != $_POST['QTE']) {
            $_SESSION['achats'][$idproduit] = $_POST['QTE']; //La nouvelle remplace l'ancienne qte
        }
        //Choix alétoire d'une valeur pour gérer problème de l'actualisation
        $_SESSION['verif_value'] = rand(1,1000000);
    }
       ?>
    <script>
    window.location.replace('index2.php?panier=1.php');
    </script>
    <?
    }

Discussions similaires

  1. [XL-2003] Probleme pour mettre une valeur dans la cellule voulue
    Par tools dans le forum Macros et VBA Excel
    R�ponses: 1
    Dernier message: 07/06/2011, 15h46
  2. R�ponses: 13
    Dernier message: 31/01/2010, 10h58
  3. R�ponses: 10
    Dernier message: 05/01/2008, 11h59
  4. Probleme pour ins�rer une valeur dans une bdd
    Par gaetan.tranvouez dans le forum VB 6 et ant�rieur
    R�ponses: 16
    Dernier message: 30/05/2006, 10h58
  5. Probleme pour faire une somme dans header ??
    Par snoop57 dans le forum Access
    R�ponses: 7
    Dernier message: 01/12/2005, 13h40

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