Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Discussione: controllo variabile

  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2000
    Messaggi
    303

    controllo variabile

    ciao a tutti,
    dovrei fare un controllo sull'esistenza di una variabile... è un po' casinoso ma cercherò di essere più chiaro possibile:

    ho delle variabili, sezione1, 2, 3, ma posso aggiungerne altre...

    sezione1="aaaaa"
    sezione2="bbbbb"
    sezione3="ccccc"

    quando richiamo il file, faccio passare una variabile: strSezione

    strSezione=request.querystring("cat")

    a questo punto dovrei controllare se la sezione esiste o no, faccio un esempio in questo caso:

    quando richiamo: file.asp?cat=1

    la variabile sezione1 esiste (<> "") quindi vai avanti.

    se per esempio richiamo: file.asp?cat=16

    la variabile sezione16 NON esiste quindi fai un'altra cosa (in questo caso metto un response.write)

    ho provato così:


    if "sezione"&strSezione <> "" then
    response.write "categoria esistente!"
    else
    response.write "categoria NON esistente!"

    solo che non funziona... non dà errori ma si comporta uguale con qualsiasi variabile...

    come potrei risolvere?

    grazie alla buon'anima che mi aiuta...

    ciauz!

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Come fai a sapere che la sezione (cat) esista o meno?

    Roby

  3. #3
    Utente di HTML.it L'avatar di longline
    Registrato dal
    Sep 2001
    Messaggi
    5,363
    Un buon programmatore usa "Option Explicit" e tutte le variabili usate vengono dichiarate.
    Fossi in te troverei un'altro sistema...

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2000
    Messaggi
    303
    Originariamente inviato da Roby_72
    Come fai a sapere che la sezione (cat) esista o meno?

    Roby
    le sezioni che esistono le dichiaro io sopra:
    sezione1="aaaaa"
    sezione2="bbbbb"
    sezione3="ccccc"


    nel caso in cui la variabile esiste:

    se faccio file.asp?cat=1

    dovrebbe fare:

    if sezione1 <> "" then
    response.write "OK - esistente"
    else
    response.write "categoria NON esistente!"

    e quindi dato che sopra ho specificato che sezione1="aaaaa" è esistente...

    invece, nel caso in cui la variabile NON esiste:

    se faccio file.asp?cat=195

    dovrebbe fare:

    if sezione195 <> "" then
    response.write "OK - esistente"
    else
    response.write "categoria NON esistente!"

    la variabile sezione195 non esiste... quindi scrive "categoria non esistente"

    so che è un po' macchinoso ma adesso dovresti avere capito...


    Originariamente inviato da longline
    Un buon programmatore usa "Option Explicit" e tutte le variabili usate vengono dichiarate.
    Fossi in te troverei un'altro sistema...
    come potrei fare con option explicit?

    ciao e grazie

  5. #5
    mmm non sò se ho capito bene...
    tu assegni 1 valore ad una variabile (o più)
    e poi quando richiami una pagina vuoi sapere se quel valore sia associato ad una varibile giusto?!?!

    ma cat sarebbe il numero della variabile?
    la variabile la scrivi a mano ogni volta? e ogni volta gli associ un valore?!?!?

    cat = request.querystring("cat")
    e fare una cosa del tipo:

    if varibiale = cat then
    ok
    else
    errore
    end if
    ??!?!?!


    mm senò dovrestri splittare la variaible, avere solo il numero della variaible e paragonarlo al numero di cat....


    credo che option.explicit non faccia al tuo caso...
    quel comando dice che tu devi dichiarare le variaible e per dichiarae le variabili si intende:
    dim nome
    e non dare un valore ad una varibile.
    Ah, Jedis! I had no ideas! What can i do for you, honored Jedis?

    I'm not Jedi. I'm a guy with a lighsaber and a few questions.

  6. #6
    Utente di HTML.it L'avatar di longline
    Registrato dal
    Sep 2001
    Messaggi
    5,363
    Option Explicit è un'opzione che impone al programmatore di dichiarare tutte le variabile che verranno utilizzate nel codice.
    Quello che intendevo è che se hai un numero variabile di valori da memorizzare, invece di usare N variabili, è meglio utilizzare delle "strutture" che si adattano meglio a gestire un numero dinamico di valori (array o database).

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2000
    Messaggi
    303
    so che è più difficile da spiegare che da mettere in pratica probabilmente...

    allora:

    ho una variabile

    variabile1 = "valore"

    dovrei controllare che variabile1 abbia un valore, non importa quale valore, basta che esista.

    a questo punto farei:

    if variabile1 <> "" then
    COMANDO DA ESEGUIRE
    else
    response.write "variabile inesistente"
    end if

    il problema sta proprio qui perché vorrei controllare se la variabile esiste in base al valore che faccio passare via querystring.

    esempio:

    se via querystring faccio passare il valore 2 deve fare:

    if variabile2 <> "" then
    COMANDO DA ESEGUIRE
    else
    response.write "variabile inesistente"
    end if

    se via querystring faccio passare il valore PIPPO deve fare:

    if variabilePIPPO <> "" then
    COMANDO DA ESEGUIRE
    else
    response.write "variabile inesistente"
    end if

    io metto in un inclusione la lista delle variabili, così lui vede, se le trova OK altrimenti dà il messaggio di errore...

    spero che mi abbiate capito... so che non è facile infatti ci sto sbattendo la testa da un po' di tempo...

    provvisoriamente ho risolto facendo un if per ogni variabile che ho (al momento ne ho solo 5) il problema è che se ne tolgo qualcuna o ne aggiungo altre devo andare a toccare gli if ogni volta invece in quel modo lì una volta aggiornata la lista delle variabili dovrebbe fare tutto in automatico...

    ciauz

  8. #8
    Utente di HTML.it L'avatar di longline
    Registrato dal
    Sep 2001
    Messaggi
    5,363
    Potresti usare le variabili di sessione, ma devi ricordarti di liberare la memoria alla fine dello script.
    In blu ho evidenziato il codice ch dovresti mettere nell'include.
    codice:
    
    NumeroVariabili = 5
    Session("var1") = "odfaoef"
    Session("var2") = "dtjhjd"
    Session("var3") = "kjdtf7y6"
    Session("var4") = "cugjvcugj"
    Session("var5") = "nvitk68" 
    ...
    For x = 1 To NumeroVariabili 
      If Session("var" & x) <> "" Then
        COMANDO DA ESEGUIRE 
      else 
        response.write "variabile inesistente" 
      end if
    Next
    ...
    For x = 1 To NumeroVariabili
      Session.Content.Remove("var" & x)
    Next

  9. #9
    le varibili dato che le riemi le devi cmq fare a mano..
    a meno che i dati non li prendi da DB.. in quel caso...
    nel ciclo aggiungi:
    x=1
    x = x+1
    nomevariabile = varibile&x
    nomevariabile = record del db
    [chiudi il ciclo]

    poi basta che fai:
    nomevaribileURL = variabile&request.queristryng("valore")
    if nomevaribile = nomevariabileURL then
    la variaibile esiste
    else
    non esiste
    end if

    una cosa del genere dovrebbe funzionare...
    Ah, Jedis! I had no ideas! What can i do for you, honored Jedis?

    I'm not Jedi. I'm a guy with a lighsaber and a few questions.

  10. #10
    Utente di HTML.it
    Registrato dal
    Aug 2000
    Messaggi
    303
    Originariamente inviato da Killer99
    poi basta che fai:
    nomevaribileURL = variabile&request.queristryng("valore")
    if nomevaribile = nomevariabileURL then
    la variaibile esiste
    else
    non esiste
    end if

    una cosa del genere dovrebbe funzionare...
    è proprio quello che ho fatto solo che non funziona... cioè non prende il valore della variabile "variabileX" ma prende "variabileX" al posto del valore di variabileX... sto andando insieme... cmq è così...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.