Se connecter / S'enregistrer
Votre question

perl avec lecture de fichier

Tags :
  • Programme
  • Programmation
Dernière réponse : dans Programmation
20 Avril 2007 21:36:42

bonjour,j'ai un exercice à résoudre et je suis bloqué.je dois écrire
programme perl qui me permet de vérifier si l'utilisateur qui entre son code
d'utilisateur et son mot de passe est inscrit dans notre fichier txt.
dans ce fichier,les utilisateurs déja inscrits sont rangés par ligne:sur la premiére ligne,
il ya le code d'utilisateur de paul(c un exemple),son mot de passe,son e-mail,son sexe,sa ville,son pays.
et ainsi de suite pour tous ceux qui sont inscrits.si l'utilisateur entre
son code et son mot de passe,on doit parcourire le fichier pour voir s'il est inscrit.
s'il l'est,il reçoit une page avec les informations le concernant,dans le cas contraire,
c'est un autre message qu'il reçoit.j'ai commencé le travail en utilisant une boucle foreach
mais à chaque fois c'est le méme message qui s'affiche,méme si l'utilisateur n'existe pas.
Merci d'avance pour votre aide

Autres pages sur : perl lecture fichier

21 Avril 2007 17:27:16

salut,
commence par montrer ton code source!

Ps:
Je n'ai jamais écris de programme en perl, juste modifié un source pour traiter un fichier log (squid)
23 Avril 2007 23:23:13

salut,voici le programme perl que j'ai fait mais le probléme c'est que ça affiche tout le temps les mêmes infos même si l'utilisateur n'existe pas



#!c:/Perl/bin/perl.exe
print "Content-type: text/html\n\n";
use CGI::Carp qw(fatalsToBrowser warningsToBrowser);
use CGI 'param';
print"<html><body><table border=1 width=400 align=center CELLPADDING =3 ><tr><td>";
$utilisateur = param ('Code_utilisateur');
$Mot_de_passe = param ('Mot de passe');
open (BASE_DONNEES,"utilisateurs.txt");
while (<BASE_DONNEES>) {
$_ =~ s/[\r\n]//g;
$ligne = $_;
($code,$pwd,$prenom,$nom,$age,$sexe,$courriel,$ville,$pays ) =
split(':',$ligne);
close (BASE_DONNEES);
if (($utilisateur=$code) && ($Mot_de_passe=$pwd)){
print"<table border=0 width=600 height=200 cellspacing=5 CELLPADDING =3><tr>
<td colspan=2 align=center><b>Informations concernant le code d'utilisateur</b> <i>$utilisateur</i></td>
</tr>
<tr>
<td align=right> <b>Nom:</b></td>
<td> $nom </td>
</tr>
<tr>
<td align=right><b>Prénom:</b></td>
<td> $prenom </td>
</tr>
<tr>
<td align=right><b>Âge:</b></td>
<td> $age </td>
</tr>
<tr>
<td align=right><b>Sexe:</b></td>
<td> $sexe </td>
</tr>
<tr>
<td align=right><b>Courriel:</b></td>
<td> $courriel </td>
</tr>
<tr>
<td align=right><b>Ville:</b></td>
<td> $ville </td>
</tr>
<tr>
<td align=right><b>Pays:</b></td>
<td> $pays </td>
</tr>
<tr>
<td colspan=2 align=center><a href=http://localhost/Exercice4.html>Retour au formulaire pour accéder à vos données personnelles</a></td>
</tr>
</table>";
}
else{
print"erreur";
}

print"</td></tr></table></body></html>";


}



merci d'avance
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS