webForumDet fria alternativet

Enkel fråga för de som kan... :)

ASP

21 svar · 259 visningar · startad av Sammy

Medlem sedan maj 2000202 inlägg
Frågan#1

Hur gör jag om jag vill att man ska bli vidarelänkad till samma sida fast om Sammy skrivs sammy?

Kan man har "Sammy" _OR_ "sammy" eller måste jag göra en ny if/else sats?

If namn = "Sammy" then
Response.Redirect("../main.asp")
Else

Hoppas ni förstår vad jag menar! ;)

------------------
/Sammy Swärd

Medlem sedan mars 20002 836 inlägg
#2
If LCase(namn) = "sammy" then
Response.Redirect("../main.asp")
Else

bör göra susen

cya,
PatrikB

------------------
-=* IF there is a wrong way to do something, then someone will do it *=-

Medlem sedan maj 2000202 inlägg
#3

Och det innebär?

Om jag inte missuppfattar det hela helt fel så går den förbi detta då om jag skriver med stor bokstav "Sammy"?

Då blir det tvärtom... Jag vill alltså att den ska skicka mig vidare oavsett om jag skriver med liten eller stor bokstav.

Det gör den iofs, men efter else har jag en sats som lägger till i en databas och det gör den inte om jag skriver Sammy med liten bokstav.

------------------
/Sammy Swärd

Medlem sedan jan. 20023 327 inlägg
#4

Då får du väl även ändra den if-satsen eller hur nu din kod ser ut. Kan inte bara gissa mig till något sånt där så lite kod skulle inte skada.

------------------
Nytt nickname, tidigare "känd" under namnet iceM2

Medlem sedan maj 2000202 inlägg
#5

Så här ser koden ut:

If namn = "Sammy" then
Response.Redirect("../main.asp")
Else

SQL = "INSERT INTO log (anvnamn) VALUES('" & namn & "')"
set RS = Connection.Execute(SQL)

Response.Redirect("../main.asp")
End If

Nu skriver den inte till databasen om jag skriver Sammy med stor bokstav men
den gör det om jag skriver sammy med liten bokstav.

Jag vill alltså att den inte lägger till data i databasen oavsett om jag skriver Sammy med liten eller stor bokstav.

------------------
/Sammy Swärd

Medlem sedan mars 20002 836 inlägg
#6

LCase(namn) gör att det som finns i variabeln namn blir i LowerCase så det ska inte spela någon roll om du skriver:
Sammy, sAMMY, SaMMy för det som finns i variabeln namn kommer att bli "sammy" och jämföras med "sammy"

cya,
PatrikB

------------------
-=* IF there is a wrong way to do something, then someone will do it *=-

Medlem sedan maj 2000202 inlägg
#7

Ah.. precis vad jag var ute efter.. tack PatrikB.

Kan jag på något sätt få detta att fungera även för andra som loggar in?

Om du tittar på SQL satsen?

------------------
/Sammy Swärd

[Redigerat av Sammy den 24 jan 2002]

Medlem sedan mars 20002 836 inlägg
#8

ja!

cya,
PatrikB

------------------
-=* IF there is a wrong way to do something, then someone will do it *=-

Medlem sedan maj 2000202 inlägg
#9

Ett kort och gott svar.. men frågan är hur och var jag ska lägga detta då?

------------------
/Sammy Swärd

Medlem sedan aug. 20011 099 inlägg
#10

visa lite mer kod!!

------------------
ASP är bäst fuck the rest!!!

Medlem sedan mars 20002 836 inlägg
#11

ok då ..... här kommer lite kod:

<%
namn = "sammy"

'## -- sql-fråga för att kolla om användaren finns i db --
strSQL = "SELECT anvnamn FROM log WHERE anvnamn = '" & namn & "'"

Set objRS = Connection.Execute(strSQL)
	
'## -- kolla om recordsetet är tomt eller inte.
If Not objRS.EOF then
	'## -- clean up innan redirect --
	objRS.Close
	Set objRS = Nothing
	Connection.Close
	Set Connection = Nothing
	
	'## -- användaren hittades i databasen. skicka vidare --
	Response.Redirect("../main.asp")
