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

ASP Discussion :

var de session et tableau


Sujet :

ASP

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 28
    Points : 19
    Points
    19
    Par défaut var de session et tableau
    salut,
    j'ai un formulaire avec deux champ : x et y
    la validation ajoute le couple x et y dans une var de session et retourne au formulaire, un nouvel ajout dans le panier ajoute le couple à la fin,donc mon tableau aura 2 ligne
    le code suivant (ajout dans le panier) ne marche pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    x = request.form("x")
    y = request.form("y")
    panier = session("sess_panier")
    n = UBound(panier)
    panier(n, 'col_x') = x
    panier(n, 'col_y') = y
    session("sess_panier") = panier
    qu'est ce qui cloche dans mon code ???
    merci

  2. #2
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 512
    Points
    9 512
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    x = request.form("x")
    y = request.form("y")
    panier = session("sess_panier")
    n = UBound(panier)
    panier(n, 'col_x') = x
    panier(n, 'col_y') = y
    session("sess_panier") = panier
    Il faut mettre un indice pas du texte. De plus, est-ce que ton tableau est bien dimenssionné?
    De plus, que donne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    panier = session("sess_panier")
    response.write(isarray(panier))
    A+

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 28
    Points : 19
    Points
    19
    Par défaut
    j'ai testé ceci :
    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
     
    	nb = session("sess_nb") 'nbr total des produits du panier
    	if nb = "" then
    		nb = 0 'si panier initialement vide, mettre nb = 0
    	end if
    	a = request.form("x")
    	b = request.form("y")
    	dim panier(10,1) 'si je ne met pas ça, j'ai une erreur
    	panier(10,1) = session("sess_panier") 'je recupere le panier depuis la session
    	response.write("<br> nb = " & nb)
    	response.write("<br> isarray" & isarray(panier)) 'donne true, meme si je ne fais pas de DIM  !!
    	n = UBound(panier) 'j'ai essayé de calculer le nbr de ligne : tjr -1 !!!
    	response.write("<br> n = " & n)
     
           'j'ajoute mes produits (exp : nom, qte)
    	panier(nb,0) = a
    	panier(nb,1) = b
     
    	nb = nb + 1 'j'ai un produit de plus
    	session("sess_panier") = panier(10,1)	'ça ne fout rien !!!
    	session("sess_nb") = nb	 'ca fonctionne
     
    	response.write("<br> Contenu du tab")
    	for i=0 to 9
    		response.write("<hr>n : "&i)
    		response.write("<br>x : "&panier(i, 0))
    		response.write("<br>y : "&panier(i, 1))
    	next
    la derniere boucle (affichage) affiche le contenu de a et b dans la 1ere ligne; ensuite si j'ajoute un produit, la 1ere ligne est perude, si j'ajoute encore, la 2eme aussi...
    où est le pb ??? apparemment asp ne veut pas mettre de tableaux dans une var de sessin !!!

  4. #4
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 512
    Points
    9 512
    Par défaut
    Voici la version corrigée.
    Regarde bien et essaye de comprendre
    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
    if session("sess_nb") = "" then
    	nb = 0 'si panier initialement vide, mettre nb = 0
    else
    	nb = session("sess_nb")
    end if
    response.write("nb = " & nb & "<br>")
     
    a = request.form("x")
    b = request.form("y")
    dim panier 'Ne pas déclarer les dimensions
    panier = session("sess_panier") 'je recupere le panier depuis la session
    response.write("isarray panier : " & isarray(panier) & "<br>") 'donne true, meme si je ne fais pas de DIM  !! Normal.
    response.write("isarray session('sess_panier') : " & isarray(panier) & "<br>")
    n1 = UBound(panier,1) 'Première dimension
    n2 = UBound(panier,2) 'Deuxième dimension
    response.write("n1 = " & n1 & "<br>")
    response.write("n2 = " & n2 & "<br>")
     
    'j'ajoute mes produits (exp : nom, qte)
    panier(nb,0) = a
    panier(nb,1) = b
     
    nb = nb + 1 'j'ai un produit de plus
    session("sess_panier") = panier 'ca fonctionne
    session("sess_nb") = nb	 'ca fonctionne
     
    response.write("<br> Contenu du tab")
    for i = 0 to UBound(panier,1)
    	for j = 0 to UBound(panier,2)
    		response.write("<hr>n : "&i)
    		response.write("<br>x : "&panier(i, j))
    		response.write("<br>y : "&panier(i, j))
    	next
    next

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 28
    Points : 19
    Points
    19
    Par défaut
    J'ai testé votre code mais j'ai ce ci :

    nb = 0
    isarray panier : False
    isarray session('sess_panier') : False

    Microsoft VBScript runtime error '800a000d'

    Type mismatch: 'UBound'

    /temp/Copie de panier2.asp, line 25

    je pense qu'il faut déclarer le panier comme tableau avec les dimensions.

Discussions similaires

  1. [PHP 4] session et tableau array avec 4 colonnes
    Par sooprano dans le forum Langage
    Réponses: 1
    Dernier message: 30/06/2009, 14h38
  2. [c#][asp.net]variable de session type tableau multidim
    Par chorokari dans le forum ASP.NET
    Réponses: 4
    Dernier message: 18/07/2008, 23h34
  3. Variable de session et tableau
    Par Lordkpo dans le forum Langage
    Réponses: 3
    Dernier message: 21/08/2007, 12h17
  4. Session et tableau à 2 dimension
    Par wehtam dans le forum ASP
    Réponses: 14
    Dernier message: 28/09/2005, 16h21
  5. Session et tableau
    Par babagulu dans le forum ASP
    Réponses: 4
    Dernier message: 21/09/2005, 23h15

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