webForumDet fria alternativet

frågor....

18 svar · 245 visningar · startad av crisse6

crisse6Medlem sedan dec. 20002 526 inlägg
#1

kollade här på brw´s skript... ser att det är ingen vanlig db:koppling... hur ändrar man denna kod till vanlig???

<%
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "driver={SQL Server};SERVER=servern;UID=login;PWD=password;Database=databas"
SQLStmt = "SELECT * FROM users WHERE login = '" & FixaTecken(Request.Form("login")) & "' AND password = '" & FixaTecken(Request.Form("password")) & "'"
Set RS = Connection.Execute(SQLStmt)

If RS.EOF Then
Response.Redirect("default.asp")

Else

Session("userid") = RS("id")
Response.Redirect("insidan.asp")

End If
%>

fråga 2: om man vill ha mer sessioner än "userid" hur lägger man till det då?
fråga 3: vad står "EOF" för?
fråga 4: just nu på min inloggningsgrej så när man ska logga ut kommer man typ till en sida som heter "logout.asp" som fixar all utloggning... kan man istället göra en include av denna "logout.asp" fil på förstasidan (dit man kommer först när man besöker sidan utan att vara inloggad)?

------------------
www.groda.net *kvack*, *kvack*

LukaspojkenMedlem sedan maj 20011 312 inlägg
#2

Jag skrev om den så här...

Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open ("driver={Microsoft Access Driver (\*.mdb)}; DBQ=" & Server.MapPath("Sökvägen till din databas.mdb"))

Visa = "SELECT \* FROM users WHERE Username='" & Request.Form("Username") & "' AND Password='" & Request.Form("Password") & "'"
Set RecSet = Connect.Execute(Visa)

If RecSet.EOF Then

RecSet.Close
Set RecSet = nothing
Connect.Close
Set Connect = nothing
Response.Redirect("login.asp")

Else

Session("Username") = RecSet("Username")
Session("Password") = RecSet("Password")

Frågan är om det är bra att ha användarnamn och lösenord i session...man kanske borde bara ha id...?

jorgenMedlem sedan feb. 20012 412 inlägg
#3

1: byt ut den mot den kopplingen du brukar använda, har du en DNS="xxx"?

3: End of file, alltså när hela filen/databasen letats igenom

mvh Jörgen

------------------
*** Det brukar lösa sig sade hon som satt och sket i vasken ***

crisse6Medlem sedan dec. 20002 526 inlägg
#4

okej, tack! det funkar prima, men en sak, jag som då ska kunna komma till en viss sida eftersom jag är webmaster, hur gör jag då? jag har en include på varje sida som ska skyddas för att kolla om man har rätt upggifter inne... :e

men nu, varför tuggar den bara på denna kod?:(detta är includen)

<% 
If Session("username") = "" Then
Response.Redirect("test.asp")
ElseIf Session("password") = "" Then
Response.Redirect("test.asp")
ElseIf Session("username") = "crisse6" Then
Response.Redirect("xxxx.asp")
End If
Session.Timeout = 10
%>

+ att jag vill ha så att BARA om jag skriver in crisse6 och lösenordet så kommer jag till admin sidan!
konstigt...på adminsidan har jag samma include som på alla andra sidor!

------------------
www.groda.net *kvack*, *kvack*

[Redigerat av crisse6 den 13 maj 2001]

sawMedlem sedan mars 20011 880 inlägg
#5

I dit läge så skulle jag ha gjort så här:
Lägg till ett ja/nej-fält i databasen som du kan kalla för Admin.
Om den är ikryssad då har du adminrättigheter.
Sen är det ju bara att kolla:
If RecSet("Admin")= True Then
Response.Redirect("xxxx.asp")
Else
Response.Redirect("test.asp")
End If

------------------
saw
__
saw@songer.com
www.saw.songer.com
_
_

PatrikBMedlem sedan mars 20002 836 inlägg
#6

