groovesalade
Messages postés2Date d'inscriptionvendredi 13 octobre 2006StatutMembreDernière intervention22 décembre 2007
-
22 déc. 2007 à 11:32
cs_ghuysmans99
Messages postés3982Date d'inscriptionjeudi 14 juillet 2005StatutMembreDernière intervention30 juin 2013
-
22 déc. 2007 à 23:05
Bonjour, je viens de terminer un site en ASP mais il subsiste une dernière petite erreur. Ce n'est pas important mais j'aimerai bien comprendre :
J'ai une page login.asp avec deux champs - Login et - Password justement (le truc classique)
Lorsque le premier champ de la page login.asp est rempli avec le bon code d'accés et le second (password) avec un mauvais je suis redirigé sur login.asp, jusque là c'est normal.
Par contre lorsque je mets un login bidon et un password bidon (par exemple) au lieu de revenir sur login.asp j'ai le message :
ADODB.Fielderreur '800a0bcd'
BOF ou EOF est égal à True ou l'enregistrement actuel a été supprimé. L'opération demandée nécessite un enregistrement actuel.
/jerome/admin/checkadminlogin.asp, ligne 11
Donc base de données ne contenant pas l'enregistrement ...
Pourquoi ça me mets ça alors que je devrais être redirigé sur login.asp ???
Session("Logged") = ""
sName=Request.Form("loginName")
sPassword=Request.Form("password")
Response.Write("<CENTER>")
If sNAME=adName AND sPassword=adPass THEN
logininfo=True
session("Loggin") = sNAME
Session("admin") = "YES"
Response.Clear
Response.redirect "index.asp"
Else
Response.Clear
Response.redirect "login.asp" End If
Recordset.Close
Set Recordset = Nothing
Set cmdDC= Nothing
%>
Je devrai avoir logiquement une redirection sur login.asp si codes erronés et sur index.asp si codes corrects et non pas ce "tudjuuuu" de message d'erreur ...
Merci pour votre aide :)
Ps : J'ai essayé tout un tas de codes javascript avec messages d'alertes mais rien n'y fait.
A voir également:
Message d'erreur lors d'une mauvaise identification.
cs_ghuysmans99
Messages postés3982Date d'inscriptionjeudi 14 juillet 2005StatutMembreDernière intervention30 juin 201316 22 déc. 2007 à 12:09
Et hop, le tout en UNE SEULE page !!
<%
If Request.Form("Action") = "Login" Then
Dim SQL
Dim Rs
SQL = "SELECT * FROM admin WHERE name='" & Request.Form("loginName") & "' AND password='" & Request.Form("password") & "';"
Set Rs = Conn.Execute(SQL)
Session("Logged") = ""
If Not(Rs.EOF) THEN
logininfo=True
session("Loggin") = Rs("name")
Session("admin") = "YES"
Response.Redirect "index.asp"
Else
Response.Redirect "login.asp"
End If
Rs.Close
Set Rs = Nothing
Else
%>
<FORM METHOD="POST">
Veuillez vous identifier
Login :
Password :
</FORM>
<%
End If
%>
Remplace "Conn" par le nom de ta connexion
_______________________________________________________________________
VB.NETis good ...VB6is better <f></f>
cs_ghuysmans99
Messages postés3982Date d'inscriptionjeudi 14 juillet 2005StatutMembreDernière intervention30 juin 201316 22 déc. 2007 à 23:05
Oups ... J'ai oublié d'éviter l'injection !
<%
Public Function Pure(S)
Pure = Replace(S,"'","''")
End Function
If Request.Form("Action") = "Login" Then
Dim SQL
Dim Rs
SQL
"SELECT * FROM admin WHERE name'" & Pure(Request.Form("loginName"))
& "' AND password='" & Pure(Request.Form("password")) & "';"
Set Rs = Conn.Execute(SQL)
Session("Logged") = ""
If Not(Rs.EOF) THEN
logininfo=True
session("Loggin") = Rs("name")
Session("admin") = "YES"
Response.Redirect "index.asp"
Else
Response.Redirect "login.asp"
End If
Rs.Close
Set Rs = Nothing
Else
%>
<FORM METHOD="POST">
Veuillez vous identifier
Login :
Password :
</FORM>
<%
End If
%>
_______________________________________________________________________
VB.NETis good ...VB6is better <f></f>