/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
hvor dan får jeg den til at lave en sesion
Fra : sonny kristensen


Dato : 16-09-02 20:44

jeg har en bruger login på min side men det virker ikke ordentlig
hvad skal jeg gøre for at få det til at virke.

til at skrive bruger navn og password.

<form action= "login1.asp" method= post id=form name=form>
Brugernavn<input name="Email" size="15"
maxlength="100" >
Password
<input type="password" name="Pass" size="10"> </P>
<P><INPUT id=submit1 type=submit value="log mig på"
name=submit1></P>


tjekker brugernavn og password


<% @Language=VBScript%>

<%'Definere de forskellige variabler
dim Strbruger, Strpass, MyConn, strDSN, StrBrugerid,
Strsql,objConn, Dbq,Driver,rs1, rs

'Henter værdier fra log ind formularen
Strbruger = Request.Form ("email")
Strpass = Request.Form ("pass")
Strpass = Replace( Strpass,"'","''")






'Tjekker at der er både e-mail og password feltet har været
udfyldt
If Strbruger <> "" and Strpass <> "" Then
'Definere 2 SQl sætninger henter den persons brugerid og
brugerstatus ( siger noget om hvad han har adgang til )som har
logget på



'Åbner en dns-less forbindelse til databasen
strConnString = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="
& Server.MapPath("hp.mdb")
set MyConn = Server.CreateObject("ADODB.Connection")
MyConn.Errors.Clear
MyConn.Open strConnString




'Laver en ny sql sætning som forsøger at matche de indtastede
password og personens brugerid
Strsql = "Select * from hp where brugernavn='"&Strbruger&"' and
password='"&Strpass&"' "
Response.Write (Strsql)
'Udfører sætningen
set rs1= MyConn.Execute(Strsql)
'Tjekker om den kan finde de indtastede værdier og opretter nogle
sessions som gemmer på nogle informationer om personen
if not rs1.EOF then

session("Login") = TRUE
Response.redirect "forside.html"
'Lukker forbindelsen til databasen



else
'Hvis du har skrevet forkert password eller lignende so ryger du
her hen
Response.redirect "login.asp"
'Lukker forbindelsen til databasen


end if


else
Response.redirect "login.asp"

'Lukker forbindelsen til databasen

Set rs1=nothing
MyConn.Close
Set MyConn= nothing


end if

%>
<%
'Lukker forbindelsen til databasen

Set rs1=nothing
MyConn.Close
Set MyConn= nothing

%>


dette har jeg til at være på mine side hvor at man skal bruge
brugernavn og password

<% if session("Login") <> true then
response.redirect "login.asp"
else %>

<HTML>
<HEAD>

koder

</BODY>
</HTML>
<% end if %>

håber i kan hjælpe mig med at få det til at virke


www.sonnyhk.tk

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Jørn Andersen (16-09-2002)
Kommentar
Fra : Jørn Andersen


Dato : 16-09-02 21:04

On Mon, 16 Sep 2002 19:43:47 +0000 (UTC), sonny kristensen
<syreballon@ofir.dk> wrote:

>jeg har en bruger login på min side men det virker ikke ordentlig
>hvad skal jeg gøre for at få det til at virke.

Hvordan virker det ikke ordentligt?
Kommer der fejlmeddelelser?
Hvad gør den som den ikke skal?
Hvad gør den ikke som den skal?

--
Jørn Andersen,
Brønshøj

Jens Gyldenkærne Cla~ (16-09-2002)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 16-09-02 22:17

sonny kristensen skrev:

> 'Henter værdier fra log ind formularen
> Strbruger = Request.Form ("email")
> Strpass = Request.Form ("pass")
> Strpass = Replace( Strpass,"'","''")

Du bør også lave '-tjek på Strbruger. Emailadresser kan ikke
indeholde ' men det betyder ikke at du kan være sikker på at
Strbruger aldrig indeholder en '.

> 'Hvis du har skrevet forkert password eller lignende so ryger du
> her hen

Her ville jeg sætte session("login") = False (eller evt. bare = "")


> 'Lukker forbindelsen til databasen
>
> Set rs1=nothing
> MyConn.Close
> Set MyConn= nothing

Så vidt jeg kan se bliver ovenstående linjer aldrig udført - de
står efter en redirect-sætning. Du kan sagtens lukke pænt ned inden
du laver redirect.

> dette har jeg til at være på mine side hvor at man skal bruge
> brugernavn og password
>
> <% if session("Login") <> true then

Jeg tror ikke det gør den store forskel, men normalt skriver man
ikke "If foo <> True" - når du undersøger en boolesk variabel kan
du skrive:

