Jo men det blir ju bara session värdet om man lägger till en kompis.
Du kan ju komma ifrån en annan länk och då är det en annan querystring.
alert vid redirect
40 svar · 561 visningar · startad av Qimen · sida 2 av 3
Frågan, av Qimen
Hej Har så att när man lagt till en kompis till sin lista åker man automatiskt vidare till en sida. Hur gör så att när jag kommer till den nya sidan ska det komma upp en javascript alert med ett meddelande. Detta är slutet av koden: RecSet.Close Connect.Close Set RecSet = nothing Set Connect = nothing Response.Redirect "hepp.asp" %> Alltså precis före redirecten tänkte jag mig. :)
Läs frågan i sin helhet →Ja, och därav min pseudo-kod ovan?
Det enda jag menar är att det inte finns någon anledning att skicka sessionsvärden på andra sätt också, när värdet redan finns lättillgängligt i session-objektet på alla sidor.
mvh
*kliar mig i huvudet* Förstår inte riktigt hur du byggt upp det, man jag vet att det inte är lätt när man är nybörjare.
Rent allmänt bara så är Sessioner bra för att spara specefik data om den användaren som "äger" sessionen.
I Querystrings är det bra att skicka data om annat som inte är hemligt och viktigt.
Vill man ha säkerhet på ett vettigt sätt skapar man helst relationer i sin databas och kollar mot dem.
Detta gjorde dig säker inte så mycket klokare. ;)
Men alltså det är ju inget hemligt så då behöver man ju inte försöka dölja det.
Det som @nders säger är ju helt korrekt, du behöver inte sända med id via querystringen eftesom den finns tillgänglig i Sessionen på friends.asp sidan med.
Men om det funkar så kör på din variant, man lär sig bra på att göra nytt och fundera på hur man kan göra annorlunda. Om ett år kommer du att tycka att det du byggt nu är galet, men funkar det nu så kör på! :)
@nders: jovisst kan jag använde pseudo men då måste jag sitta och ändra en del.
Förlorar man ngt på att göra det på detta sätt som jag gör nu? jag menar, har jag redan en session så kan jag ju lika gärna använda den.
Men fölorar man ngt så e det klart man ska ändra.
mrblonde: men förklara varför det är klumpigt då?
Men låt säga att jag ska köra på det andra sättet. Hur ska jag då göra för att den ska veta vilken info den ska hämta? Den kan ju lika bra hämta min egen eller ngn annans.
Förstår bara inte hur ni tänkt det skulle funka då.
Klumpigt vet jag inte, men det sitter en liten jäkel på min axel och ropar: "Aaaaaaaaa! Onödig/konstig kod, jag måste påpeka!!!"
Vad jag försöker säga är att jag inte förstår varför du sänder med id från sessionen i querystringen när du lika gärna kan hämta den från sessionen på nästa sida.
Jag kan tänka mig att det beror på att man kommer in på sidan från flera håll och alltid kör på id från querystringen som sätts på olika sätt på olika sidor.
Så jag säger skit samma, kör på. Det funkar ju! :)
Vad är oklart med min pseudokod? Kommer värdet i qs, använd det, annars använd sessionsvärdet. Hur kontrollerar du idag att ingen ändrar querystringvärdet?
Har lagt i menyn på den sidan att om det är sessionen username = qs så får man upp en meny annars om det inte är det så redirectas man till den annan sida.
Jag kan inte för mitt liv förstå vad du ska med både querystring och sessionen till (i det här fallet) om de måste vara lika?
red: Men, som sagt kör som du har det nu om det fungerar. Jag kommer nog inte längre i den här diskussionen i alla fall.
mvh
För att gå ett steg bakåt....
sidan friends.asp, visar en användares vänner?
kan alla se allas vänner? Jag antar nej, man kan väl bara se sina egna vänner?
Då räcker det väl med det id som finns i sessionen, om det nu är id:t för den inloggade användaren?
Har jag inte det så kan man ju kolla vad andra har på den sidan och ta bort deras kompisar.
mrblonde: jo det skulle kunna gå men då kan inte den som har admin rättigheter gå in och ändra :/
eller?
Men id:t som finns i sessionen kan ju ingen ändra, eller har du en sida där man kan ändra det?
Sessionen är ju garanterat unik för den användare som är inloggad och i den finns hans id. Om man använder det för att ta fram alla hans vänner kan man ju inte på något sätt få fram vänner för någon annan än den inloggade.
där du gör typ
iId=Request.Querystring("id")
byter du ju bara till
iId=Session("id")
Aha! nu kommer vi någonvart... väldigt vanligt är att man har ett bakomliggande admingränssnitt för sådant, men om det skall vara i samma sida föreslår jag en lite grej.
if Session("IsAdmin") then
iId = Session("CurrentAdministratedUserId")
else
iId = Session("id")
end if
Då får du på en speciel adminsida se till att sätta Session("CurrentAdministratedUserId") till det id som den användaren som du skall administrara har.
Men detta är bara ett sätt att göra det på, och som sagt innan, kör på det du har och gör det ännu bättre nästa gång du bygger nått :)
Jo det funkar och då behöver jag inte ha ngn QS, har tänkt på det innan, försökte också men det ville inte funka då den som har admin rättigheter inte kan redigera ngns lista. Vilket kan vara viktigt om man ska rensa upp i databasen och sedan slippa en massa fel om att den kräver att vissa poster behövs bla bla.
Då hade du ju rätt tänk (enligt mig då, jag är ju inte bäst i världen) men stöp på mållinjen.
Men jaja jag har testat att köra utan qs nu och det funkar fint. Och det med att kunna gå in och redigera blir ändå lite jobbigt om man skulle ha en 1000 medlemmar hehe. Men jaja tack för hjälpen och inser att det egentligen varit rätt onödigt på det sätt jag gjort hittils.

