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 :

Comment jouer avec les sessions entre php et Perl ? [Tutoriel]


Sujet :

Web Perl

  1. #1
    Mr6
    Mr6 est déconnecté
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Septembre 2004
    Messages
    607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2004
    Messages : 607
    Points : 794
    Points
    794
    Par défaut Comment jouer avec les sessions entre php et Perl ?
    C'est un très vieux tuto que j'ai retrouvé par hasard dans ma mailbox dvp mais j'ai l'impression qu'il n'a jamais été mis en ligne. J'espère néanmoins qu'il est toujours d'actualité (ou pas, parce qu'en fait ca veut dire qu'on n'aurait pas progressé en 5 ans )

    Il s'agit tout simplement de pouvoir faire passer de l'information dans un le cadre d'un site web hétérogène php/perl, à l'aide des sessions.

    Bien sûr, il faut d'un côté un script php qui crée une session :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    session_save_path('C:\TEMP');  # demande au navigateur de sauver le cookie en se basant sur le répertoire C:\TEMP
    session_name('Session_PHP');   # on nomme la session, mais si on le zappe par défaut la session se nomme PHPSESSID, cf le fichier de conf de php ;)
    session_start();               # on crée la session, attention, il ne faut rien mettre d'autre avant cette ligne que des infos paramétrant la session, sous risque de plantage du script ;)
    $_SESSION["nature"] = "ciel";  # les données que nous allons récupérer
    $_SESSION["couleur"] = "bleu";
     
     header("Location: http://www.monsiteamoi.com/test.cgi"); # pour l'exemple, on fait une redirection vers un script perl, qui va devoir se débrouiller pour retrouver les petits !
    ?>
    Maintenant, le script Perl va devoir retrouver la session php créée s'il veut récupérer les infos qu'elle contient.
    Il faut commencer par partir du principe qu'une session est représentée par un cookie, et un cookie, en perl, on le récupère comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    use strict;
    use CGI;
     
    my $cgi = new CGI;
    my $cookie = $cgi->cookie(-name => "Session_PHP");
    Ici la variable $cookie a récupéré l'id de session créé par le script php. On utilise ensuite le module PHP::Session pour en lire le contenu plus simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    use PHP::Session;
     
    my $session = PHP::Session->new($cookie,{save_path => 'C:\TEMP'});   # on récupère la session, en lui disant où elle est cachée
    my $nature = $session->get('nature');                                # et on récupère le contenu des données
    my $couleur = $session->get('couleur');
    print "Données :<br>";
    print "nature : $nature<br>";
    print "couleur : $couleur<br>";
    donc au final :

    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 -w
     
    use strict;
    use CGI;
    use PHP::Session;
     
    my $cgi = new CGI;
     
    print $cgi->header;
    print $cgi->start_html('Récupération de données d\'une session PHP');
    my $cookie = $cgi->cookie(-name => "Session_PHP");
     
    my $session = PHP::Session->new($cookie,{save_path => 'C:\TEMP'});
    my $nature = $session->get('nature');
    my $couleur = $session->get('couleur');
    print "Données :<br>";
    print "nature : $nature<br>";
    print "couleur : $couleur<br>";
     
    print $cgi->end_html;
    Bon, je pense qu'il n'y a pas grand chose à ajouter, avec ca vous devez être capable de jouer avec les sessions de php vers Perl

  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
    Ça tombe bien car j'avais une idée d'article dont l'intitulé est le suivant : Perl et les sessions : session ( avec PHP), cookies.... Si ça te dit, tu pourrais nous faire un petit article avec cet intitulé et y mettre tes codes cité ci-dessus, non ?

  3. #3
    Mr6
    Mr6 est déconnecté
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Septembre 2004
    Messages
    607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2004
    Messages : 607
    Points : 794
    Points
    794
    Par défaut
    J'ai d'autres exemples qui trainent chez moi sur l'utilisation qu'on peut faire des cookies. Je regarde tout ca pour essayer de faire qqch qui tient la route

  4. #4
    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

  5. #5
    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
    Alors, des news ?

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    Salut à tous,

    J'ai suivi ce tuto à la lettre, mais je reste coincé. On dirait que le module PHP::Session ne charge pas...
    J'ai tout essayé :
    - placer le fichier .pm dans le même répertoire
    - des "use"
    - des "require"

    j'ai toujours l'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Message d'erreur:
    malformed header from script. Bad header=BEGIN failed--compilation abor: cgiwrap
    Comment installer et appeller correctement le package Session.pm ?

    Merci d'avance

    Benoit

  7. #7
    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
    Je relance le sujet. @Mr6 d'autres exemple ?

    Je vais essayer de faire un tutoriel en y mettant tes codes.

  8. #8
    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
    Article disponible ici.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Jouer avec les cookies entre C# et jQuery
    Par paladice dans le forum ASP.NET
    Réponses: 2
    Dernier message: 24/05/2013, 18h12
  2. problème PHP avec les sessions
    Par soufian2290 dans le forum Langage
    Réponses: 2
    Dernier message: 24/01/2007, 18h00
  3. Probleme avec les sessions PHP
    Par johnson95 dans le forum Langage
    Réponses: 2
    Dernier message: 04/12/2006, 13h32
  4. [Cookies] Problème avec les sessions PHP !!!
    Par boukay dans le forum Langage
    Réponses: 4
    Dernier message: 14/02/2006, 17h32
  5. php:comment utiliser les sessions en php
    Par feten dans le forum Langage
    Réponses: 3
    Dernier message: 19/11/2005, 16h17

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