he, he ... ja, fast då kan man inte inkludera den på alla sidor.
Det som händer är att den kollar om session är true och sedan redirectar den. Om nu sessionet är true så kommer den att redirecta hela tiden, dvs en evighets loop.

Det man ska göra är:

If Session("Admin") <> True Then
Response.Redirect "login.asp"
End If

Denna kod kan inkluderas på alla sidor, förutom på login sidan då *ler*, utan att få en evighetsloop.

cya,
PatrikB

------------------
*Det tar sig sa han som hade eld i håret*

sawMedlem sedan mars 20011 880 inlägg
#7

Nog hadde jag hoppats på att du förstod bättre än så!!!
Sciptet som jag skrev skall ju bara ligga på en sida, där han loggar in. Därefter så skapar man ju en session eller en coccies som talar om att man är admin.
Sen är det ju bara att använda. Vad är det som säger att du måste ha en includefil i varje sida som säger att du är ADMIN?????
Eller???

------------------
saw
__
saw@songer.com
www.saw.songer.com
_
_

crisse6Medlem sedan dec. 20002 526 inlägg
#8

okej, men vadå, PatrikB, hur ska den kod snutten ligga... ? kan den vara i samma gamla kod eller behöver man göra en till inc-fil?

vore trevligt om du kan förklara mer vad koden gör... jag hänger inte riktigt med, ska det vara några nya fält i db:n osånt eller...?

------------------
www.groda.net *kvack*, *kvack*

PatrikBMedlem sedan mars 20002 836 inlägg
#9

saw:

varför då ha en inloggning?
Tänk om ngn försöker att gå in på min "gömda" katalog och av en händelse råkar få tag på min adminsida .... vad har då inloggningen för funktion?

om man gör som jag så kan de komma till min adminsida ... fast, de blir redirectade tillbaka till en inloggningssida ...

cya,
PatrikB

------------------
*Det tar sig sa han som hade eld i håret*

crisse6Medlem sedan dec. 20002 526 inlägg
#10

okej, hur ska jag då gå till väga, i min logg.inc fil, hur ska den se ut?
är det ngt mer man ska ändra?
i db:n eller på någon sida...?

jag vill ha så att om användarnamn är crisse6 och lösenord är XXXXXXXX så kommer jag till adminsidan om inte så kommer man till start.asp

------------------
www.groda.net *kvack*, *kvack*

sawMedlem sedan mars 20011 880 inlägg
#11

Nja, som jag tänkte/har gjort är att om man har det fältet med, som jag beskrev ovan, så på sidan efter inlogning kan det dyka upp en knapp till admin sidan.
Sedan på alla adminsidorna så inkludera man ett script som om man inte är inloggad, skickar en tillbaka.
Väldigt snarlikt det du menar, men med en liten finnes bara....

------------------
saw
__
saw@songer.com
www.saw.songer.com
_
_

crisse6Medlem sedan dec. 20002 526 inlägg
#12

okej, allt funkar nu iaf! :)

tack för all hjälp!
bara en fråga... jag har tre frames... en där uppe, mitten och i botten... i mitten sker det mesta... :) men nu vill jag ha typ så här:
Din status: Online, Du har 1 nytt meddelande osv... men detta ska var i botten framen... hmmm.... jag kan inte använda global.asa så jag vill ha så att när man är inte är inloggad så står det inte ngt där nere men direkt när man loggat in står det status....

------------------
www.groda.net *kvack*, *kvack*

crisse6Medlem sedan dec. 20002 526 inlägg
#13

HJÄLP!!!!!!!!!!

------------------
www.groda.net *kvack*, *kvack*

crisse6Medlem sedan dec. 20002 526 inlägg
#14

okej, nu har jag fått hjälp med den utskrivningen om man är "Online" eller "Offline" :) Tackar PatrikB :e

men nu en annan sak, jag vill ha dessa fyra kompinationer:
Om man har ngt nytt meddelande
Hur många medlemmar det är på sidan
Om man är Online eller Offline
Och hur många gånger man varit inne på grodan

meddelande = mess.mdb med tabell meddelande:
id, fran, till, datum, meddelande, status, rubrik