If session("Login") Then ' session("Login") = True

eller

If Not session("Login") Then ' session("login") = false

Spørgsmålet er så hvad der sker hvis session("login") slet ikke er
sat. Jeg tror det er her dit problem ligger.
Du kan evt. lægge noget kode i session_onstart der sætter
session("login") = false.

--
Jens Gyldenkærne Clausen
MF (medlem af FIDUSO - www.fiduso.dk)
I ovenstående tekst benyttes nyt komma.

sonny kristensen (17-09-2002)
Kommentar
Fra : sonny kristensen


Dato : 17-09-02 07:22

> jeg har en bruger login på min side men det virker ikke ordentlig
> hvad skal jeg gøre for at få det til at virke.
>
> til at skrive bruger navn og password.
>
> <form action= "login1.asp" method= post id=form name=form>
> Brugernavn<input name="Email" size="15"
> maxlength="100" >
> Password
> <input type="password" name="Pass" size="10"> </P>
> <P><INPUT id=submit1 type=submit value="log mig på"
> name=submit1></P>
>
>
> tjekker brugernavn og password
>
>
> <% @Language=VBScript%>
>
> <%'Definere de forskellige variabler
&gt; dim Strbruger, Strpass, MyConn, strDSN, StrBrugerid,
&gt; Strsql,objConn, Dbq,Driver,rs1, rs
&gt;
&gt; 'Henter værdier fra log ind formularen
&gt; Strbruger = Request.Form ("email")
&gt; Strpass = Request.Form ("pass")
&gt; Strpass = Replace( Strpass,"'","''")
&gt;
&gt;
&gt;
&gt;
&gt;
&gt;
&gt; 'Tjekker at der er både e-mail og password feltet har været
&gt; udfyldt
&gt; If Strbruger <> "" and Strpass <> "" Then
&gt; 'Definere 2 SQl sætninger henter den persons brugerid og
&gt; brugerstatus ( siger noget om hvad han har adgang til )som har
&gt; logget på
&gt;
&gt;
&gt;
&gt; 'Åbner en dns-less forbindelse til databasen
&gt; strConnString = "DRIVER={Microsoft Access Driver (*.mdb)};
DBQ="
&gt; & Server.MapPath("hp.mdb")
&gt; set MyConn = Server.CreateObject("ADODB.Connection")
&gt; MyConn.Errors.Clear
&gt; MyConn.Open strConnString
&gt;
&gt;
&gt;
&gt;
&gt; 'Laver en ny sql sætning som forsøger at matche de indtastede
&gt; password og personens brugerid
&gt; Strsql = "Select * from hp where brugernavn='"&Strbruger&"' and
&gt; password='"&Strpass&"' "
&gt; Response.Write (Strsql)
&gt; 'Udfører sætningen
&gt; set rs1= MyConn.Execute(Strsql)
&gt; 'Tjekker om den kan finde de indtastede værdier og opretter
nogle
&gt; sessions som gemmer på nogle informationer om personen
&gt; if not rs1.EOF then
&gt;
&gt; session("Login") = TRUE
&gt; Response.redirect "forside.html"
&gt; 'Lukker forbindelsen til databasen
&gt;
&gt;
&gt;
&gt; else
&gt; 'Hvis du har skrevet forkert password eller lignende so ryger
du
&gt; her hen
&gt; Response.redirect "login.asp"
&gt; 'Lukker forbindelsen til databasen
&gt;
&gt;
&gt; end if
&gt;
&gt;
&gt; else
&gt; Response.redirect "login.asp"
&gt;
&gt; 'Lukker forbindelsen til databasen
&gt;
&gt; Set rs1=nothing
&gt; MyConn.Close
&gt; Set MyConn= nothing
&gt;
&gt;
&gt; end if
&gt;
&gt; %>
<%
&gt; 'Lukker forbindelsen til databasen
&gt;
&gt; Set rs1=nothing
&gt; MyConn.Close
&gt; Set MyConn= nothing
&gt;
&gt; %>


dette har jeg til at være på mine side hvor at man skal bruge
brugernavn og password

<% if session("Login") <> true then
&gt; response.redirect "login.asp"
&gt; else %>
>
> <HTML>
> <HEAD>
>
> koder
>
> </BODY>
> </HTML>
> <% end if %>
>
> håber i kan hjælpe mig med at få det til at virke
>
>
>www.sonnyhk.tk



tak for hjælpen men jeg er ny begynder så jeg ved jo ikke så meget
om det. jeg har prøvet noget af det med at lave det om der står på
siderne men det hjalp ikke ik det jeg kunne se ihvertfald.

