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

jQuery Discussion :

Un script qui ne s'appelle pas tout le temps


Sujet :

jQuery

  1. #1
    Membre habitué Avatar de omar24
    Homme Profil pro
    Inscrit en
    Septembre 2010
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 159
    Points : 172
    Points
    172
    Par défaut Un script qui ne s'appelle pas tout le temps
    Bonjour tout le monde;
    Je suis en train de développer une page web qui affiche les statistiques des pages visitées d'un site web: elle enregistre et affiche le nom du visiteur l'heure de visite et l'heure de sortie pour chaque page.
    Pour l'algorithme que j'ai adopté: A l'entrée dans une page l’heure de début est marquée et enregistrée dans la session, à la sortie je fais appel à un script PHP via AJAX en utilisant jQuery. Dans ce script qui est associé à l’évènement unbeforeunload je rappelle la date début qui se trouve dans la session et je marque l'heure actuelle comme heure de sortie et j'enregistre le tout dans la base de données.
    Le problème que j'ai c'est que cette méthode fonctionne à 100% mais parfois le script ne m'enregistre pas des pages.
    je voudrais savoir quelles sont les possibilités qui peuvent empêcher le script de faire son travail?

    voila mon script:

    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
    <?php
    include('kitview/function.php');
    session_start();
    $jour = date('d');
    $mois = date('m');
    $annee = date('Y');
    $heure = date('H');
    $minute = date('i');
    $seconde = date('s');
    $fin = mktime($heure,$minute,$seconde,$mois,$jour,$annee);      
    $dbh = ibase_connect($_SESSION['db_config'],$_SESSION["dbuser"],$_SESSION["dbpass"]) or die("<br>" . ibase_errmsg());   
    $sql1 = 'insert into "STATISTIQUES" ("QUI","QUAND","FIN","RUBRIQUES","NOM_PRENOM","DUREE") values(\''.$_SESSION['qui'].'\',\''.php2FirebirdTime($_SESSION['debut']).'\',\''.php2FirebirdTime($fin).'\',\''.$_SESSION['rubriques'].'\',\''.$_SESSION['nom_prenom'].'\',\''.duree(php2FirebirdTime($_SESSION['debut']),php2FirebirdTime($fin)).'\')';
     
    echo $sql1;
    $rs = ibase_query($dbh, $sql1);
    if($rs) echo 1;
    else echo 0;
    $sql ="select max(id_total) as grand from stat_total where nom_prenom = '".$_SESSION['nom_prenom']."'";
    $handl = ibase_query($dbh,$sql);
    while($row = ibase_fetch_object($handl))  {$big = $row->GRAND;}
    $sql2 = 'update stat_total set fin_total = \''.php2FirebirdTime($fin).'\' , duree_total = \''.duree(php2FirebirdTime($_SESSION['debut_total']),php2FirebirdTime($fin)).'\' where id_total = '.$big;
    $rs2 = ibase_query($dbh, $sql2);
    exit(); 
    ?>
    je vous montre aussi le code qui s’exécute dans chaque page:

    code PHP:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    //code statistiques
    $page = 'Comparateur';
    	$_SESSION['rubriques'] = $page;
    	$jour = date('d');
    	$mois = date('m');
    	$annee = date('Y');
    	$heure = date('H');
    	$minute = date('i');
    	$seconde = date('s');
    	$_SESSION['debut'] = mktime($heure,$minute,$seconde,$mois,$jour,$annee);
    //fin code statistiques
    code JavaScript:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <script language="javascript">
    window.onbeforeunload = closeIt;
     function closeIt() {
    		$.ajax({
    					url : "out.php",
    					success : function(data) {
    						}
    				});
     }
    </script>

  2. #2
    Membre habitué Avatar de omar24
    Homme Profil pro
    Inscrit en
    Septembre 2010
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 159
    Points : 172
    Points
    172
    Par défaut
    J'ai remplacé mon code javascript par le suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <script type="text/javascript">
    // window.onbeforeunload = closeIt;
     function closeIt() {
    		$.ajax({
    					url : "out.php",
    					success : function(data) {
    						}
    				});
     }
     
     $(window).bind('unload',closeIt());
    </script>
    ce code est là pour s’exécuter lorsqu'on quitte une page alors qu'il s’exécute au chargement des pages comme load.

    Indiquez moi pourquoi SVP?

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    réponse sur l'autre thread ...

  4. #4
    Membre habitué Avatar de omar24
    Homme Profil pro
    Inscrit en
    Septembre 2010
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 159
    Points : 172
    Points
    172
    Par défaut
    Salut;

    En fait le problème m'es revenu même en changeant ma requete avec post au lieu de AJAX, la requête ne s’exécute pas de temps en temps surtout quand je reste dans la page beaucoup de temps????

  5. #5
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Points : 22 933
    Points
    22 933
    Billets dans le blog
    125
    Par défaut
    Bonsoir

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     $(window).unload(function(event){
    	alert(event.target)
     });
    Voir : http://api.jquery.com/unload/

    L'événement unload ne se produit pas de la même manière sur tous les navigateurs, ni même sur les différentes versions d'un même navigateur.

  6. #6
    Membre habitué Avatar de omar24
    Homme Profil pro
    Inscrit en
    Septembre 2010
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 159
    Points : 172
    Points
    172
    Par défaut
    Donc vous pensez que c'est inutil de travailler avec unload???

Discussions similaires

  1. Réponses: 10
    Dernier message: 31/03/2010, 15h59
  2. [AJAX] Open() qui ne se fait pas tout le temps sous IE ?
    Par Loïs Estienne dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 07/05/2008, 11h45
  3. [AJAX] script ajax qui fonctionne pas tout le temps
    Par krfa1 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 30/05/2007, 11h12
  4. Script qui ne s'exécute pas
    Par arizki dans le forum Administration système
    Réponses: 6
    Dernier message: 19/06/2006, 12h19
  5. [AJAX] Script qui plante IE mais pas Firefox
    Par Booyakha dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 31/05/2006, 18h40

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