Bonjour tout le monde,
Voila j'ai un soucis assez simple : dans un script que j'ai réalisé en ASP, j'ai soucis concernant la lecture d'un fichier texte (et même p'tete lors de la définition du chemin :s)
Mon fichier texte se compose ainsi
login1 passw1
login2 passw2
.... vous avez compris chaque est composée de 6 caractères, un espace, 6 caractères et un retour charriot.
Le soucis c'est que j'utilise inF.Read, mais je suis pas du tout sûr que ça fonctionne comme je le pense. Pour preuve, j'ai réalisé le même script en C (langage que je connais/maîtrise beaucoup mieux), et celui-ci fonctionne.
Si quelqu'un pouvait donc m'aider, voici mon script ASP:
<%
'Vérification des logs dans un fichier !
'On commence par récupérer ce qui a été tapé !
login_user=Request.Form("login")
passwd_user=Request.Form("passwd")
'Et ceux qui vont accueillir les log du fichier
dim taille : taille=6
dim login : redim login(taille)
dim passwd : redim passwd(taille)
dim poubelle : redim poubelle(taille)
login=""
passwd=""
'Petite variable qui permet de sortir de la boucle quand authentifié
dim a : a=0
'On récupère le chemin absolu du fichier dans l'arborescence du serveur
Set FSO=Server.CreateObject("Scripting.FileSystemObject")
mon_fich="\log.txt"
repertoire="/admin/"
chemin_fichier=Server.MapPath(repertoire & nom_fich) 'le chemin du fichier depuis la racine
'On teste si le fichier existe ou non
if FSO.FileExists(chemin_fichier) then
'On commence le traitement
'En ouvrant le fichier
set inF=FSO.OpenTextFile(chemin_fichier, 1, false)
'On lit toutes les lignes tant qu'on a pas tout lu, ou tant que a est différent de 1
While not inF.atEndOfStream or a<>1
login=inF.Read(6) 'Les logins présent dans le fichier
poubelle=inF.Read(1) 'L'espace
passwd=inF.Read(6) 'Les password présents dans le fichier
poubelle=inF.Read(1) 'Le retour chariot
'Et on teste si c'est correct ou pas
if login_user=login and passwd_user=passwd then
rep="OK"
a=1
else 'Ca correspond pas, on met la variable rep à ERREUR, au cas où c'est le dernier tour de boucle
rep="ERREUR"
end if 'On remonte dans la boucle, et on lit la ligne suivante voir si ce coup-ci c'est bon
Wend 'On a lu tout le fichier
'On renvoi donc la variable pour le suite du traitement
Response.Write("rep="&rep)
inF.close
else 'Le fichier n'existe pas
Response.Write("Authentification impossible, veuillez contacter votre Administrateur pour plus d'informations")
end if
%>
Merci par avance