Aller au contenu

[ASP] Problème de lecture de fichier


volgur

Messages recommandés

Bonjour tout le monde :)

J'ai crée un script afin de lire un fichier texte, permettant de pouvoir tester des logs.

Le soucis vient du faire que je ne suis pas sûr du tout de ce que renvoie la fonction inF.Read (et accésoirement la syntaxe de Server.MapPath(""))

Voici le script en question :

<%
'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
%>

Sachant que le fichier "log.txt" est de ce style là:

login1 passw1

login2 passw2

.... ainsi de suite

De mon côté j'ai fais le même script en C que je maîtrise beaucoup mieux, et ya aucun soucis à l'exécution. J'en arrive donc à penser que j'utilise mal une/des fonction(s), pensais récupérer quelque chose alors qu'en réalité pas du tout.

Si quelqu'un pouvait m'éclairer :)

Merci beaucoup et bonne journée

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...