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 :

redirection aprés la créaton d'un cookie


Sujet :

Web Perl

  1. #1
    Membre habitué Avatar de vbcasimir
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    455
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2003
    Messages : 455
    Points : 168
    Points
    168
    Par défaut redirection aprés la créaton d'un cookie
    bonjour

    je rencontre un problème lorsque je crée un cookie et que je souhaite utiliser la redirection
    voici un extrait de mon script
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ...
    COOKIESESSION($ident,"+1m");
     
    print $cgi->redirect("http://localhost/cgi-bin/pages/perso.pl");
    ma fonction contient

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    my ($valCookee , $temp) = @_;
     
    my $cook = $cgi->cookie(-name => 'valsession',
    					-value => $valCookee,
    					-path => '/',
    					-expires => $temp);
     
    print $cgi->header(-cookie =>$cook);

    evidemment lorsque je mets en commentaire le print $cgi->header(-cookie =>$cook); la redirection se passe bien

    dans ce cas comment peut-on faire pour éviter ce problème ??

    Merci [/quote]

  2. #2
    Membre habitué Avatar de vbcasimir
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    455
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2003
    Messages : 455
    Points : 168
    Points
    168
    Par défaut
    bon j'ai trouvé une info sur google

    voici comment j'ai réglé le problème

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    my ($valCookee , $temp) = @_;
     
    my $cook = $cgi->cookie(-name => 'valsession',
    					-value => $valCookee,
    					-path => '/',
    					-expires => $temp);
     
    #print $cgi->header(-cookie =>$cook);
    print "Set-Cookie: $cook";
    et ça fonctionne ... quand à l'explication je ne la connais pas

    si quelqu'un le sait je suis à l'écoute

    Merci[/code]

  3. #3
    tfe
    tfe est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 85
    Points : 95
    Points
    95
    Par défaut
    la redirection se fait par le header, je suppose donc que $cgi->redirect envoie un header. Vu que tu ne peux en envoyer qu un c est normal donc que ca te fasse une erreur.
    L astuce donc c est d afficher ce que le header devrait donner au client pour creer le cookie, puis de prendre en compte la redirection...

    tu devrais faire un print $cgi->redirect(...); et print $cgi->header(...); pour comprendre.

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

    Informations forums :
    Inscription : Mars 2004
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    Bon, même si le problème est résolu, je me permet d'ajouter ma solution car j'ai galéré pas mal de temps la dessus aussi alors si ça peut éviter à quelqu'un d'autres de s'arracher les cheveux...

    Alors comme l'a dis tfe, la redirection se fait aussi par le header donc il suffit simplement de coupler les 2 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    my $cookie = $html->cookie( -name=>'sessionID',
                                    -value=>$val,
                                    -path=>'/',
                                    -secure=>0);
     
    print $html->header(-cookie=>$cookie, -location => "ma_page.pl");

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

Discussions similaires

  1. probleme de redirection apres un test
    Par kagura dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 07/04/2006, 20h00
  2. Redirection après formulaire...
    Par kobe dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 28/03/2006, 10h53
  3. [MySQL] redirection après requête
    Par djinko dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 08/03/2006, 12h13
  4. Probleme de redirection apres fermeture de session
    Par soufienne dans le forum ASP
    Réponses: 3
    Dernier message: 08/04/2004, 11h52
  5. [Strategie]Redirection après un formulaire
    Par kyser91 dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 19/03/2004, 16h15

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