j'ai passé toute la journée sur le code suivant, j'aimerai que lorsque
le login et password sont validés (par fichier texte) le programme
m'affiche une page blanche et non plus le tableau de login. j' en peu
plus ... fatigué
Merci Lolo
#!/usr/bin/perl -w
use CGI qw/:all/;
use CGI::Carp qw(fatalsToBrowser warningsToBrowser);
td({align=>'center'}),p,
submit("login"),p
submit("Create a new account"),
end_form,
);
if($logUser ne ''){
if(-e $file){
open (FILE, $file);
while ($dataUser = <FILE>){
if ($dataUser =~ /([^:]+)=(.*)/) {
$logUser{$1}= ("$2");
}
}
close (FILE);
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Rue des Prairies
Bonjour,
Voir dans le texte.
gribouille a écrit :
Bonjour,
premier post car je me lance dans le cgi ...
j'ai passé toute la journée sur le code suivant, j'aimerai que lorsque le login et password sont validés (par fichier texte) le programme m'affiche une page blanche et non plus le tableau de login. j' en peu plus ... fatigué
Merci Lolo
#!/usr/bin/perl -w
Tu peux avantageusement utiliser use warnings; à la place de -w Il est fortement recommandé d'utiliser également use strict; ça évite de gros soucis.
use CGI qw/:all/; use CGI::Carp qw(fatalsToBrowser warningsToBrowser);
print( table({-border=>'0', align=>'center', bgcolor=>'#FFFF0F'}), td({-width=>'100',-align=>'center'}), start_form({-type=>'hidden', -value=>'initial', -name=>'screen', -width=>"10"}), "Enter your name ", textfield({-name=>'login', -type=>'text'}),p, "Password ", password_field({-type=>'password', -name=>'password'}),p, TR,
td({align=>'center'}),p, submit("login"),p submit("Create a new account"),
end_form, );
if($logUser ne ''){ if(-e $file){ open (FILE, $file); while ($dataUser = <FILE>){ if ($dataUser =~ /([^:]+)=(.*)/) { $logUser{$1}= ("$2"); } } close (FILE);
Il est préférable d'écrire : open($fh,"<",$file) or die "Problème d'ouverture de $file : $!"; while(<$fh>) { $logUser{$1}=$2 if(/([^:]+)=(.*)/); } } close($fh);
Peux-tu préciser ce que contient le fichier ? J'ai des doutes sur la validité de ton expression rationnelle, un split me semble plus adapté. my ($x,$y) = split(/=/,$_); $logUser{$x}=$y;
if ($pass eq $logUser{'password'}){ $login = IDok;
D'une manière générale, essaie d'indenter correctement, c'est beaucoup plus lisible.
En espérant que ça aide. Olivier.
Bonjour,
Voir dans le texte.
gribouille a écrit :
Bonjour,
premier post car je me lance dans le cgi ...
j'ai passé toute la journée sur le code suivant, j'aimerai que lorsque
le login et password sont validés (par fichier texte) le programme
m'affiche une page blanche et non plus le tableau de login. j' en peu
plus ... fatigué
Merci Lolo
#!/usr/bin/perl -w
Tu peux avantageusement utiliser use warnings; à la place de -w
Il est fortement recommandé d'utiliser également use strict; ça évite de
gros soucis.
use CGI qw/:all/;
use CGI::Carp qw(fatalsToBrowser warningsToBrowser);
print(
table({-border=>'0', align=>'center', bgcolor=>'#FFFF0F'}),
td({-width=>'100',-align=>'center'}),
start_form({-type=>'hidden', -value=>'initial', -name=>'screen',
-width=>"10"}),
"Enter your name ", textfield({-name=>'login', -type=>'text'}),p,
"Password ", password_field({-type=>'password', -name=>'password'}),p,
TR,
td({align=>'center'}),p,
submit("login"),p
submit("Create a new account"),
end_form,
);
if($logUser ne ''){
if(-e $file){
open (FILE, $file);
while ($dataUser = <FILE>){
if ($dataUser =~ /([^:]+)=(.*)/) {
$logUser{$1}= ("$2");
}
}
close (FILE);
Il est préférable d'écrire :
open($fh,"<",$file) or die "Problème d'ouverture de $file : $!";
while(<$fh>) {
$logUser{$1}=$2 if(/([^:]+)=(.*)/);
}
}
close($fh);
Peux-tu préciser ce que contient le fichier ?
J'ai des doutes sur la validité de ton expression rationnelle, un split
me semble plus adapté.
my ($x,$y) = split(/=/,$_);
$logUser{$x}=$y;
if ($pass eq $logUser{'password'}){
$login = IDok;
j'ai passé toute la journée sur le code suivant, j'aimerai que lorsque le login et password sont validés (par fichier texte) le programme m'affiche une page blanche et non plus le tableau de login. j' en peu plus ... fatigué
Merci Lolo
#!/usr/bin/perl -w
Tu peux avantageusement utiliser use warnings; à la place de -w Il est fortement recommandé d'utiliser également use strict; ça évite de gros soucis.
use CGI qw/:all/; use CGI::Carp qw(fatalsToBrowser warningsToBrowser);
print( table({-border=>'0', align=>'center', bgcolor=>'#FFFF0F'}), td({-width=>'100',-align=>'center'}), start_form({-type=>'hidden', -value=>'initial', -name=>'screen', -width=>"10"}), "Enter your name ", textfield({-name=>'login', -type=>'text'}),p, "Password ", password_field({-type=>'password', -name=>'password'}),p, TR,
td({align=>'center'}),p, submit("login"),p submit("Create a new account"),
end_form, );
if($logUser ne ''){ if(-e $file){ open (FILE, $file); while ($dataUser = <FILE>){ if ($dataUser =~ /([^:]+)=(.*)/) { $logUser{$1}= ("$2"); } } close (FILE);
Il est préférable d'écrire : open($fh,"<",$file) or die "Problème d'ouverture de $file : $!"; while(<$fh>) { $logUser{$1}=$2 if(/([^:]+)=(.*)/); } } close($fh);
Peux-tu préciser ce que contient le fichier ? J'ai des doutes sur la validité de ton expression rationnelle, un split me semble plus adapté. my ($x,$y) = split(/=/,$_); $logUser{$x}=$y;
if ($pass eq $logUser{'password'}){ $login = IDok;
D'une manière générale, essaie d'indenter correctement, c'est beaucoup plus lisible.
En espérant que ça aide. Olivier.
gribouille
Rue des Prairies a écrit :
Bonjour,
Voir dans le texte.
gribouille a écrit :
Bonjour,
premier post car je me lance dans le cgi ...
j'ai passé toute la journée sur le code suivant, j'aimerai que lorsque le login et password sont validés (par fichier texte) le programme m'affiche une page blanche et non plus le tableau de login. j' en peu plus ... fatigué
Merci Lolo
#!/usr/bin/perl -w
Tu peux avantageusement utiliser use warnings; à la place de -w Il est fortement recommandé d'utiliser également use strict; ça évite de gros soucis.
use CGI qw/:all/; use CGI::Carp qw(fatalsToBrowser warningsToBrowser);
print( table({-border=>'0', align=>'center', bgcolor=>'#FFFF0F'}), td({-width=>'100',-align=>'center'}), start_form({-type=>'hidden', -value=>'initial', -name=>'screen', -width=>"10"}), "Enter your name ", textfield({-name=>'login', -type=>'text'}),p, "Password ", password_field({-type=>'password', -name=>'password'}),p, TR,
td({align=>'center'}),p, submit("login"),p submit("Create a new account"),
end_form, );
if($logUser ne ''){ if(-e $file){ open (FILE, $file); while ($dataUser = <FILE>){ if ($dataUser =~ /([^:]+)=(.*)/) { $logUser{$1}= ("$2"); } } close (FILE);
Il est préférable d'écrire : open($fh,"<",$file) or die "Problème d'ouverture de $file : $!"; while(<$fh>) { $logUser{$1}=$2 if(/([^:]+)=(.*)/); } } close($fh);
Peux-tu préciser ce que contient le fichier ? J'ai des doutes sur la validité de ton expression rationnelle, un split me semble plus adapté. my ($x,$y) = split(/=/,$_); $logUser{$x}=$y;
if ($pass eq $logUser{'password'}){ $login = IDok;
mais le fait c'est que la nouvelle page ne s'ouvre pas dans une nouvelle page, le texte 'ma nouvelle page' s'ouvre dans le tableau de login.
comment faire ?????
merci Laurent
Rue des Prairies a écrit :
Bonjour,
Voir dans le texte.
gribouille a écrit :
Bonjour,
premier post car je me lance dans le cgi ...
j'ai passé toute la journée sur le code suivant, j'aimerai que lorsque
le login et password sont validés (par fichier texte) le programme
m'affiche une page blanche et non plus le tableau de login. j' en peu
plus ... fatigué
Merci Lolo
#!/usr/bin/perl -w
Tu peux avantageusement utiliser use warnings; à la place de -w
Il est fortement recommandé d'utiliser également use strict; ça évite de
gros soucis.
use CGI qw/:all/;
use CGI::Carp qw(fatalsToBrowser warningsToBrowser);
print(
table({-border=>'0', align=>'center', bgcolor=>'#FFFF0F'}),
td({-width=>'100',-align=>'center'}),
start_form({-type=>'hidden', -value=>'initial', -name=>'screen',
-width=>"10"}),
"Enter your name ", textfield({-name=>'login', -type=>'text'}),p,
"Password ", password_field({-type=>'password', -name=>'password'}),p,
TR,
td({align=>'center'}),p,
submit("login"),p
submit("Create a new account"),
end_form,
);
if($logUser ne ''){
if(-e $file){
open (FILE, $file);
while ($dataUser = <FILE>){
if ($dataUser =~ /([^:]+)=(.*)/) {
$logUser{$1}= ("$2");
}
}
close (FILE);
Il est préférable d'écrire :
open($fh,"<",$file) or die "Problème d'ouverture de $file : $!";
while(<$fh>) {
$logUser{$1}=$2 if(/([^:]+)=(.*)/);
}
}
close($fh);
Peux-tu préciser ce que contient le fichier ?
J'ai des doutes sur la validité de ton expression rationnelle, un split
me semble plus adapté.
my ($x,$y) = split(/=/,$_);
$logUser{$x}=$y;
if ($pass eq $logUser{'password'}){
$login = IDok;
j'ai passé toute la journée sur le code suivant, j'aimerai que lorsque le login et password sont validés (par fichier texte) le programme m'affiche une page blanche et non plus le tableau de login. j' en peu plus ... fatigué
Merci Lolo
#!/usr/bin/perl -w
Tu peux avantageusement utiliser use warnings; à la place de -w Il est fortement recommandé d'utiliser également use strict; ça évite de gros soucis.
use CGI qw/:all/; use CGI::Carp qw(fatalsToBrowser warningsToBrowser);
print( table({-border=>'0', align=>'center', bgcolor=>'#FFFF0F'}), td({-width=>'100',-align=>'center'}), start_form({-type=>'hidden', -value=>'initial', -name=>'screen', -width=>"10"}), "Enter your name ", textfield({-name=>'login', -type=>'text'}),p, "Password ", password_field({-type=>'password', -name=>'password'}),p, TR,
td({align=>'center'}),p, submit("login"),p submit("Create a new account"),
end_form, );
if($logUser ne ''){ if(-e $file){ open (FILE, $file); while ($dataUser = <FILE>){ if ($dataUser =~ /([^:]+)=(.*)/) { $logUser{$1}= ("$2"); } } close (FILE);
Il est préférable d'écrire : open($fh,"<",$file) or die "Problème d'ouverture de $file : $!"; while(<$fh>) { $logUser{$1}=$2 if(/([^:]+)=(.*)/); } } close($fh);
Peux-tu préciser ce que contient le fichier ? J'ai des doutes sur la validité de ton expression rationnelle, un split me semble plus adapté. my ($x,$y) = split(/=/,$_); $logUser{$x}=$y;
if ($pass eq $logUser{'password'}){ $login = IDok;
mais le fait c'est que la nouvelle page ne s'ouvre pas dans une nouvelle page, le texte 'ma nouvelle page' s'ouvre dans le tableau de login.
comment faire ?????
merci Laurent
Rue des Prairies
gribouille a écrit :
mais le fait c'est que la nouvelle page ne s'ouvre pas dans une nouvelle page, le texte 'ma nouvelle page' s'ouvre dans le tableau de login.
comment faire ?????
merci Laurent
Qu'est-ce que tu entends par "ouvrir dans le tableau de login" ?
Sinon, de ce que je comprends, apporte les modifs suivantes :
- remplacer $login par $logUser dans le test : if($login eq '') - déplacer la fin de ce bloc avant if($logUser ne ''), qui peut être remplacé par else, - ajouter print end_html en fin de script.
soit en résumé : if($logUser eq '') { print ....... ......... } else { #à la place de if($logUser ne '') if(-e $file){ ......... ......... }else{ print "user $logUser not found"; } } if($login eq 'IDok) { print "ma nouvelle page"; } print end_html;
Olivier.
gribouille a écrit :
mais le fait c'est que la nouvelle page ne s'ouvre pas dans une nouvelle
page, le texte 'ma nouvelle page' s'ouvre dans le tableau de login.
comment faire ?????
merci
Laurent
Qu'est-ce que tu entends par "ouvrir dans le tableau de login" ?
Sinon, de ce que je comprends, apporte les modifs suivantes :
- remplacer $login par $logUser dans le test : if($login eq '')
- déplacer la fin de ce bloc avant if($logUser ne ''), qui peut être
remplacé par else,
- ajouter print end_html en fin de script.
soit en résumé :
if($logUser eq '') {
print .......
.........
} else { #à la place de if($logUser ne '')
if(-e $file){
.........
.........
}else{
print "user $logUser not found";
}
}
if($login eq 'IDok) {
print "ma nouvelle page";
}
print end_html;
mais le fait c'est que la nouvelle page ne s'ouvre pas dans une nouvelle page, le texte 'ma nouvelle page' s'ouvre dans le tableau de login.
comment faire ?????
merci Laurent
Qu'est-ce que tu entends par "ouvrir dans le tableau de login" ?
Sinon, de ce que je comprends, apporte les modifs suivantes :
- remplacer $login par $logUser dans le test : if($login eq '') - déplacer la fin de ce bloc avant if($logUser ne ''), qui peut être remplacé par else, - ajouter print end_html en fin de script.
soit en résumé : if($logUser eq '') { print ....... ......... } else { #à la place de if($logUser ne '') if(-e $file){ ......... ......... }else{ print "user $logUser not found"; } } if($login eq 'IDok) { print "ma nouvelle page"; } print end_html;
Olivier.
gribouille
Rue des Prairies a écrit :
gribouille a écrit :
mais le fait c'est que la nouvelle page ne s'ouvre pas dans une nouvelle page, le texte 'ma nouvelle page' s'ouvre dans le tableau de login.
comment faire ?????
merci Laurent
Qu'est-ce que tu entends par "ouvrir dans le tableau de login" ?
Sinon, de ce que je comprends, apporte les modifs suivantes :
- remplacer $login par $logUser dans le test : if($login eq '') - déplacer la fin de ce bloc avant if($logUser ne ''), qui peut être remplacé par else, - ajouter print end_html en fin de script.
soit en résumé : if($logUser eq '') { print ....... ......... } else { #à la place de if($logUser ne '') if(-e $file){ ......... ......... }else{ print "user $logUser not found"; } } if($login eq 'IDok) { print "ma nouvelle page"; } print end_html;
Olivier.
Oui, c'est exactement ca ! j'ai fait les modifs, merci !
Rue des Prairies a écrit :
gribouille a écrit :
mais le fait c'est que la nouvelle page ne s'ouvre pas dans une
nouvelle page, le texte 'ma nouvelle page' s'ouvre dans le tableau de
login.
comment faire ?????
merci
Laurent
Qu'est-ce que tu entends par "ouvrir dans le tableau de login" ?
Sinon, de ce que je comprends, apporte les modifs suivantes :
- remplacer $login par $logUser dans le test : if($login eq '')
- déplacer la fin de ce bloc avant if($logUser ne ''), qui peut être
remplacé par else,
- ajouter print end_html en fin de script.
soit en résumé :
if($logUser eq '') {
print .......
.........
} else { #à la place de if($logUser ne '')
if(-e $file){
.........
.........
}else{
print "user $logUser not found";
}
}
if($login eq 'IDok) {
print "ma nouvelle page";
}
print end_html;
Olivier.
Oui, c'est exactement ca ! j'ai fait les modifs, merci !
mais le fait c'est que la nouvelle page ne s'ouvre pas dans une nouvelle page, le texte 'ma nouvelle page' s'ouvre dans le tableau de login.
comment faire ?????
merci Laurent
Qu'est-ce que tu entends par "ouvrir dans le tableau de login" ?
Sinon, de ce que je comprends, apporte les modifs suivantes :
- remplacer $login par $logUser dans le test : if($login eq '') - déplacer la fin de ce bloc avant if($logUser ne ''), qui peut être remplacé par else, - ajouter print end_html en fin de script.
soit en résumé : if($logUser eq '') { print ....... ......... } else { #à la place de if($logUser ne '') if(-e $file){ ......... ......... }else{ print "user $logUser not found"; } } if($login eq 'IDok) { print "ma nouvelle page"; } print end_html;
Olivier.
Oui, c'est exactement ca ! j'ai fait les modifs, merci !