|
|
|
|
Bonjour,
Je suis novice en asp, et je voudrais faire une authentification des utilisateur sur un serveur iis avant leur connexion sur internet.
Jai deja mis au point un formulaire en html qui fonctionne, maintenant je dois me connecter à ma bdd acces et verifier que les nom prenom et mot de passe soient bien les meme que dans la base de donnée.
Pour le moment, avec ce que j'ai trouvé sur internet, j'ai mis au point ce code qui ne fonctionne pas:
<html>
<head>
<title>ACCES</title>
</head>
<body>
<%
dim conn
dim sql
dim rs
dim TNOM, TPRENOM, TMDP
dim qui
dim ok
ok=0
on error resume next
set conn=server.createobject("ADODB.Connection")
conn.open "WebAgents"
sql="select Nom, Prenom, Password FROM MotDePasse ;" // Mettre le nom de la table ou reqête adéquate à la place de Agents
set rs=server.createobject("ADODB.recordset")
rs.open sql,conn,3,3
if not rs.eof then
if rs.recordcount>0 then
rs.movefirst
do while not rs.eof
TNom=rs.fields("Nom")
if lcase(NoID)=lcase(TNom) then
TPRENOM=rs.fields("PRENOM")
TMDP=rs.fields("MDP")
if TMDP=password then
ok=-1
response.Redirect "main.asp?Nom="&chr(34)&TNOM&chr(34)&"&Prenom="&chr(34)&TPRENOM&chr(34)
response.flush
response.end
end if
end if
rs.movenext
loop
else
response.write("<B>la base est vide</B>")
end if
end if
rs.close
conn.close
set conn=nothing
if ok=0 then response.write("Mot de passe ou NoID erroné")
%>
</body>
</html>
Configuration: Windows XP Firefox 3.0.10
En realité je crée une borne informatique qui tourne en asp, et mes clients ont acces à internet par un petit bouton que j'ai fait directement rediriger vers ma page d'application, ils n'ont pas de barre pour tapper une url. Donc je pense que ca doit etre realisable.
|
Alors voila, j'ai encore modifier mon code, suite à des erreurs, mais la, je n'ais plus de probleme de connexion, ni de requete, mais quand je rentre un bon login et un bon mot de passe, il me redirige automatiquement vers mon formulaire, alors qu'il devrait m'envoyer vers google. je ne suis pas sur de ce que j'ai ecrit dans mon programme, si quelqu'un pouvait me donner des idées, voici mon if:
if not RS.eof then
response.redirect("Formulaire.html")
else
response.redirect("www.google.fr")
end if
|
Pour ceux que ca interesse, j'ai reussi!!!!
<%@ Language=VBScript%>
<%option explicit
Response.Buffer=true%>
<%
DIM Conn
DIM RS
DIM sql
DIM Nom
DIM Prenom
DIM pwd
DIM InSQL
<!-- Recuperation des données du formulaire-->
Nom = Request.Form("Nom")
Prenom = Request.Form("Prenom")
pwd = Request.Form("password")
<!-- Connexion au serveur-->
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="&server.mappath("SergentBerthet.mdb")
<!-- Requete sur la base de données-->
set RS=server.createobject("ADODB.recordset")
SQL = "SELECT * FROM MotDePasse WHERE password='"&pwd&"' AND Nom='"&Nom&"' AND Prenom='"&Prenom&"'"
RS.Open SQL,Conn,3,3
response.Write "<hr>"&SQL&"<hr>"
<!--Correspondance entre la requete et les informations du formulaire-->
if RS.eof then
response.redirect("Formulaire3.html")
else
InSQL="INSERT INTO connections(Nom,quand) VALUES('"&Nom&"',#"&Now()&"#)"
Conn.Execute(InSQL)
Conn.Close:Set Conn=Nothing
response.redirect("http://www.google.fr")
end if
Conn.close
%> |