<!--javascript der validerer felterne 'newpassword' og 'newpassword2'-->
<script type="text/javascript"> function validForm(passForm) { if (passForm.newpassword.value == "") { alert("du skal skrive et kodeord"); passForm.newpassword.focus(); return false; } if (passForm.newpassword.value != passForm.newpassword2.value) { alert("de indtastede kodeord er ikke ens"); passForm.newpassword.focus(); passForm.newpassword.select(); return false; } return true; } </script>
<script type="text/javascript"> function validForm(passForm2) { if (passForm.oldpassword.value == "") { alert("du skal skrive et kodeord"); passForm.oldpassword.focus(); return false; } if (passForm.oldpassword.value != <% =administrator("password")%>) { alert("de indtastede kodeord er ikke ens"); passForm.oldpassword.focus(); passForm.oldpassword.select(); return false; } return true; } </script>
<!--overordnet tabel der viser indholdet af databasen placeret i CSS layer-->
<input class="password" type="text" size="15" name="oldpassword"> <----- denne her skal valideres - jeg skal bruge et script i samme stil som det javascript der validerer de 2 andre felter (newpassword & newpassword2). Det der skal ske er at den skal tjekke i databasen om værdien af feltet passer med den indtastede værdi og gi' en alert hvis dette ikke er tilfældet istedet for at submitte formen.
<script type="text/javascript"> function validForm(passForm2) { if (passForm.oldpassword.value == "") { alert("du skal skrive et kodeord"); passForm.oldpassword.focus(); return false; } if (passForm.oldpassword.value != <% =administrator("password")%>) { alert("de indtastede kodeord er ikke ens"); passForm.oldpassword.focus(); passForm.oldpassword.select(); return false; } return true; } </script>
dette eksisterer ikke længere - var et noget halvhjertet forsøg på at gøre det samme kl. 5:30 i morges... so don't mind these lines
af sikkerheds grunde ville jeg ikke gøre det i javascript, da det betyder at kodeorderet vil kunne ses ved at se kildekoden i browseren. Gør det derfor i ASP inden du opdatere databasen.
seudokode: if request.form("oldpassword") = database("password") then updater database med nyt password else response.write "Gammelt password er forkert." end if
<% Set administrator = Server.CreateObject("ADODB.Recordset") administrator.Open "SELECT * FROM administrator WHERE adminid = " & Request.QueryString("admin"), database, 2,2 if Request.QueryString("oldpassword") = administrator("password") then administrator("navn")=Request.QueryString("username") administrator("password")=Request.QueryString("newpassword") administrator.Update else response.redirect("DinFormFil.asp?err=Forkert password") end if
Response.Redirect("../kontrolpanel/main.htm") %>
hvis du så skriver request.querystring("err") ud på din side, har du også fejlmeddelsen.
<!--javascript der validerer felterne 'newpassword' og 'newpassword2'-->
<script type="text/javascript"> function validForm(passForm) { if (passForm.newpassword.value == "") { alert("du skal skrive et kodeord"); passForm.newpassword.focus(); return false; } if (passForm.newpassword.value != passForm.newpassword2.value) { alert("de indtastede kodeord er ikke ens"); passForm.newpassword.focus(); passForm.newpassword.select(); return false; } return true; } </script>
<% Set administrator = Server.CreateObject("ADODB.Recordset") administrator.Open "SELECT * FROM administrator WHERE adminid = " & Request.QueryString("admin"), database, 2,2 if Request.QueryString("oldpassword") = administrator("password") then administrator("navn")=Request.QueryString("username") administrator("password")=Request.QueryString("newpassword") administrator.Update else response.redirect("users.asp?err=Forkert password") end if
før vi slutter... er der så en måde jeg kan få javascript valideringen af de 2 andre felter til at komme med samme type fejlmelding i stedet for en alertbox?
Set administrator = Server.CreateObject("ADODB.Recordset") administrator.Open "SELECT * FROM administrator WHERE adminid = " & Request.QueryString("admin"), database, 2,2 if Request.QueryString("oldpassword") = administrator("password") then if Request.QueryString("newpassword") = Request.QueryString("newpassword2") then administrator("navn")=Request.QueryString("username") administrator("password")=Request.QueryString("newpassword") administrator.Update else response.redirect("users.asp?show_id="& Request.QueryString("admin") &"&err=Password er ikke ens") end if else response.redirect("users.asp?err=Forkert password") end if
response.redirect("users.asp?show_id="& Request.QueryString("admin") &"&err=Password er ikke ens") end if else response.redirect("users.asp?show_id="& Request.QueryString("admin") &"&err=Forkert password") end if
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.