Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > jQuery
jQuery Forum d'entraide sur le framework jQuery. Avant de poster : Tutoriels jQuery, FAQ jQuery, Tous les tutoriels JavaScript, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/04/2011, 10h31   #1
Membre habitué
 
Avatar de omar24
 
Homme Omar
Inscription : septembre 2010
Messages : 146
Détails du profil
Informations personnelles :
Nom : Homme Omar
Localisation : Maroc

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

Informations forums :
Inscription : septembre 2010
Messages : 146
Points : 125
Points : 125
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 :
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 :
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 :
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>
omar24 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2011, 11h51   #2
Membre habitué
 
Avatar de omar24
 
Homme Omar
Inscription : septembre 2010
Messages : 146
Détails du profil
Informations personnelles :
Nom : Homme Omar
Localisation : Maroc

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

Informations forums :
Inscription : septembre 2010
Messages : 146
Points : 125
Points : 125
J'ai remplacé mon code javascript par le suivant:

Code :
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?
omar24 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2011, 15h17   #3
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 007
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

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

Informations forums :
Inscription : mars 2002
Messages : 30 007
Points : 45 091
Points : 45 091
réponse sur l'autre thread ...
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2011, 10h34   #4
Membre habitué
 
Avatar de omar24
 
Homme Omar
Inscription : septembre 2010
Messages : 146
Détails du profil
Informations personnelles :
Nom : Homme Omar
Localisation : Maroc

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

Informations forums :
Inscription : septembre 2010
Messages : 146
Points : 125
Points : 125
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????
omar24 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2011, 22h52   #5
Rédacteur
 
Avatar de danielhagnoul
 
Homme Daniel Hagnoul
Étudiant perpétuel
Inscription : février 2009
Messages : 3 221
Détails du profil
Informations personnelles :
Nom : Homme Daniel Hagnoul
Âge : 61
Localisation : Belgique

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

Informations forums :
Inscription : février 2009
Messages : 3 221
Points : 6 767
Points : 6 767
Bonsoir

Exemple :
Code :
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.
__________________

FAQ jQuery

Mon cahier d’exercices sur jQuery & Co

Si un message vous a aidé ou vous semble pertinent, votez pour lui !
danielhagnoul est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2011, 10h51   #6
Membre habitué
 
Avatar de omar24
 
Homme Omar
Inscription : septembre 2010
Messages : 146
Détails du profil
Informations personnelles :
Nom : Homme Omar
Localisation : Maroc

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

Informations forums :
Inscription : septembre 2010
Messages : 146
Points : 125
Points : 125
Donc vous pensez que c'est inutil de travailler avec unload???
omar24 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h32.


 
 
 
 
Partenaires

Hébergement Web