IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Web Perl Discussion :

Création d’un Script CGI/perl permettant la validation d’un nom d’utilisateur et d’un


Sujet :

Web Perl

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Avril 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Création d’un Script CGI/perl permettant la validation d’un nom d’utilisateur et d’un
    Caractéristiques système : XP SP2 PentiumIII 866MHz et 128 Mo de ram

    Serveur Apache HTTP Server 2.0.58
    Active Perl 5.8.7 Build 815

    Mon objectif est de protéger l’accès à certaines données personnelles continues dans un fichiers se trouvant sur le serveur local.
    Chaque utilisateur se connecte avec son nom d’utilisateur et son mot de passe pour accéder à ses données personnelles.
    Les noms d’utilisateurs ainsi que les mot de passe sont tous stockés dans un fichier que j’ai appelé access.txt
    Voici mon code pour le formulaire à partir duquel tous les utilisateurs doivent saisir leur noms et mot de passe :je l’ai appelé access.html
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <html><head><title></title></head>
    <body><table border="2" width="600" align="center"><tr><td><center><h2>Remplissez le Formulaire SVP!</h2></center>
    <form name="layform4" action="http://localhost/cgi-bin/exercice4.pl" method="post">
    <table align="center" cellpadding="10"><tr>
    <td valign=middle" align="right"><b>Code d'utilisateur:</b></td><td valign=middle" align="left"><input type="text" name="utilisateur" value="Sober5"></td></tr>
    <tr><td valign="middle" align="right"><b>Mot de passe:</b></td><td valign=middle" align="left"><input type="password" name="pwd" value="**********"></center></td></tr>
    <tr><td colspan="2"><center>
    		   <input type="submit" value="Entrer">
    		   </center>
    </td></tr></table></form></td></tr></table></body></html>
    Et voice mon code pour le script perl qui, à partir des données contenues dans le fichier access.txt,valide le nom d’utilisateur et le mot de passé saisi dans le formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    #!c:/perl/bin/perl.exe
    use CGI 'param';
    use CGI::Carp qw(fatalsToBrowser warningsToBrowser);
    print "Content-type:text/html\n\n";
    print "<html><body text=\"black\"><center><b>";
    $code_utilisateur=param('utilisateur');
    $password=param('pwd');
    open (DATA,'../cgi-bin/access.txt') or die("Impossible de lire ce fichier, DESOLE");
    while (<DATA>) {
    $_ =~ s/[\r\n]//g;
    $ligne = $_;
    ($code,$pwd,$prenom,$nom,$age,$sexe,$courriel,$ville,$pays ) = split(':',$ligne);
    @user_parameters=split(':',$ligne);
     	if (($user_parameters[0] eq $code_utilisateur)&&($user_parameters[1] eq $password)){
     
     		print"<table border=\"4\" rules=\"none\" width=\"600\" align=\"center\"><tr><td colspan=\"2\" align=\"center\" border=\"0\">";
    		print "<h3><b>Informations concernant le code d'utilisateur :$code_utilisateur </b></h3></td></tr>";
    		print "<tr><td border=\"0\" align=\"right\"><h3><b>Nom :</b></h3></td><td align=\"left\"><h3>$nom</h3></td></tr>";
    		print "<td border=\"0\" align=\"right\"><h3><b>Pr&eacute;nom : </b></h3></td><td border=\"0\" align=\"left\"><h3>$prenom</h3></td></tr>";
    		print "<td border=\"0\" align=\"right\"><h3><b>&acirc;ge : </b></h3></td><td border=\"0\" align=\"left\"><h3>$age</h3></td></tr>";
    		print "<td border=\"0\" align=\"right\"><h3><b>Sexe : </b></td> <td border=\"0\" align=\"left\"><h3>$sexe </h3></td></tr>";
    		print "<td border=\"0\" align=\"right\"><h3><b>Courriel : </b></h3></td> <td border=\"0\" align=\"left\"><h3>$courriel</h3></td></tr>";
    		print "<td border=\"0\" align=\"right\"><h3><b>Ville : </b></h3></td> <td border=\"0\" align=\"left\"><h3>$ville</h3></td></tr>";
    		print "<td border=\"0\" align=\"right\"><h3><b>Pays : </b></h3></td> <td border=\"0\" align=\"left\"><h3>$pays </h3></td></tr></table>
    else{
    		print "<br>le code d'usager $code_utilisateur n\'est pas dans la base de donnees<br>";
    		}
    close (DATA)/body></html>";
    Mon blocage est que quand je valide le formulaire, si le nom d’utilisateur et le mot de passe sont correctes, les données personnelles s’affichent pour cet utilisateur mais l’ex écution se poursuit pour les autres membres et le programme affiche le code d’usager n’est pas dans la base de donnée.
    Quelqu’un peut il m’aider!!!
    Merci d’avance

  2. #2
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 499 184
    Points
    499 184
    Par défaut
    oulala, un conseil, apprend à mettre ton code sous balise code pour une meilleur visibilité. Tu selectionnnes ton code et tu clique sur le #.

    Voilà, bonne continuation

  3. #3
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Citation Envoyé par leylalay
    Mon blocage est que quand je valide le formulaire, si le nom d’utilisateur et le mot de passe sont correctes, les données personnelles s’affichent pour cet utilisateur mais l’ex écution se poursuit pour les autres membres et le programme affiche le code d’usager n’est pas dans la base de donnée.
    Quelqu’un peut il m’aider!!!
    Merci d’avance
    Bah regarde, maintenant qu'on a mis ton code sous balises CODE, il apparaît clairement que tu as oublié de finir correctement ton dernier "print".

    Par ailleurs tu as des problèmes de mise en forme, tes lignes sont beaucoup trop longues... L'indentation de ton HTML n'est pas fameuse non plus.

    --
    Jedaï

  4. #4
    Nouveau Candidat au Club
    Inscrit en
    Avril 2007
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Remerciement à Jedai
    Citation Envoyé par Jedai
    Bah regarde, maintenant qu'on a mis ton code sous balises CODE, il apparaît clairement que tu as oublié de finir correctement ton dernier "print".

    Par ailleurs tu as des problèmes de mise en forme, tes lignes sont beaucoup trop longues... L'indentation de ton HTML n'est pas fameuse non plus.

    --
    Jedaï
    Tusais quand on est à ses début tous ce qui parait si simple peut se révéler souvent un peu compliqué.
    Maintenant moi même j'ai bonne visibilité de mon code sous balises il n'en demeure pas moins vrais que cela ne solutionne tjrs pas mon problèeme!
    Merci K mem!
    QQN d'autre pourait il m'aider!!!

  5. #5
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Citation Envoyé par leylalay
    Tusais quand on est à ses début tous ce qui parait si simple peut se révéler souvent un peu compliqué.
    Maintenant moi même j'ai bonne visibilité de mon code sous balises il n'en demeure pas moins vrais que cela ne solutionne tjrs pas mon problèeme!
    Merci K mem!
    QQN d'autre pourait il m'aider!!!
    Tu as corrigé l'erreur que je t'ai pointé et ça continue tout de même après le else ? Tu m'étonnes là, pourrais-tu nous mettre ton code corrigé ?

    --
    Jedaï

Discussions similaires

  1. script cgi perl ne s execute pas
    Par theophanie77460 dans le forum Web
    Réponses: 8
    Dernier message: 30/09/2010, 09h01
  2. Exécutions de scripts cgi / perl sous Apache 2
    Par gedeon555 dans le forum Apache
    Réponses: 1
    Dernier message: 31/01/2009, 20h23
  3. Réponses: 2
    Dernier message: 17/04/2007, 10h56
  4. [web] afficher le résultat d'un script cgi en perl
    Par Leishmaniose dans le forum Web
    Réponses: 8
    Dernier message: 10/06/2004, 18h36
  5. Réponses: 2
    Dernier message: 19/06/2003, 13h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo