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 :

[AJAX] enregistrer l'heure lors de la fermeture via la croix du navigateur


Sujet :

JavaScript

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    332
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 332
    Points : 104
    Points
    104
    Par défaut [AJAX] enregistrer l'heure lors de la fermeture via la croix du navigateur
    Bonjour,
    Je viens du forum jvscript ou on m'a dit de venir voir ici pour ma question.
    Je ne connais strictement rien en ajax mais voici ma question:

    j'ai un site en php avec un lien quitter. Lorsque qq clique sur ce lien, cela enregistre l'heure de déconnexion grace a du code que j'ai mis.
    Mais evidement lorsqu'il quitte via la croix du navigateur, l'heure n'ai pas enregistré.
    Je voulais savoir si il etait possible de coder qq chose permettant d'enregistrer l'heure lors de la fermeture via la croix du navigateur.
    En jvscript, on m'a parlé de onbeforeunload mais je ne peux m'en servir pour executer un fonction php (script d'enregistrement sql)
    Y a-t-il un moyen en ajax?

    merci d'avance pour votre aide
    ps: j'ai regardé les tutoraux mais j'ai rien pigé ;(

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour,

    onunload permet de lancer un script JS en quittant la page (y/c via la croix pour IE et FF)
    JS peut faire appel à AJAX.
    AJAX permet l'accès à ton .php ("executer un fonction php (script d'enregistrement sql)"

    A+
    Pour tout savoir sur l'utilisation du forum

    En postant votre message, n'oubliez pas les Règles du Club.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    332
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 332
    Points : 104
    Points
    104
    Par défaut
    merci de ta réponse
    pour la 1°étape
    lancer un script JS
    c bon
    mais pour les 2 autres
    JS peut faire appel à AJAX.
    AJAX permet l'accès à ton .php
    alors la!!!
    je sais pas comment faire ni ou mettre le code

    pour info, tout mon code d'enregistrement de l'heure de déconnexion est dans la page index.php

    tu peux m'en dire plus svp?

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par zorba49
    tu peux m'en dire plus svp?
    Y a plus efficace ICI

    A+
    Pour tout savoir sur l'utilisation du forum

    En postant votre message, n'oubliez pas les Règles du Club.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    332
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 332
    Points : 104
    Points
    104
    Par défaut
    oui oui oui
    ca je te remercie, je l'avais lu...
    ce que je n'arrive pas c'est a le retranscrire pour mon prob d'appel de fonction php lors du clique sur la croix
    c assez specifiq comme prob et le tutora est assez generaliste et pas facile qd on y connais rien de retranscrire tout ca pour son propre besoin...

  6. #6
    Membre actif Avatar de dragonfly
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    464
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 464
    Points : 240
    Points
    240
    Par défaut
    Salut,

    En fait lorsque tu clique sur la croix, la fonction javascript que tu a mis dans le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <body unload="javascript:fermer()">...
    Se déclenche

    Ensuite dans cette fonction "fermer()", tu fais une httpRequest qui pointe sur un fichier.php dans lequel tu donne les instructions concernant la sauvegarde de l'heure. (Evidemment pour cela tu doit créer une div dans laquelle le code s'executera)
    Ex :
    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
     
    function fermer()
    {
    	var texte= '';
    	try{	
    		document.getElementById("ID DE LA DIV").innerHTML = "Page en cours de chagement"; 
    	}catch(e){
    		alert(e.description());
    	}
     
     
    	var xmlhttp=false;
    	try{
        	xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    	}catch(e){
        	try{
            	xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        	}catch(E){
            	xmlhttp = false;
        	}
    	}
    	if(!xmlhttp && typeof XMLHttpRequest!='undefined'){
        	try{
            	xmlhttp = new XMLHttpRequest();
        	} catch (e){
            	xmlhttp = false;
        	}
    	}
    	if(!xmlhttp && window.createRequest){
        	try{
            	xmlhttp = window.createRequest();
        	} catch(E){
            	xmlhttp = false;
        	}
    	}
    	xmlhttp.open('POST','FICHIER.PHP',true);
    	xmlhttp.onreadystatechange=function() {
        	if (xmlhttp.readyState==4) {
            	if(document.getElementById){
              	document.getElementById("ID DE LA DIV").innerHTML = xmlhttp.responseText;
            	}
        	}
    	}
    	xmlhttp.setRequestHeader('Content_type','application/x-www-form-urlencoded');
    	var data = 'texte='+escape(texte);
    	xmlhttp.send(data);
    }
    Voila, j'espére avoir été clair ^^

Discussions similaires

  1. [XL-2007] Ne pas enregistrer automatiquement lors de la fermeture d'un fichier
    Par FrancisZheng dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 10/12/2015, 15h15
  2. [AC-2003] La même valeur pour tous les enregistrements lors de la fermeture d'un formulaire
    Par toutoune95800 dans le forum VBA Access
    Réponses: 3
    Dernier message: 06/04/2012, 14h21
  3. Message automatique enregistrer lors de la fermeture
    Par biddal dans le forum Macros et VBA Excel
    Réponses: 23
    Dernier message: 09/08/2011, 17h11
  4. [AJAX] Requête Ajax lors de la fermeture d'une pop up
    Par Persanne dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 01/11/2008, 17h01
  5. Enregistrer l'heure de déconnexion via la croix du navigateur
    Par zorba49 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 25/01/2007, 09h01

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