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

JavaScript Discussion :

Envoyer une variable Php après fermeture


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2006
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 27
    Points : 21
    Points
    21
    Par défaut Envoyer une variable Php après fermeture
    Bonjour / bonsoir,

    Je viens de lire pas mal de chose sur la communication Javascript>Php et Php>Javascript mais je ne suis pas certain d'être toujours dans le bon cas de figure...

    En gros je souhaiterais faire une requete lorsque l'utilisateur ferme une fenêtre.
    Tant que je ne passe pas de param en GET, cela fonctionne super avec un location.href et un événement onUnload.

    Mais ! je n'arrive décidemment pas à passer mes variables en GET. Avant de me lancer dans de l'Ajax j'aurais voulu confirmation que cela est impossible

    Pour l'instant je tente donc :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    <script type="text/javascript">
    <!--
    function diff() { 
            
            document.location.href='<? traitement.php?score=15000 ?>';
     
                            };
                    
    //-->
    </script>
     
    </head>
     
    <body onUnload='diff();'>

    Merci pour votre aide.

  2. #2
    Membre éclairé
    Avatar de efficks
    Inscrit en
    Septembre 2005
    Messages
    712
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 712
    Points : 776
    Points
    776
    Par défaut
    Pourquoi mettre le points d'interrogations???
    Juste ceci ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <script type="text/javascript">
    <!--
    function diff() { 
     
    	document.location.href='traitement.php?score=15000';
     
    			};
     
    //-->
    </script>
     
    </head>
     
    <body onUnload='diff();'>

  3. #3
    Membre à l'essai
    Inscrit en
    Octobre 2006
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 27
    Points : 21
    Points
    21
    Par défaut
    Bonjour,
    Merci pour ta réponse mais j'avais déjà essayé comme cela et ça ne fonctionne pas.

  4. #4
    Membre expérimenté
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Points : 1 729
    Points
    1 729
    Par défaut
    Je pense que les navigateurs actuels limitent beaucoup le code qu'on peut mettre dans un evenement onunload, je pense qu'ils interdiraient le fait qu'on force la redirection (puisque justement l'utilisateur voulait quitter la page ou aller sur une autre page, de son choix)
    Peut etre qu'ouvrir une popup (dont l'url est ton script php) peut passer. A condition que le script php envoie le code js de fermeture de la popup une fois le traitement fait. Je crois avoir vu ça sur quelques sites

  5. #5
    Membre à l'essai
    Inscrit en
    Octobre 2006
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 27
    Points : 21
    Points
    21
    Par défaut
    Bonjour Gruik,

    J'ai également pensé à l'ouverture d'une pop-up mais je trouve que ce n'est pas une solution viable d'une part parce que de nombreux utilisateurs bloquent desormais l'apparition de ce type de fenêtre et d'autre part parce que c'est très intrusif.

    Je vais plutôt tenter de trouver des infos plus précises sur GET, c'est peut être une limitation lié à cela. Dans ce cas il me resterais la méthode des cookies ou de l'Ajax (mais c'est un peu flou pour moi encore ça )

    Le sujet reste ouvert, si quelqu'un à une proposition

  6. #6
    Membre expérimenté
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Points : 1 729
    Points
    1 729
    Par défaut
    Salut,

    Oué peut etre essayer d'envoyer la requete simplement avec un objet xmlHttp, sans s'occupper du resultat (pas de gestionnaire de changement d'état). J'ai personnellement juste peur que le navigateur detruise l'objet à la fermeture de la fenetre, interrompant la requete ou ne l'envoyant pas du tout.

Discussions similaires

  1. [MySQL] Envoyer une variable PHP dans un script JS
    Par lorentdups dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 31/12/2013, 19h20
  2. envoyer une variable php dans un fichier SHELL
    Par diabli73 dans le forum Langage
    Réponses: 5
    Dernier message: 11/12/2008, 14h55
  3. Envoyer une variable PHP d'une page à une autre
    Par nolev3 dans le forum Langage
    Réponses: 6
    Dernier message: 22/10/2008, 11h29
  4. [Applet] Comment envoyer une variable php au java?
    Par abstractor77 dans le forum Interfaces Graphiques en Java
    Réponses: 1
    Dernier message: 09/03/2006, 10h18

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