Avatar billede dgivoni Nybegynder
04. november 2002 - 10:52 Der er 11 kommentarer og
1 løsning

Session problem

Jeg er stoedt ind i et problem, jeg ikke har oplevet foer:

Jeg opretter et par session-variable, naar en bruger logger sig ind, men paa siden, hvor disse login-data skal vises er det kun nogle af session-variablene, der har en vaerdi?

(Jeg bruger ASP/Jscript)

Paa login-siden goer jeg dette:
if (rsUsuario.recordcount > 0)
{
    Session("nivelAcceso") = 1;
    Session("uscodigo") = rsUsuario("uscod");
    Session("usnombre") = rsUsuario("usnom");
   
    Response.redirect("../portadaUsuario.asp");
}

Her redirecter den rigtig nok, og hvis jeg skriver variablenes vaerdier ud, er det helt ok.

Paa siden der bliver redirectet til er det derimod kun Session("nivelAcceso") der har en vaerdi, de andre er bare tomme strenge (dog ikke undefined).

Nogen forklaring paa det?
Avatar billede agony3 Nybegynder
04. november 2002 - 10:57 #1
Har tidligere set noget i den stil. Prøv med:

Session("uscodigo") = "" & rsUsuario("uscod");
Session("usnombre") = "" & rsUsuario("usnom");

Jeg ved det ikke giver nogen mening men prøv lige.
Avatar billede dgivoni Nybegynder
04. november 2002 - 11:00 #2
det hjalp desvaerre ikke rigtig. Nu er vaerdien 0 i stedet for en tom streng.
Jeg har fundet ud af at det har at goere med det recordset jeg henter vaerdien fra. Naar det lukkes, fortaeller den mig at Session-variablen ikke laengere er gyldig? Men hvordan skal jeg saa hente en variabel fra recordsettet?
Avatar billede agony3 Nybegynder
04. november 2002 - 11:03 #3
Der må ligge noget før din if sætning som har indvirkning på dit resultset.
Avatar billede dgivoni Nybegynder
04. november 2002 - 11:08 #4
ja, der ligger noget foer, men eftersom jeg godt kan hente de rigtige vaerdier ud inden Response.redirect, men bagefter ikke kan, saa kan det naeppe vaere det foer, som har betydning, ville jeg mene.
Men her kommer det alligevel:

var rsUsuario = Server.CreateObject("ADODB.Recordset");
rsUsuario.ActiveConnection = sConexion;
rsUsuario.CursorType = 1;
rsUsuario.CursorLocation = 2;
rsUsuario.LockType = 3;

var sql = "SELECT uscod, usnom FROM usuarios WHERE usalias = '" + Request.Form("usuario") + "'";
sql = sql + " AND uspass = '" + Request.Form("password") + "'";
rsUsuario.Open(sql);
Avatar billede misbruger Nybegynder
04. november 2002 - 11:14 #5
if not rsUsuario.eof then
    uscod = rsUsuario("uscod")
    udnom = rsUsuario("usnom")
    Session("nivelAcceso") = 1
    Session("uscodigo") = uscod
    Session("usnombre") = udnom
   
    Response.redirect("../portadaUsuario.asp");
End if
Avatar billede misbruger Nybegynder
04. november 2002 - 11:15 #6
eller...

if not rsUsuario.eof or rsUsuario.bof then
    uscod = rsUsuario("uscod")
    udnom = rsUsuario("usnom")
    Session("nivelAcceso") = 1
    Session("uscodigo") = uscod
    Session("usnombre") = udnom
   
    Response.redirect("../portadaUsuario.asp");
End if
Avatar billede misbruger Nybegynder
04. november 2002 - 11:16 #7
eller...

if not rsUsuario.eof or rsUsuario.bof
{
    uscod = rsUsuario("uscod");
    udnom = rsUsuario("usnom");
    Session("nivelAcceso") = 1;
    Session("uscodigo") = uscod;
    Session("usnombre") = udnom;
   
    Response.redirect("../portadaUsuario.asp");
}
Avatar billede misbruger Nybegynder
04. november 2002 - 11:16 #8
ups...

if not (rsUsuario.eof or rsUsuario.bof)
{
    uscod = rsUsuario("uscod");
    udnom = rsUsuario("usnom");
    Session("nivelAcceso") = 1;
    Session("uscodigo") = uscod;
    Session("usnombre") = udnom;
   
    Response.redirect("../portadaUsuario.asp");
}
Avatar billede dgivoni Nybegynder
04. november 2002 - 11:23 #9
misbruger>> Det hjaelper heller ikke (og jeg HAR sat 'var' foran de nye variable da jeg testede det)
Avatar billede dgivoni Nybegynder
04. november 2002 - 11:26 #10
naar jeg tester med:

if (!(rsUsuario.eof || rsUsuario.bof))
{
    Session("nivelAcceso") = 1;
    Session("uscodigo") = rsUsuario("uscod");
    Session("usnombre") = rsUsuario("usnom");
    rsUsuario.close;
       
    Response.write(Session("uscodigo"));
    //Response.redirect("../portadaUsuario.asp");
}

faar jeg en fejl som hedder (oversat til dansk) noget med objektet er ikke laengere gyldigt v. response.write-saetningen.
Avatar billede dgivoni Nybegynder
04. november 2002 - 12:15 #11
agony3, dit foerste svar virkede alligevel. Jeg havde bare glemt at erstatte '&' med '+'. Opretter du lige et nyt svar, saa du kan faa pointene?
Avatar billede dgivoni Nybegynder
05. december 2002 - 16:04 #12
naa, men saa lukker jeg selv spoergsmaalet...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester