Avatar billede madeindk Nybegynder
20. februar 2005 - 23:00 Der er 9 kommentarer og
1 løsning

Skifte brugernavn?

Kære Eksperter !
Jeg har lige udviklet en funktion til min side, så mine brugere kan skifte brugernavn. Måske er jeg lidt bagud, men er et fremskrift. Men nu står der selvfølgelig som standard hvad de hedder fx. "Bobo" . Den side de skifter brugernavn på skifter de også deres alder og hvis de ikke skifter brugernavn, men kun fx. hvor gamle de er, siger den stadig at brugernavnet er optaget og det er det selvfølgelig også. Men nogen der kender noget til at den kun skal tjekke hvis der er blevet ændret noget?
Avatar billede htm Nybegynder
20. februar 2005 - 23:04 #1
den bedste måde er at sammenligne det indtastede med det der står i databasen.
Avatar billede ellebaek Nybegynder
20. februar 2005 - 23:04 #2
du gemmer vel på en eller anden måde hvilket navn de er logget ind som..

Så kan du bare spørge på om navnet er magen til det navn der står i feltet.
Er det det, så har de ikke ændret det, og navnet er derfor kun optaget af dem selv.
Avatar billede clscableguy Praktikant
20. februar 2005 - 23:04 #3
Du skal bare først checke om den bruger der er logget ind også har det navn som der står på siden. Hvis den har det skal den kun skifte alderen, hvis ikke så check om det er optaget, hvis ikke så skiftet det.
Avatar billede eagleeye Praktikant
20. februar 2005 - 23:05 #4
Hvis du har en autonummer kolonne og du eksempelvis germmer ID'et i en session variable kan du lave tjekke om så det ikke ser det som et brugernavn skift. Du har sikkert sådan en SQL sæting som denne der tjekker om navnet findes:

sql = "select * from bruger where brugernavn ='" & request.form("navn") & "'"

Så ret det til:

sql = "select * from bruger where brugernavn ='" & request.form("navn") & "' and brugerID <> " & Session("brugerid")
Avatar billede madeindk Nybegynder
20. februar 2005 - 23:11 #5
if request.QueryString("action")="gem" then

Set RecSet = Server.CreateObject("ADODB.Recordset")

Addera = "Select * From brugere"
RecSet.Open Addera, Connect, 3, 3

Do Until RecSet.EOF

If Request.Form("brugernavn") <> rs("brugernavn") then

If RecSet("brugernavn") = Request.Form("brugernavn") Then

RecSet.Close
Response.Redirect "default.asp?mode=optaget"

End If
RecSet.MoveNext
Loop
RecSet.Close
Avatar billede madeindk Nybegynder
20. februar 2005 - 23:13 #6
Sådan ser det ud nu. Nogen der kan rette i den?

Og ja jeg har en der hedder session("user") hvor brugerens brugernavn ligger i, men det bliver jo ikke rettet, hvis man ændre brugernavn 2 gange når man er logget ind?
Avatar billede eagleeye Praktikant
20. februar 2005 - 23:31 #7
Hvis du har gemt navnet i session("user") kan du gøre sådan her:


if request.QueryString("action")="gem" then

Set RecSet = Server.CreateObject("ADODB.Recordset")

if lcase(Request.from("brugernavn")) <> lcase(session("user")) then
  Addera = "Select * From brugere"
  RecSet.Open Addera, Connect, 3, 3

  Do Until RecSet.EOF

    If Request.Form("brugernavn") <> rs("brugernavn") then

    If RecSet("brugernavn") = Request.Form("brugernavn") Then

      RecSet.Close
      Response.Redirect "default.asp?mode=optaget"

    End If
  RecSet.MoveNext
  Loop
  RecSet.Close
End If
Avatar billede madeindk Nybegynder
21. februar 2005 - 12:29 #8
Ok. Hvordan kan man så gøre så det også retter Session("User") når den har skiftet brugernavn?
Avatar billede clscableguy Praktikant
21. februar 2005 - 15:38 #9
session("user") = Request.Form("brugernavn")
Avatar billede madeindk Nybegynder
03. juni 2006 - 21:25 #10
Ok, clscableguy, jeg brugte eagleeye's løsning og den fungerer perfekt - fandt en løsning på mit session problem inden du smed din kommentar - undskyld forsinkelsen på denne kommentar.
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