räkna medlemmar = users.mdb och tabell users
id, username, password, antalbesok, intressen, osv..

antal besök = users.mdb och tabell users
id, username, password, antalbesok, intressen, osv...

online eller offline = users.mdb och tabell users
id, username, password, antalbesok, intressen, osv...

förstår ni, allt detta ska sitta i en och samma kod!

------------------
www.groda.net *kvack*, *kvack*

crisse6Medlem sedan dec. 20002 526 inlägg
#15

okej, löste alla kod tillsammans... allt funkar utom att det står -1 när den ska visa hur många medlemmar det finns... hmmm? kolla koden ! (psst.. inga felmess får jag =) )

<%
Set Databas = Server.CreateObject("ADODB.Connection")
MdbFilePath = Server.MapPath("users.mdb")
Databas.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ= " & MdbFilePath & ";"

'#### db koppling 2 #####

Set Databas2 = Server.CreateObject("ADODB.Connection")
MdbFilePath2 = Server.MapPath("mess.mdb")
Databas2.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ= " & MdbFilePath2 & ";"

'##### db koppling 3 #####

Set Databas3 = Server.CreateObject("ADODB.Connection")
MdbFilePath3 = Server.MapPath("users.mdb")
Databas3.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ= " & MdbFilePath3 & ";"

'###### Slut på db-kopplingar ########

'##### lite sql grejs #########

SQL = "SELECT * FROM users"
strsql2 = "select count(*) as antalnya from meddelande where till = '" & session("username") & "' and status='oläst'"
sql3 = "SELECT * FROM users"

'##### Slut på sql grejs

'##### köra dom #####
set rsStatus=Databas.execute(SQL)
set rsMess=Databas2.execute(strsql2)
set rsUsrs=Databas3.execute(sql3)
%>
<%
If Session("username") > "" Then
Response.Write "Online"
Else
Response.Write "Offline"
End If
%>
&nbsp;
<%
Response.Write "<a href=""mejl.asp"" target=""detail""><span style=""text-decoration:none;"">Du har  " & rsMess("antalnya") & " nya meddelanden</a>"
%>
&nbsp;
<%
intTotMembers = rsUsrs.RecordCount
'## -- skriv ut antal medlemmar --
Response.Write intTotMembers

'## -- loopa igenom recsetet --

'## -- till sist, förstör recset och conn object --
Set rsUsrs = Nothing
Set Databas3 = Nothing
%>

<%
Set rsStatus = Nothing
Set Databas = Nothing
Set rsMess = Nothing
Set Databas2 = Nothing
%>

hjälp!

------------------
www.groda.net *kvack*, *kvack*

@ndersMedlem sedan juni 200032 969 inlägg
#16

byt

set rsUsrs=Databas3.execute(sql3)

mot

set rsUsrs=server.createobject("adodb.recordset")
rsUsrs.open sql3, Databas3, adOpenDynamic, adLockOptimistic

du behöver inte ha adLockOptimistic men jag kan inga andra. använder inte recordset själv på detta sätt nämligen.

mvh,

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
nobody expects the spanish inquisition!</A>

@ndersMedlem sedan juni 200032 969 inlägg
#17

varför skapar du dbkoppling 3 förresten, den är ju samma som den första, väl? varför inte använda den?

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
nobody expects the spanish inquisition!</A>

crisse6Medlem sedan dec. 20002 526 inlägg
#18

tack @nders, detta med icq tycker jag é bra! jag behövde inte vänta på ditt svar på tråden, fixade sig innan!

.e

------------------
www.groda.net *kvack*, *kvack*

crisse6Medlem sedan dec. 20002 526 inlägg
#19

tack @nders, detta med icq tycker jag é bra! jag behövde inte vänta på ditt svar på tråden, fixade sig innan!

:e

------------------
www.groda.net *kvack*, *kvack*

142 ms totalt · 3 externa anrop · v20260731065814-full.91fd2ad2
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
139 ms — hämta tråd, inlägg och bilagor (db)