Else
	'## -- användaren hittades inte. lägg till användaren --
	SQL = "INSERT INTO log (anvnamn) VALUES('" & namn & "')"
		Connection.Execute(SQL)

	'## -- clean up innan redirect --
	objRS.Close
	Set objRS = Nothing
	Connection.Close
	Set Connection = Nothing

	'## -- skicka användaren vidare --
	Response.Redirect("../main.asp")
End If
%>

cya,
PatrikB

------------------
-=* IF there is a wrong way to do something, then someone will do it *=-

Medlem sedan maj 2000202 inlägg
#12

Så här ser koden ut men ska ta mig en titt på din kod också.. för att se om jag själv kan klura ut det?

<%
namn = Request.Form("namn")
losen = Request.Form("losen")

if Len(losen) <1 OR Len(namn) <1 then
session("fel") = "Du måste skriva in både användarnamn och lösenord!"
Response.Redirect("../login.asp")
end if

Set connection = server.createObject("adodb.connection")
connection.open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("../../../db/konto.mdb") & ";"

stm = "SELECT * FROM konto WHERE anvnamn = '"&namn&"' AND losen = '"&losen&"' "
set RS = Connection.Execute(stm)

IF NOT RS.EOF then

session("inloggad") = "in"
Session("fel") = ""

If LCase(namn) = "sammy" then
Response.Redirect("../main.asp")
Else

SQL = "INSERT INTO log (anvnamn) VALUES('" & namn & "')"
set RS = Connection.Execute(SQL)

Response.Redirect("../main.asp")
End If

Else

Session("fel") = "Det kontot existerar inte!"
'skickar tillbaka till inloggningssidan
Response.Redirect("../login.asp")
end if

RS.close
Connection.Close
%>

------------------
/Sammy Swärd

Medlem sedan maj 2000202 inlägg
#13

Faktum är att det registreras i databasen oavsett om det är liten eller stor bokstav på andra användare i databasen.

Men min egentliga fråga är om man inte ska ha koll på detta på samma sätt som med LCase(namn) = "sammy" även på andra användare?

------------------
/Sammy Swärd

Medlem sedan mars 20015 287 inlägg
#14

Jag tycker det ser ut som om du både har hängslen och livrem ;)

I och med:

IF NOT RS.EOF then

kollar du ju om användaren redan finns, borde inte det räcka???

------------------
/solbulle
Hemmabio | Spelautomater | The Who

Medlem sedan maj 2000202 inlägg
#15

Det var inte det, det handlade om.. läs min fråga..

------------------
/Sammy Swärd

Medlem sedan dec. 200012 464 inlägg
#16

Nej jag förstår heller inte vad du vill. Vilka användarnamn vill du lagra i tabellen log?

------------------
essentitia preter non sans multiplicandum

Medlem sedan mars 20002 836 inlägg
#17

ok,

kika in min kod här ovan.

Det den gör är att den först kollar om användaren finns i tabellen log. Om han finns så skickas han vidare, finns han inte uppdateras tabellen log med användarens namn och sedan skickas han vidare, precis som du vill ha det.

cya,
PatrikB

------------------
-=* IF there is a wrong way to do something, then someone will do it *=-

Medlem sedan mars 20002 836 inlägg
#18

lite förtydligande då:
byt ut:

namn = "sammy" mot namn = Request.Form("namn")

så funkar det nog ....

cya,
PatrikB

------------------
-=* IF there is a wrong way to do something, then someone will do it *=-

Medlem sedan maj 2000202 inlägg
#19

Det stämmer mycket bra partikb och det fungerar mycket bra för mig nu men nu till frågan igen.. Kan man inte styra andra användare på samma sätt som jag gjorde med Sammy

If LCase(namn) = "sammy" then
Response.Redirect("../main.asp")
Else

Nu har detta ingen betydelse längre för allt fungerar som det ska nu tack vare patrikb men det var mest en tanke som slog mig.

------------------
/Sammy Swärd

Medlem sedan mars 20002 836 inlägg
#20

Den frågan borde inte dyka upp om du har förstått koden jag gav.
Läs igenom mina inlägg (de senare) och kika samtidigt i koden för den gör precis det du vill att den ska göra för alla användare och ej endast för "sammy"

cya,
PatrikB

------------------
-=* IF there is a wrong way to do something, then someone will do it *=-

256 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
118 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)