Volume horaire

Signaler
Messages postés
163
Date d'inscription
jeudi 15 juillet 2004
Statut
Membre
Dernière intervention
27 janvier 2016
-
Messages postés
445
Date d'inscription
lundi 17 février 2003
Statut
Membre
Dernière intervention
22 mars 2007
-
salut à tous ,

j'ai un site web qui offre des services aux abonnés, ce que je veux c'est que pour chaque service j'affecte un volume horaire, et à chaque fois que l'abonné se connecte j'ai un compteur qui incrémente pour calculer la durée de sa connexion, et à la déconnexion je décremente cette durée du volume horaire affecté à ce service.

dès que le volume horaire atteint "zéro", l'abonné ne peux plus accéder au site.

Merci d'avance.

@ -:)

Zebra

15 réponses

Messages postés
461
Date d'inscription
mardi 27 avril 2004
Statut
Membre
Dernière intervention
16 février 2012

salut,

et ou ton probleme, cela semble relativement simple a faire non ?


<HR>
PS: Besoin d aide pour developper, besoin d un collaborateur pour faire votre site, consulter le post:j'aide a developper ou contacter moi par mail.

Sans maitrise la puissance n'est rien. et je maitrise
Messages postés
163
Date d'inscription
jeudi 15 juillet 2004
Statut
Membre
Dernière intervention
27 janvier 2016

je cherche la fonction qui me permet de calculer le temps ecouler de la connexion jusqu'à la deconnexion, c tout ce qu'il me manque.;

@ -:)

Zebra
Messages postés
461
Date d'inscription
mardi 27 avril 2004
Statut
Membre
Dernière intervention
16 février 2012

a ok
ben en faite quand ton utilisateur se connecte tu initiale une varaible avec l heure et la date de connexion, grace a la fonction microtime par exemple ou une fonction date avec l heure.

voila un exemple:

function microtimestamp() {
list($msec, $sec) = explode(' ', microtime());
return ((float) $sec + (float) $msec) * 1000000;
}

//debut de connexion:


$start = microtimestamp();
//utilsation de la fonction

//fin de connexion
$end = microtimestamp();

//temps de connexion en seconde
echo round(($end-$start)*100000);


<HR>
PS: Besoin d aide pour developper, besoin d un collaborateur pour faire votre site, consulter le post:j'aide a developper ou contacter moi par mail.

Sans maitrise la puissance n'est rien. et je maitrise
Messages postés
461
Date d'inscription
mardi 27 avril 2004
Statut
Membre
Dernière intervention
16 février 2012

Alors est ce que ca marche ??

<HR>
PS: Besoin d aide pour developper, besoin d un collaborateur pour faire votre site, consulter le post:j'aide a developper ou contacter moi par mail.

Sans maitrise la puissance n'est rien. et je maitrise
Messages postés
163
Date d'inscription
jeudi 15 juillet 2004
Statut
Membre
Dernière intervention
27 janvier 2016

Je suppose que la fonction microtimestamp(), calcule le temps d'execusion d'un script
, est_ce que je peux mettre la variable $start dans la page de login du site et $end dans toutes les autres pages, et dans le cas où l'abonné ne quitte pas la session normalement, càd la machine se plante ou il ferme le navigateur sans se deconnecter ?? comment je recupère le temps de connexion écouler.

Merci pour votre réponse,

@ -:)

Zebra
Messages postés
461
Date d'inscription
mardi 27 avril 2004
Statut
Membre
Dernière intervention
16 février 2012

ou ca calcul le temps em micro seconde depuis 1970, ben oui tu peux si tu passe la variable start en glbal afin qu elle soit connues de toutes tes pages (un cookie)


<HR>
PS: Besoin d aide pour developper, besoin d un collaborateur pour faire votre site, consulter le post:j'aide a developper ou contacter moi par mail.

Sans maitrise la puissance n'est rien. et je maitrise
Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
29 juin 2010
1
Salut,

A ce que j'ai
compris, tu veux calculer le temps que passe le visiteur sur une page.


Et là, il faut du javascript. On execute un programme a la fermeture de la fenetre.


Par exemple, je verais :


Page


<?php



session_start();

$_SESSION['time'] = time();

$_SESSION['pseudo'] = 'jojo'; // Pseudo du membre.



?>



<!-- Attention au UnLoad -->





script.php


<?php

session_start();




// + connect mysql;




$sql = mysql_query(' SELECT temps FROM ma_table WHERE pseudo="' . $_SESSION['pseudo'] . '" ') or die(mysql_error());

$time_deja_passe = mysql_result($sql) or die(mysql_error());



$time_nouveau = $time_deja_passe + ($_SESSION['time'] - time());



mysql_query(' UPDATE ma_table SET temps="' . $time . '" WHERE pseudo="' . $_SESSION['pseudo'] . '" ') or die(mysql_error());



?>

<hr size="2" width="100%">Si ma reponse te convient, merci de l'accepté !
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
39
effactivement pour la déconnexion, il faut utiliser du js...

or :

js = pas sécurisé...

In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
Salut,



pourquoi passer par du PHP+JS pour connaître le temps de connexion sur UNE page ?



autant ne prendre que du JS, et envoyer le tout à PHP (si tu veux faire
des stats) après un unload (mais bon méthode peu fiable...)

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
Messages postés
163
Date d'inscription
jeudi 15 juillet 2004
Statut
Membre
Dernière intervention
27 janvier 2016

ce que je cherche pas le temps passé sur une page mais le temps de navigation sur le site depuis le login à la deconnexion.

j'espère que c clair cette fois

merci pour vos réponse

@ -:)

Zebra
Messages postés
445
Date d'inscription
lundi 17 février 2003
Statut
Membre
Dernière intervention
22 mars 2007
1
Salut,
Sinon tu peux mettre un bouton déconnexion, et n'utiliser que du php. Si le visiteur sait que son temps est décompté tant qu'il est connecté, il pensera à se déconnecter !
C'est plus sur, mais y'a tjs le risque que quelqu'un oublie de cliquer avant de fermer le navigateur.

Arno
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
Tu ne pourras jamais précisément calculer le temps de déconnexion, toutefois voici une méthode :



Lorsque le visiteur se connecte tu enregistres dans une variable comme ceci :



$_SESSION['debut']=time();



Après joue avec la base mysql pour enregistrer le temps courant à
l'aide de la fonction time() lorsque le visiteur clique sur une page.
Pour calculer le nombre de secondes écoulées entre la connexion et
maintenant, tu fais ceci :



$secondes=time()-$_SESSION['debut'];



tu enregistres ensuite ça dans ta table par exemple pour des statistiques.



a ++
<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
Messages postés
163
Date d'inscription
jeudi 15 juillet 2004
Statut
Membre
Dernière intervention
27 janvier 2016

je ne veux ce temps à n'importe quel moment lorsqu'il se deconnecte.

l'abonné peut se deconnecter en visitant 1 page, 2 pages ou N pages,............

et dans le cas où il se deconnecte sans quitter normalement le site ?????????????,

@ -:)

Zebra
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
Tu ne pourras jamais avoir ce temps exact...

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
Messages postés
445
Date d'inscription
lundi 17 février 2003
Statut
Membre
Dernière intervention
22 mars 2007
1
ou alors il faut utiliser autre chose que du php et/ou du javascript, mais je ne saurais pas t'en dire plus.

Arnaud