25. maj 2002 - 09:22
Der er
13 kommentarer og 1 løsning
Tjekke password
Hej Eksperter. Jeg har følgende kode, og det den skal gøre er: Der er 2 felter hvor man skal skrive password, og hvis de ikke stemmer over ens, skal den melde en fejl... hvordan gør man det? <!--#include file="basen/code_lib.asp"--> <% Response.Buffer = True giga = request("giga") if giga = "1" then SQL = "select * from commusers where brugernavn='" & request.form("brugernavn") & "'" set rs = Conn.Execute(SQL) if rs.eof then SQLgem = "INSERT INTO commusers (navn, efternavn, brugernavn, password, mail) values ('" & request("navn") & "', '" & request("efternavn") & "', '" & request("brugernavn") & "', '" & request("password") & "', '" & request("mail") & "')" Conn.Execute(SQLgem) Response.Redirect("login.asp") Else Response.Write "Brugernavnet er taget... vælg venligst et andet" rs.close set rs = nothing conn.close set conn = nothing end if %> <html> <head> <title>«Gigaload.dk«</title> <link rel="StyleSheet" type="text/css" href="style/main.css"> </head> <body> <table width="800" cellspacing="0" cellpadding="0" align="center"> <tr> <td colspan="5"> </td> <tr> <td colspan="5" height="20" valign="top" bgcolor="#1E272E"> <table border="0" width="800" height="19" cellspacing="0" cellpadding="0"> <tr> <td width="400" height="19"> </td> <td width="400" height="19" align="right"> <font color="#FFFFFF" face="Verdana" size="1"> <% Response.write WeekDayName(WeekDay(Now, vbMonday), False, vbMonday) & " d. " & FormatDateTime(Now, vbLongDate) %> </font> </td> </tr> </table> </td> </tr> <tr> <td width="150" bgcolor="#4F5C65" height="264" valign="top"> <!--#include file='inc/venstremenu.asp'--> </td> <td class="space20w"> </td> <td width="460" valign="top"> <!--Start include main--> <table class="hovedtabel" cellspacing="0" cellpadding="0"> <tr> <td class="space5"> </td> </tr> <tr> <td class="banner"> </td> </tr> <tr> <td class="space5"> </td> </tr> <tr> <td class="bighead"> Opret community bruger </td> </tr> <tr> <td class="xbox" valign="top"> <form action="opret.asp?giga=1" method="post"> <table border="0" width="460" cellspacing="0" cellpadding="0"> <tr> <td width="460" colspan="2"> </td> </tr> <tr> <td width="125" class="text"> Navn </td> <td width="335"> <input type="text" size="20" name="navn"> </td> </tr> <tr> <td width="125" class="text"> Efternavn </td> <td width="335"> <input type="text" size="20" name="efternavn"> </td> </tr> <tr> <td width="460" colspan="2"> </td> </tr> <tr> <td width="125" class="text"> Brugernavn </td> <td width="335"> <input type="text" size="20" name="brugernavn"> </td> </tr> <tr> <td width="125" class="text"> Password </td> <td width="335"> <input type="password" size="20" name="password"> </td> </tr> <tr> <td width="125" class="text"> Gentag Password </td> <td width="335"> <input type="password" size="20"> </td> </tr> <tr> <td width="460" colspan="2"> </td> </tr> <tr> <td width="125" class="text"> E-mail adr. </td> <td width="335"> <input type="text" size="20" name="mail"> </td> </tr> <tr> <td width="460" colspan="2"> </td> </tr> <tr> <td width="460" colspan="2" class="text"> Hvis du skriver din e-mail adr. så siger du sammentidigt ja til at modtage nyhedsbrev en gang om måneden. </td> </tr> <tr> <td width="460" colspan="2"> </td> </tr> <tr> <td width="125"> </td> <td width="335"> <input type="submit" value="Opret"> </td> </tr> </table> </form> <table border="0" width="460" cellspacing="0" cellpading="0"> <tr> <td class="bighead"> Community Login </td> </tr> <tr> <td class="xbox"> Login her <a href="community.asp?giga=2"> Login </a> </td> </tr> </table> </td> </tr> <tr> <td class="space10h"> </td> </tr> <tr> <td class="bighead"> Copyright © Bluebird ApS </td> </tr> </table> <!--Slut include main--> </td> <td class="space20w"> </td> <td width="150" bgcolor="#4F5C65" valign="top"> <!--#include file='inc/hojremenu.asp'--> </td> </tr> </table> <% connection.close End if End if %> </body> </html>
Annonceindlæg fra HP
"SELECT * FROM adgangskode WHERE password1 = '" & Request.Form("password1") & "'" If rs("password2") = Request.Form("password2" Then Session("mode") = "OK" Else "Forkert kodeord" End if
Håber at det gav lidt inspiration og idé? /cotus
Sql = "SELECT * FROM kodeord WHERE password1= '" & Request.Form("password1") & "'" Set rs = Conn.Execute(sql) If rs.EOF Then Response.write "Forkert brugernavn/kodeord!" Else If Request.Form("password2") = rs("password2") Then Session("mode") = "ok" Else Response.write "Forkert kodeord" End if
det jeg mener er, at den skal sætte dem = hinanden, og stemmer de ikke over ens, skal den melde en fejl, den skal ikke sætte ind i databasen medmindre de er = hinanden.
Du ska først give begge dien password input navne, førte input har et navn og hedder password ande input har ikke et navn lige nu du kan kalde den password2: Gentag password: <input type="password" size="20" name="password2"> Så kan du inde du tjekker andet lavet det sådan her: if request.form("password") = request.form("password2") then 'OK indsæt i DB else Response.write "De to passwords var ikke ens end if
Dim strFejlBesked strFejlBesked = "" 'Undersøger først om der er skrevet noget i begge kodeord If Len(kodeord1) > 0 And Len(kodeord2) > 0 Then If kodeord1 = kodeord2 Then 'indsætter i basen Else strFejlBesked = "De to kodeord er ikke ens" End If Else strFejlBesked = "Begge kodeord skal udfyldes" End If
eks: if giga = "1" then if request.form("password") = request.form("password2") then SQL = "select * from commusers where brugernavn='" & request.form("brugernavn") & "'" set rs = Conn.Execute(SQL) if rs.eof then SQLgem = "INSERT INTO commusers (navn, efternavn, brugernavn, password, mail) values ('" & request("navn") & "', '" & request("efternavn") & "', '" & request("brugernavn") & "', '" & request("password") & "', '" & request("mail") & "')" Conn.Execute(SQLgem) Response.Redirect("login.asp") Else Response.Write "Brugernavnet er taget... vælg venligst et andet" rs.close set rs = nothing conn.close set conn = nothing else Response.write "De to passwords var ikke ens, prøv igen" end if end if
kan du sætte den sammen med den anden kode, den der tjekker brugernavn...
jeg er synsk :) men det sidste end if kom forkert ind...: if giga = "1" then if request.form("password") = request.form("password2") then SQL = "select * from commusers where brugernavn='" & request.form("brugernavn") & "'" set rs = Conn.Execute(SQL) if rs.eof then SQLgem = "INSERT INTO commusers (navn, efternavn, brugernavn, password, mail) values ('" & request("navn") & "', '" & request("efternavn") & "', '" & request("brugernavn") & "', '" & request("password") & "', '" & request("mail") & "')" Conn.Execute(SQLgem) Response.Redirect("login.asp") Else Response.Write "Brugernavnet er taget... vælg venligst et andet" rs.close set rs = nothing conn.close set conn = nothing end if else Response.write "De to passwords var ikke ens, prøv igen" end if
den siger at der ikke kan være 2 else, at den forventede et end if i stedet for anden gang else
den passer ikke alligevel, den melder fejl i denne linie: Response.Write "Brugernavnet er taget... vælg venligst et andet" og den fejl den giver mig lyder: Microsoft VBScript compilation error '800a0400' Expected statement /community.asp, line 20 End if ^
Din kode ned til <html> skal se sådan ud: <!--#include file="basen/code_lib.asp"--> <% Response.Buffer = True giga = request("giga") if giga = "1" then if request.form("password") = request.form("password2") then SQL = "select * from commusers where brugernavn='" & request.form("brugernavn") & "'" set rs = Conn.Execute(SQL) if rs.eof then SQLgem = "INSERT INTO commusers (navn, efternavn, brugernavn, password, mail) values ('" & request("navn") & "', '" & request("efternavn") & "', '" & request("brugernavn") & "', '" & request("password") & "', '" & request("mail") & "')" Conn.Execute(SQLgem) Response.Redirect("login.asp") Else Response.Write "Brugernavnet er taget... vælg venligst et andet" rs.close set rs = nothing conn.close set conn = nothing end if else Response.write "De to passwords var ikke ens, prøv igen" end if %> <html>
ned i bund af filen har du to end if'er connection.close End if End if %> </body> </html> Så vidt jeg lige kan se er en end if nok: connection.close End if %> </body> </html>
Kurser inden for grundlæggende programmering