problemet ligger idet at den ikke husker at der er logget ind og det
ert jo et problem. håber i kan hjælpe mig i må gerne skrive lidt
kode hvis i vil

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Jens Gyldenkærne Cla~ (17-09-2002)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 17-09-02 08:38

sonny kristensen skrev:

> problemet ligger idet at den ikke husker at der er logget ind
> og det ert jo et problem. håber i kan hjælpe mig i må gerne
> skrive lidt kode hvis i vil

Prøv at skrive din session-variabel ud
(Response.write(session("login")) på en eller flere af de sider du
har problemer med. Hvis problemet er at du bliver smidt tilbage til
login-siden, så kan du evt. bare lave udskrivningen her. Den skal
selvfølgelig fjernes når siden fungerer korrekt, men det er altid
en hjælp (både for dig og for os i gruppen hvis vi skal hjælpe) at
vide hvad dine variable indeholder i en given situation.

Har du i øvrigt prøvet det forslag jeg gav i går? (sæt
session("login") til false ved session-start).

PS: Der er et eller andet galt med den måde du citerer på. Hele
afsnittet med kode (i dit indlæg fra i morges) er markeret med
html-entiteten &gt; (i tilfælde af at en HTML-newsportal ikke viser
det korrekt så er det "& g t ;" - uden mellemrum). På en hjemmeside
er det en fornuftig indpakning af tegnet ">" - men på usenet er det
altså ikke det samme. Hvis du undlader at ændre noget i citaterne,
skulle markeringen meget gerne være korrekt.

En helt anden ting er at der slet ikke er grund til at citere hele
indlægget for at komme med nye kommentarer. Det er langt lettere at
læse (og besvare) dine indlæg hvis du nøjes med at citere de dele
af teksten du kommenterer. Se evt. hjemmesiden her:
<www.usenet.dk/netikette/citatteknik.html>

--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

sonny kristensen (17-09-2002)
Kommentar
Fra : sonny kristensen


Dato : 17-09-02 08:57


> Prøv at skrive din session-variabel ud
> (Response.write(session("login")) på en eller flere af de sider du
> har problemer med. Hvis problemet er at du bliver smidt tilbage til
> login-siden, så kan du evt. bare lave udskrivningen her.

jeg bliver nemmelig smidt tilbage til login siden og her er udskriften
af hvad den skriver:

Microsoft VBScript compilation error '800a0400'

Expected statement

/tage-gammel/login.asp, line 8

end if
^


>
> Har du i øvrigt prøvet det forslag jeg gav i går? (sæt
> session("login") til false ved session-start).

ved ikke lige hvad jeg skal gøre???



--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

sonny kristensen (17-09-2002)
Kommentar
Fra : sonny kristensen


Dato : 17-09-02 09:09

sonny kristensen wrote in dk.edb.internet.webdesign.serverside.asp:
>
> > Prøv at skrive din session-variabel ud
> > (Response.write(session("login")) på en eller flere af de sider du
> > har problemer med. Hvis problemet er at du bliver smidt tilbage til
> > login-siden, så kan du evt. bare lave udskrivningen her.
>
> jeg bliver nemmelig smidt tilbage til login siden og her er udskriften
> af hvad den skriver:
>
> Microsoft VBScript compilation error '800a0400'
>
> Expected statement
>
> /tage-gammel/login.asp, line 8
>
> end if
> ^
>
>
> >
> > Har du i øvrigt prøvet det forslag jeg gav i går? (sæt
> > session("login") til false ved session-start).
>
> ved ikke lige hvad jeg skal gøre???
>
>


det er vist ikke helt rigtig det der står her over hvor skal jeg skrive
(Response.write(session("login")) for at det kommer til at virke.

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Jens Gyldenkærne Cla~ (17-09-2002)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 17-09-02 09:15

sonny kristensen skrev:

> det er vist ikke helt rigtig det der står her over hvor skal
> jeg skrive (Response.write(session("login")) for at det kommer
> til at virke.

Du misforstår. Response.write-sætningen er til debug (fejlfinding).
Den ændrer ikke ved om siden virker eller ej, men du kan bruge den
information den leverer til at finde ud af hvor i koden det går
galt.

Men nu hvor du har skrevet at du får en asp-syntaksfejl er det den
du skal rette først. Så længe der er kompileringsfejl i koden kan
du ikke kontrollere den logiske struktur af koden (fordi koden kun
køres når der ikke er syntaksfejl).

--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Jens Gyldenkærne Cla~ (17-09-2002)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 17-09-02 09:11

sonny kristensen skrev:

> jeg bliver nemmelig smidt tilbage til login siden og her er
> udskriften af hvad den skriver:

Se det er noget vi kan bruge.


> Microsoft VBScript compilation error '800a0400'
>
> Expected statement
>
> /tage-gammel/login.asp, line 8
>
> end if
> ^


Når den skriver sådan er det fordi du har et "end if" uden et
foregående "if". Tjek din kodes struktur - hver gang du starter en
if-sætning skal du lukke den igen med end if - men du skal
selvfølgelig ikke lukke den mere end én gang.

>> Har du i øvrigt prøvet det forslag jeg gav i går? (sæt
>> session("login") til false ved session-start).
>
> ved ikke lige hvad jeg skal gøre???

Du har en syntaksfejl som beskrevet ovenfor - ret den først. Men
ellers så kan du skrive i global.asa:

Sub session_onStart

   Session("login") = false

End Sub


--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

sonny kristensen (17-09-2002)
Kommentar
Fra : sonny kristensen


Dato : 17-09-02 10:02


> > jeg bliver nemmelig smidt tilbage til login siden og her er
> > udskriften af hvad den skriver:
>
> Se det er noget vi kan bruge.
>
>
> > Microsoft VBScript compilation error '800a0400'
> >
> > Expected statement
> >
> > /tage-gammel/login.asp, line 8
> >
> > end if
> > ^

jeg var kommet til at kopirer det forkerte ind det var grunden til at
jeg fik den fejl den linie er slettet igen men hvor skal jeg sætte det
andet ind for den skriver det bare ud på siden prøv at se linket
www.friserverplads.dk/tage-gammel/login.asp

> >> Har du i øvrigt prøvet det forslag jeg gav i går? (sæt
> >> session("login") til false ved session-start).
> >
> > ved ikke lige hvad jeg skal gøre???
>
> Du har en syntaksfejl som beskrevet ovenfor - ret den først. Men
> ellers så kan du skrive i global.asa:
>
> Sub session_onStart
>
>    Session("login") = false
>
> End Sub

jeg har ikke nogen global.asa

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Jens Gyldenkærne Cla~ (17-09-2002)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 17-09-02 11:11

sonny kristensen skrev:

> jeg var kommet til at kopirer det forkerte ind det var grunden
> til at jeg fik den fejl den linie er slettet igen men hvor
> skal jeg sætte det andet ind for den skriver det bare ud på
> siden prøv at se linket
> www.friserverplads.dk/tage-gammel/login.asp

Der er tre typer af tekst i en asp-fil. ASP-kode står mellem <% og
%> (evt. <%= og %>). HTML-kode står mellem < og > og resten er
almindelig tekst.

Response.write er en asp-kode som derfor skal lægges mellem <% og
%>. Du kan dog med fordel benytte genvejen <%= variabel %> som er
en kortere måde at skrive <% Response.write variabel %>.

Altså - skriv <%= session("login") %> - eller bedre:

session("login"): <%= session("login") %>
<hr>

(det vil udskrive teksten "session("login"): " efterfulgt af
indholdet af variablen efterfulgt af en vandret linje)


> jeg har ikke nogen global.asa

Så kan du oprette en. Det er en ganske almindelig tekstfil. Du kan
bruge nedenstående som inspiration:

<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Application_OnStart
   Application("connect_kunde") = "Provider=sqloledb;user
id=xxx;pwd=yyy;server=;initial catalog=qqq"

End Sub

Sub Session_Onstart
   Session.LCID = 1030

end sub
</SCRIPT>

(Bemærk at der er knækkede linjer i usenetudgaven).


--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Jesper Stocholm (17-09-2002)
Kommentar
Fra : Jesper Stocholm


Dato : 17-09-02 09:02

Jens Gyldenkærne Clausen wrote in news:Xns928C61EFF6DE3jcdmfdk@
193.88.15.213:

> PS: Der er et eller andet galt med den måde du citerer på. Hele
> afsnittet med kode (i dit indlæg fra i morges) er markeret med
> html-entiteten &gt; (i tilfælde af at en HTML-newsportal ikke viser
> det korrekt så er det "& g t ;" - uden mellemrum). På en hjemmeside
> er det en fornuftig indpakning af tegnet ">" - men på usenet er det
> altså ikke det samme. Hvis du undlader at ændre noget i citaterne,
> skulle markeringen meget gerne være korrekt.

det er - så vidt jeg har lagt mærke til - en bug i html.dk . Det sker af og
til med indlæg sendt fra dette site.



--
Jesper Stocholm
http://stocholm.dk
http://asp.stocholm.dk
Svar til gruppen og ikke til mig privat pr. email :|

Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408937
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste