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 :

Propagation des parametres entre page CGI


Sujet :

Web Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    T24 Admin
    Inscrit en
    Avril 2007
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : T24 Admin
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2007
    Messages : 80
    Par défaut Propagation des parametres entre page CGI
    Bonjour,

    Je suis un debutant dans le developpement web avec Perl en occurence les CGI.
    Pourriez vous m'aidez en m'expliquant comment je pourrai faire passer des parametres (maintenir un contexte):

    - Session : les donneés de la session de l'utilisateur connecter actuellement
    - variable globaux: la listes des arametres specifier ds un fichier de conf que je recupere des le login du user (ex u1) et que j'aimerai bien garder pour que ça se propage ds tout les pages que visite le user:"u1".

    J'ai pensé a mettre en oeuvre le mecanisme "Exporter" mais sans resultat.

    voila un exemple juste pour exposer mon pb
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
     
     
    package essai;
    use FindBin;
    use lib "$FindBin::Bin/../lib";
    use CGI qw/:standard/;
    use CGI::Session;
    use Infoblox;
    require "common.pm";
    #########################################################################
    #######    Récupère les paramètres de configuration du portail	   ######
    #########################################################################
    GetPortalParameters();
     
    #########################################################################
    #######    	Récupère le POST du login et du password	   ######
    #########################################################################
    my $UserLogin = param('login');
    my $UserPassword = param('pwd');
     
    if ($UserLogin && $UserPassword ) {   
       eval {
          #########################################################################
          #######    	 Authentifie le user sur l'Infoblox	 	 ######
          #########################################################################	 
          my $SESSION;
          $SESSION = Infoblox::Session->new ( 'master' => $Parametres{Master} , 'username' => $UserLogin, 'password' => $UserPassword );
          if ($SESSION->status_detail() ne 'Operation succeeded') {
    	 $url = "../index.html";
    	 print "Location: $url\n\n";
    	 exit;
          } 
             #########################################################################
             #######    	 	Fabrique la session			    ######
             #########################################################################	 	 
    	 $CGISession = new CGI::Session("driver:File", undef, {Directory => 'session'} );
    	 my $sess_id = $CGISession->id();
    	 $CGISession->expire('+20m');
    	 $CGISession->param('User', $UserLogin);
    	 $CGISession->param('Password', $UserPassword);
    	 $CGISession->param('Logged', 'ok');
    	 $CGISession->param('SuperUser', $power);
     
    	 $CGISession->param('Host', $Parametres{Host});
    	 $CGISession->param('Cname', $Parametres{Cname});
    	 $CGISession->param('A', $Parametres{A});
    	 $CGISession->param('Txt', $Parametres{Txt});
    	 $CGISession->param('Mx', $Parametres{Mx});
    	 $CGISession->param('View', $Parametres{ViewForListing});
             #########################################################################
             ####### Récupère les droits granulaires si la fonction est enable  ######
             #########################################################################	 	 
     
    	 $CGISession->flush();
     
    	 print 'Set-Cookie: CGISESSIONID=' . $sess_id ."\n";
    	 if (int(rand(5)) == 2) {
    	    $filez = "session/*";
    	    while ($file = glob($filez)) {
    	       @stat=stat $file; 
    	       $hour = (time()-$stat[9]) / (60*60);
    	       unlink $file if ($hour > 4);
    	    }
    	 }
    	 if ($UserLogin eq $Parametres{AdminAccount}) {
    		print "Content-type: text/html\n\n";
    		print "<HTML><BODY><HEAD>\n";
    		print "<META HTTP-EQUIV=\"refresh\" CONTENT=\"0; URL=parameters.cgi\">\n"; 
    		print "<\/HEAD><\/BODY><\/HTML>\n";
    	      exit;
    	 } else {
    		print "Content-type: text/html\n\n";
    		print "<HTML><BODY><HEAD>\n";
    		print "<META HTTP-EQUIV=\"refresh\" CONTENT=\"0; URL=list.cgi\">\n"; 
    		print "<\/HEAD><\/BODY><\/HTML>\n";
    	      exit;
    	 }      
       };
    au niveau de la fonction "GetPortalParameters();" je recupere a partir d'un fichier de conf les parametre du portail et j'aimerai bien les retrouver quand je me rederige vers "list.cgi" ou autre page, ansi que les donner de la session j'aimerai bien les garder tout au long de la presence du user.


    Merci de me guider pour avoir une solution, un boue de code qui explique le mecanisme aussi serai tres apreciable merci infiniment

    Ouali.A

  2. #2
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 66
    Par défaut
    Bonjour,

    Je ne sais pas si c'est la meilleure solution mais pour ma part, quand je veux utiliser des variables d'un programme à un autre je fais :
    - des requires des fichiers (si j'ai besoin du fichier 1 dans le fichier 2, je fais un require fichier1 dans le fichier 2).
    - j'utilise des variables globales (our $variable à la place my $variable).

    Celà fonctionne mais est-ce optimal? Je ne sais pas.

    Bon courage,
    Lucie

Discussions similaires

  1. Passage de parametre entre pages xsl
    Par abel.ludba dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 26/08/2008, 19h12
  2. passage d un parametre entre page JSF
    Par oracle.walid dans le forum JSF
    Réponses: 1
    Dernier message: 22/07/2008, 12h45
  3. Passage des parametre entre deux forms
    Par randriamanana dans le forum C#
    Réponses: 6
    Dernier message: 19/11/2007, 17h01
  4. transfert de parametres entre pages
    Par philou8 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 10/01/2006, 18h22

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