Avatar billede webbe Nybegynder
20. marts 2001 - 09:00 Der er 39 kommentarer og
1 løsning

Poster der svarer til login!?

Hej!

Jeg har brug for at få vist de poster der svarer til den bruger der logger på systemet.

Det er et ordreadministrations-system hvor sælgerne kun skal have adgang til at slette/rette deres egne ordre. De logger på via sessions.

Når de skal have vist oversigten over deres skemaer, skal de kun have vist deres egne skemaer så Sælger1 ikke kan slette/rette i fx. Sælger4 ordre.

Jeg skal derfor krydstjekke de afgivne ordre med min Login-session og derefter vise de poster der har samme brugernavn som Login-sessionen.

Er der nogen der har en løsning på det?

Jeg poster gerne noget kode!
Avatar billede sone Nybegynder
20. marts 2001 - 09:10 #1
I den SELECT som vælger sælgerens ordrer, skal du laver en

  ...WHERE sæaelgerid = \" & Session(\"saelgerid\")

så får du kun ordrer fra den sælger der er på.
Avatar billede webbe Nybegynder
20. marts 2001 - 09:23 #2
sone:

Jeg har ikke en session der hedder salger_id....du får lige mine sessions:

Session(\"Admin\") = false
Session(\"Bruger\") = false
Session(\"Brugernavn\") = \"\"
Session(\"Password\") = \"\"
Session(\"adgang\") = false

Jeg bruger Session(\"Brugernavn\") som nøgle til udvælgelsen.
Avatar billede webbe Nybegynder
20. marts 2001 - 09:25 #3
Får iøvrigt følgende fejl:

[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression \'Saelger_id=\'.

når jeg bruger denne sætning:

rs.Open \"SELECT * FROM Main_table WHERE Saelger_id=\" &Session(\"Brugernavn\"), Connect, 1, 3
Avatar billede sone Nybegynder
20. marts 2001 - 09:27 #4
Du skal have \' omkring dit brugernavn:

...WHERE Saelger_id=\'\" &Session(\"Brugernavn\") & \"\'\",....
Avatar billede webbe Nybegynder
20. marts 2001 - 09:31 #5
Hmmm - nu ligger der én post i tabellen, men den bliver ikke hentet frem i oversigten....kan det være fordi den ikke husker min session(\"Brugernavn\")?
Avatar billede webbe Nybegynder
20. marts 2001 - 09:32 #6
Den melder ikke nogen fejl!
Avatar billede sone Nybegynder
20. marts 2001 - 09:44 #7
Selve din SQL-sætning, prøv at opbygge den i variabel først og udskriv den i browseren - så kan du se om der er fejl.
Avatar billede webbe Nybegynder
20. marts 2001 - 09:52 #8
Hmmm - den skriver følgende:

SELECT * FROM Main_table WHERE Saelger_id=\'\'

Så den husker vel ikke min session alligevel!?
Avatar billede sone Nybegynder
20. marts 2001 - 09:53 #9
Korrekt.
Avatar billede webbe Nybegynder
20. marts 2001 - 09:54 #10
Hvordan kan jeg så få den til at huske min session???
Avatar billede webbe Nybegynder
20. marts 2001 - 09:54 #11
Du skal nok få flere point!
Avatar billede sone Nybegynder
20. marts 2001 - 09:56 #12
Session(\"Brugernavn\") = \"\"
du indsætter vel en værdi for Brugernavn et eller andet sted ?
Avatar billede webbe Nybegynder
20. marts 2001 - 09:59 #13
Jeps - det gør jeg der hvor jeg taster brugernavn og login!

Derfra ryger jeg ind i en menu hvor jeg kan vælge \"Opret\", \"Ret\" eller \"Slet\".

Så jeg skal vel lave sætningen Session(\"Brugernavn\") = Request.Form(\"username\") og så ligge den i et hidden field eller hvad??
Avatar billede sone Nybegynder
20. marts 2001 - 10:07 #14
Session(\"Brugernavn\") = Request.Form(\"username\")
burde være nok. Check fra start og find ud af hvor det er at brugernavnet ikke kommer med videre.
Avatar billede webbe Nybegynder
20. marts 2001 - 10:15 #15
Hmmm - opgiver det sq!
Den sender ikke brugernavnet videre end til mit loginscript og jeg kan ikke få sendt det videre derfra!

Så må jeg finde en anden løsning.
Avatar billede sone Nybegynder
20. marts 2001 - 10:16 #16
Du giver let op :)
Det skal da virke med at ligge det i en session!
Avatar billede webbe Nybegynder
20. marts 2001 - 10:20 #17
sone:

Jamen det gør det åbenbart ikke!

Ved ikke hvor jeg skal gribe henne....måske du vil hjælpe mig hele vejen igennem!?
Avatar billede webbe Nybegynder
20. marts 2001 - 10:24 #18
Strukturen ser således ud:

1: Login-site
  1.1: Login-script
        1.2: Menu
            1.2.1: Opret
                    1.2.1.1: Oprettelsesskema
            1.2.2: Ret
                    1.2.2.1: Oversigt over ordre
                            1.2.2.1.1: Retteskema
            1.2.3: Slet
                    1.2.3.1: Oversigt over ordre
                            1.2.3.1.1: Slettescript

Håber det giver lidt mening!
Avatar billede sone Nybegynder
20. marts 2001 - 10:26 #19
Jeg regner med at man indtaster informationer i 1, som sendes videre til 1.1 til validering.
Så er det i 1.1 (når brugeren er godkendt) at du skal skrive din session.
Avatar billede webbe Nybegynder
20. marts 2001 - 10:26 #20
1.1 er mit loginscript der således ud:

<% Option Explicit %>
<% Response.Buffer = True %>

<%
Dim username, password, url

\'definerer formularfelterne fra defaultsiden
username = Request.Form(\"username\")
password = Request.Form(\"password\")

\'definerer databasevariabler
Dim Connect, UserRS, SQL
Set Connect = Server.CreateObject(\"ADODB.Connection\")
Connect.Open \"sb_ordre\"

\'henter brugerens data fra databasen
SQL = \"SELECT * FROM Login WHERE username=\'\"&replace(replace(Request.form(\"username\"), \"\'\", \"¤#¤\"), \"\"\"\", \"¤##¤\")&\"\' AND password=\'\"&replace(replace(Request.Form(\"password\"), \"\'\", \"¤#¤\"), \"\"\"\", \"¤##¤\")&\"\'\"
Set UserRS = Connect.Execute(SQL)

\'session variable
Session(\"Admin\") = false
Session(\"Bruger\") = false
Session(\"Brugernavn\") = \"\"
Session(\"Password\") = \"\"
Session(\"adgang\") = false

If not UserRS.bof then
    Session(\"adgang\") = true
    Session(\"Brugernavn\") = username
    Session(\"Password\") = password
    url = \"menu.asp\"
else
    url = \"retry.asp?error=ja\"
End if

\'lukker forbindelsen til databasen
Connect.Close
Set Connect = Nothing

\'omdirrigerer til den angivne URL
Response.Redirect(url)
%>
Avatar billede sone Nybegynder
20. marts 2001 - 10:29 #21
Vær logisk og systematisk:
- Indeholder variablen username noget?
- Kommer du ind i IF-sætningen
- osv.

PS. Hvis du skal skrive én \' til databasen, så sender du 2:

...WHERE username=\'fish\'\'n\'\'chips\'\"
Avatar billede webbe Nybegynder
20. marts 2001 - 10:29 #22
Loginscriptet validerer og sender videre til menuen hvis username og password er i tabellen!
Avatar billede webbe Nybegynder
20. marts 2001 - 10:33 #23
Variablen username indeholder den korrekte værdi og jeg kommer også ind i min If-sætning (response.write Session(\"Brugernavn\"))

Så jeg kommer rigtig nok videre til menuen!
Avatar billede sone Nybegynder
20. marts 2001 - 10:38 #24
Dine \"slet\" session-linier - prøv at flytte dem til ELSE-delen.

Mere om sessions:
http://www.html.dk/tutorials/asp/lektion12.asp
Avatar billede webbe Nybegynder
20. marts 2001 - 10:39 #25
Jeg har ikke nogen slet-sessions.....jeg sletter poster via et javascript!
Avatar billede sone Nybegynder
20. marts 2001 - 10:42 #26
\'session variable
Session(\"Admin\") = false
Session(\"Bruger\") = false
Session(\"Brugernavn\") = \"\"
Session(\"Password\") = \"\"
Session(\"adgang\") = false

Det kalder jeg at slette en session
Avatar billede webbe Nybegynder
20. marts 2001 - 10:51 #27
Nå okay - var ikke klar over at det var en slet-session!
Troede du mente når jeg skal slette en post!
Avatar billede webbe Nybegynder
20. marts 2001 - 10:54 #28
Nu ser det således ud:

If not UserRS.bof then
    Session(\"adgang\") = true
    Session(\"Brugernavn\") = username
    Session(\"Password\") = password
    url = \"menu.asp\"
else
    Session(\"Admin\") = false
    Session(\"Bruger\") = false
    Session(\"Brugernavn\") = \"\"
    Session(\"Password\") = \"\"
    Session(\"adgang\") = false
    url = \"retry.asp?error=ja\"
End if
Avatar billede sone Nybegynder
20. marts 2001 - 10:54 #29
virker det?
Avatar billede webbe Nybegynder
20. marts 2001 - 11:01 #30
Jeg kan stadig logge på og få min menu, men jeg kan stadig ikke få mine poster frem!

Min menukode ser således ud:

<%
If isEmpty(Session(\"adgang\")) Then
    Response.Redirect(\"retry.asp?error=ja\")
    If Session(\"login\") = True Then
        Response.Redirect(\"login.asp\")
    End If
End if
%>
<%
Dim Connect, rs

Set Connect = Server.CreateObject(\"ADODB.Connection\")
Connect.Open \"sb_ordre\"

Session(\"Brugernavn\") = \"\"

Set rs = Server.CreateObject(\"ADODB.Recordset\")
rs.Open \"SELECT * FROM Login WHERE Username=\'\"&Session(\"Brugernavn\")&\"\'\", Connect, 1, 3
%>

Jeg er lidt i tvivl om hvad min Session(\"Brugernavn\") skal være lig med!
Avatar billede sone Nybegynder
20. marts 2001 - 11:03 #31
Session(\"Brugernavn\") = \"\"
sletter jo det brugernavn du skal bruge - hvorfor gør du det?
Avatar billede webbe Nybegynder
20. marts 2001 - 11:04 #32
Hvad skal jeg skrive i stedet for \"\".....som jeg opfatter Request.form(\"username\") skal jeg jo have et formularfelt der hedder username på den forgående side (login.scriptet) og det er der jo ikke!
Avatar billede sone Nybegynder
20. marts 2001 - 11:06 #33
Nej, for der ligger du jo username ind i session - og så følger den bare med - helt automatisk !
Avatar billede webbe Nybegynder
20. marts 2001 - 11:07 #34
Hmmm - dvs. jeg skal skrive Session(\"Brugernavn\") = username eller skal jeg bare skrive Session(\"Brugernavn\")???
Avatar billede sone Nybegynder
20. marts 2001 - 11:07 #35
Session(\"Brugernavn\") henter den gemte værdi.
Avatar billede webbe Nybegynder
20. marts 2001 - 11:13 #36
Det vil sige at det skal se således ud:

<%
If isEmpty(Session(\"adgang\")) Then
    Response.Redirect(\"retry.asp?error=ja\")
    If Session(\"login\") = True Then
        Response.Redirect(\"login.asp\")
    End If
End if
%>
<%
Dim Connect, rs, user

Set Connect = Server.CreateObject(\"ADODB.Connection\")
Connect.Open \"sb_ordre\"

Session(\"Brugernavn\")
%>
Avatar billede sone Nybegynder
20. marts 2001 - 11:14 #37
Vi er tilbage til for ca. 2 timer siden:

...WHERE Saelger_id=\'\" & Session(\"Brugernavn\") & \"\'\",....
Avatar billede webbe Nybegynder
20. marts 2001 - 11:20 #38
Okay - nu sender den godt nok min session videre, men den vil ikke vise mine poster!

Vi nærmer os en løsning tror jeg!

Avatar billede webbe Nybegynder
20. marts 2001 - 11:24 #39
Okay - nu virker det som det skal.....tusind tak for hjælpen....du har reddet min dag og du får 100 point for din hjælp!
Avatar billede sone Nybegynder
20. marts 2001 - 11:40 #40
Selv tak.
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

IT-JOB

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Chef for SAP-forretningsspecialister

Capgemini Danmark A/S

Client Partner

Everllence

R&D Data Scientist