Bonjour et désolé
Je suis désolé, vraiment de poster plusieurs fois sur le même sujet mais ce module cgi::session est dur utiliser pour moi.
Voilà mon problème:
Lorsque l'utilisateur se connecte, une session est crée (voir code ci-dessous):
Je n'obtiens pas l'apparition de mon lien qui permet d'accèder à la prochaine page (j'ai mis ça juste pour debugger et vérifier les différentes étapes).
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 if ($Res eq $user && $Res !="") { #Création de la session. $session=new CGI::Session("driver:File",undef,{Directory=>'../sessions'}); $session->expire(3600); $id=$session->id(); $session->param("moi", "guillaume"); print "<BR>id: $id<BR>"; print "<BR><a href='./framejob.pl?CGISESSID=$id'>Accèder</a><BR>"; } else { print "<SCRIPT>document.getElementById('statut').innerHTML='<font color=ff0000>EAN non valid</font>'</SCRIPT>"; }
J'obtiens bien un sid.
Mais j'ai une erreur qui m'empêche de continuer:
Lorsque j'enlève dans mon script la ligne:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 [Fri Jun 24 10:27:13 2005] [error] [client 127.0.0.1] Can't locate auto/CGI/Session/File/expire.al in @INC (@INC contains: c:/Perl/lib c:/Perl/site/lib .) at c:\\PROGRA~1\\EASYPH~1\\test\\cgi-bin\\login.pl line 66\n
alors j'obtiens l'apparition de mon lien et lorsque je clique dessus j'arrive sur une page qui m'affiche bien le même sid mais avec l'erreur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $session->expire(3600); #(je supprime cette ligne)
Le code de la page chargée:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 [Fri Jun 24 10:44:16 2005] [error] [client 127.0.0.1] Can't locate auto/CGI/Session/File/expire.al in @INC (@INC contains: c:/Perl/lib c:/Perl/site/lib .) at c:/Perl/site/lib/CGI/session.pm line 258\n
Sur cette page j'affiche bien le même sid mais c'est tout, une page blanche après.
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 #!c:\perl\bin\perl.exe use CGI::session; use CGI; $cgi=new CGI; print "Content-type:text/html\n\n"; $sid= $cgi->param("CGISESSID")||undef; print "<BR>SID: $sid<BR>"; $session=new CGI::Session("driver:File",$sid,{Directory=>'../sessions'}); $id=$session->id(); print "id: $id<BR>"; $nom=$session->param("moi"); print "Nom: $nom\n"; print "<HTML>"; print "<FRAMESET ROWS='25,75' FRAMEBORDER=No BORDER=0>"; print "<FRAME MarginWidth=20 Marginheight=30 frameborder='no' scrolling='no' SRC='./cgi-bin/JobMenu.pl' NAME='JobMenu'>"; print "<FRAME SRC='./cgi-bin/job.pl' NAME='Job' Marginwidth=20 Marginheight=0 frameborder='no' xscrolling='no'>"; print "</FRAMESET>"; print "</HTML>\n";
Voilà mon problème
J'ai désinstallé et réinstallé le module cgi::session (version 3.95)
l'erreur me dit qu'il manque le fichier expire.al (qui est présent pourtant dans le répertoire C:\Perl\site\lib\auto\CGI\Session\
Lorsque je copie se fichier dans C:\Perl\site\lib\auto\CGI\Session\File, mon navigateur "tourne dan sle vide" et perl prend 100% des ressources.
J'espère avoir bien expliqué mon problème.
Encore une fois, je suis désolé de reposter sur les sessions.
Bonne journée !
Partager