Et lille problem i edituser.asp
Hejsa,Jeg har lavet en fil som hedder edituser.asp
Det er meningen at den skal, alt efter id, hente nogle data ud fra en database, og så kan man redigere i dem og ligge dem tilbage.
Desværre er jeg løbet ind i problemer. Jeg har fået lavet en kode der gør at man ikke kan oprette en bruger med samme brugernavn som et andet i databasen. De giver en sjov fejl.
Når jeg henter mine data ind i inputfelterne og skal redigere i nogle af informationerne, så kan jeg ikke redigere i den fordi den siger at brugernavnet allerede eksisterer. Selvfølgelig gør det det, når det er en bruger jeg henter frem og brugernavnet bliver smidt ind i et input felt..
Hvordan undgår jeg dette problem?
Min kode:
<%
strCmd = Request.QueryString("cmd")
openConn()
strUserid = Request.querystring("id")
If strCmd = "update" Then
'strUserid = Request.Form("userid")
strUsername = replace(Request.Form("username")&"","'","''")
Set rs2 = connection.execute("SELECT UserId FROM Users WHERE Username = '" & strUsername & "'")
If (rs2.bof or rs2.eof) Then
strUsername = replace(Request.Form("username")&"","'","''")
strPassword = replace(Request.Form("password")&"","'","''")
strCompany = replace(Request.Form("company")&"","'","''")
strFullname = replace(Request.Form("fullname")&"","'","''")
if len(Request.Form("redirect")) = 0 then
strRedirect = "error.asp"
Else
strRedirect = replace(Request.Form("redirect")&"","'","''")
end if
strGroup = replace(Request.Form("group")&"","'","''")
strSQL = "UPDATE Users SET Username='" & strUsername & "',[Password]='" & strPassword & "',Redirect='" & strRedirect & "',Company='" & strCompany & "',Fullname='" & strFullname & "',[Group]='" & strGroup & "' WHERE Userid=" & strUserid
connection.Execute(strSQL)
'Response.Write(strSQL)
%>
<h1>Brugeren er nu rettet!</h1><br>
<a href="overview.asp">Tilbage til oversigten</a>
<%
Else
%>
<h1>Fejlmeddelse</h1>
<font color=red>Brugernavnet eksisterer allerede!</font><br><br>
<a href="edituser.asp?id=<%=StrUserid%>">Tilbage</a>
<%
End if
%>
<%
Else
strId = Request.QueryString("id")
strSQL = "SELECT username, password, fullname, company, redirect, group FROM Users WHERE UserId=" & strId
Set rs = connection.Execute(strSQL)
If Not (rs.EOF Or rs.BOF) Then
%>
<form method="post" action="edituser.asp?id=<%=StrUserid%>&cmd=update">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="120"><b>Brugernavn:</b></td>
<td width="120"><b>Adgangskode:</b></td>
<td width="120"><b>Navn:</b></td>
<td width="120"><b>Firmanavn:</b></td>
<td width="120"><b>Hold</b></td>
<td width="120"><b>Redirect</b></td>
</tr>
<tr>
<td width="120"><input type="text" name="username" value="<%=rs("username")%>" class="input" size="17"></td>
<td width="120"><input type="text" name="password" value="<%=rs("password")%>" class="input" size="17"></td>
<td width="120"><input type="text" name="fullname" value="<%=rs("fullname")%>" class="input" size="17"></td>
<% if strid = 1 THEN %>
</table>
<div align="center"><br><input type="submit" value="Rediger brugeren" class="input"><br><a href="overview.asp">Tilbage til oversigten</a></div>
<% Elseif strid > 1 Then %>
<td width="120"><input type="text" name="company" value="<%=rs("company")%>" class="input" size="17"></td>
<td width="120"><input type="text" name="group" value="<%=rs("group")%>" class="input" size="17"></td>
<td width="120"><select name="Redirect" class="input">
<% if rs("redirect") = "login/beskyttet.asp" Then %>
<option selected value="login/beskyttet.asp">Beskyttet 1</option>
<option value="login/beskyttet1.asp">Beskyttet 2</option>
<% Elseif rs("redirect") = "login/beskyttet1.asp" Then %>
<option value="login/beskyttet.asp">Beskyttet 1</option>
<option selected value="login/beskyttet1.asp">Beskyttet 2</option>
<% End if %>
</select></td>
</tr>
</table>
<div align="center"><br><input type="submit" value="Rediger brugeren" class="input"><br><a href="overview.asp">Tilbage til oversigten</a></div>
<% end if %>
</form>
<% Else %>
Fejl, brugeren eksisterer ikke<br><br>
<a href="java script:this.history.go(-1);">Tilbage</a>
<div align="left"><font size="2"></font></div>
<%
End if
End If
%>
