Membres connectés problème

Résolu
cs_scanner Messages postés 39 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 2 février 2009 - 27 févr. 2008 à 03:53
cs_scanner Messages postés 39 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 2 février 2009 - 5 mars 2008 à 22:58
bonjour tout le monde

voila j'ai un petit problème je suis entrain de faire un site avec un
espace membre avec session
quand je me log c bon mon compteur m'affiche 1 connecté et quand
je me déconnecte il m'affiche 0 connecté.

donc le probleme est que j'aimerais que les membres inactif depuis environ 15 min
soit déconnecté automatiquement.

bon pour plus de précision je vous met le princinpe de fonctionnement de mon script:
ma table dans mysql:
--
-- Structure de la table `tbl_membres`
--


CREATE TABLE `tbl_membres` (
  `id` int(11) NOT NULL auto_increment,
  `login` varchar(50) NOT NULL,
  `pass` varchar(255) NOT NULL,
  `email` varchar(255) NOT NULL,
  `prenom` varchar(255) NOT NULL,
  `nom` varchar(255) NOT NULL,
  `adresse` varchar(255) NOT NULL,
  `departement` varchar(5) NOT NULL,
  `ville` varchar(255) NOT NULL,
  `pays` varchar(255) NOT NULL,
  `date_naissance` varchar(10) NOT NULL,
  `telephone` varchar(20) NOT NULL,
  `connect` char(1) NOT NULL,
  UNIQUE KEY `id` (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

donc voila le champ connect est a 0 pour offline et 1 pour online
il faudrais quand un membre est inactif depuis 15 min le script me fait un
UPDATE tbl_membes SET connect='0' WHERE........
est ce possible et comment faire

merci d'aider un pauvre débutant

scanner l'home ki te scan

23 réponses

coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
27 févr. 2008 à 06:36
salut, faut stoquer une date de derniere demande de page, et pas 1 ou 0.

ensuite tu fais un truc genre :

SELECT COUNT(*) FROM ... WHERE DATE_DIFF(date_derniere_connection, now() ) < 15*60

j'ai plus en tete le manuel de DATE_DIFF, si ca se trouve c'est meme DIFF_DATE, mais le principe est la
/**
* @author coucou747 <coucou747@hotmail.com>
* @see irc://cominweb.uni-irc.net/#programmation
*/
3
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
29 févr. 2008 à 00:09
c'est ca oui...
la date de connection, t'as le choix, soit tu fais un int et tu n'utilises pas diff_date, soit tu fais un timestamp et tu utilises diff_date.

sinon, j'ai adore ton message de 23:46:55.../**
* @author coucou747 <coucou747@hotmail.com>
* @see irc://cominweb.uni-irc.net/#programmation
*/
3
cs_scanner Messages postés 39 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 2 février 2009
28 févr. 2008 à 23:46
bonjour tout le monde

alors personne d'autre peu m'aider ?

scanner l'home ki te scan
0
cs_scanner Messages postés 39 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 2 février 2009
28 févr. 2008 à 23:52
merci coucou747

donc si j'ai bien compris faut que je fait en sorte que sur chaque page que le membre visite, actualiser la date de derniere connexion puis utiliser ton bout de code c'est ca non ? corrige moi si je me plante

merci de m'avoir répondu ++

scanner l'home ki te scan
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_scanner Messages postés 39 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 2 février 2009
28 févr. 2008 à 23:55
arf g oublier une petite question heuuuu.... pour la date de derniere connexion
c'est quel format c'est Date(d m Y); ou autre chose désolé je sais pas comment faire

++

scanner l'home ki te scan
0
cs_scanner Messages postés 39 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 2 février 2009
29 févr. 2008 à 13:03
merci pour ton aider sans toi je n'y serais jamais arriver

a+ et encore merci a toi coucou747

scanner l'home ki te scan
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
29 févr. 2008 à 13:04
de rien

/**
* @author coucou747 <coucou747@hotmail.com>
* @see irc://cominweb.uni-irc.net/#programmation
*/
0
cs_scanner Messages postés 39 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 2 février 2009
2 mars 2008 à 17:24
yep hello

heu désolé de faire ch.... encore une fois mais j'ai encore un petit truc qui me trote dans la tete tu ma donne la requete mysql

SELECT COUNT(*) FROM ... WHERE DATE_DIFF(date_derniere_connection, now() ) < 15*60

et apres je fait koi ? je peut faire mon systeme de 0 et de 1 avec cette requete.
je m'explique mieux ci dessous

$sql="SELECT COUNT(*) FROM ... WHERE DATE_DIFF(date_derniere_connection, now() ) < 15*60";

if($sql){
 mysql_query("UPDATE matable SET connect='0' WHERE DATE_DIFF(date_derniere_connection, now() ) < 15*60");
}

est ce que c'est bon ca ou pas ?

++ all

scanner l'home ki te scan
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
2 mars 2008 à 17:29
$sql="SELECT COUNT(*) FROM ... WHERE DATE_DIFF(date_derniere_connection, now() ) < 15*60";
if($sql){

ici, t'as une enorme erreur... tu fais un if sur une chaine non vide et constante...

Bref, je ne comprends pas ce que tu as donne comme code... et il est totalement faux.
0
cs_scanner Messages postés 39 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 2 février 2009
2 mars 2008 à 18:29
re


en fait mon script pour ce logé utilise les sessions


mais ce que je ne comprend pas c'est ton bou de code il fait juste un select et apres je ne sais pas comment faire pour que ca fonctionne fo faire un delete ou un update j'en sais rien c'est pour ca que je demande de l'aide


voila sur ce a+

scanner l'home ki te scan
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
2 mars 2008 à 19:20
Cette requete te trouve le nombre de membres connectes...
SELECT COUNT(*) FROM ... WHERE DATE_DIFF(date_derniere_connection, now() ) < 15*60

chaque fois qu'un membre va sur une page, tu fais :

mysql_query("UPDATE matable SET date_derniere_connection=NOW() WHERE id_membre=$id");

histoire d'actualiser sa derniere date de connection...

/**
* @author coucou747 <coucou747@hotmail.com>
* @see irc://cominweb.uni-irc.net/#programmation
*/
0
cs_scanner Messages postés 39 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 2 février 2009
2 mars 2008 à 19:35
et si maintenant je veut faire une liste de connecté avec une image rouge pour dire que le membre est offline et vert online je peut utiliser


la requete select count(*) from ... where date_diff ? en faisant un
while($row=mysql_fetch_array(marequete){

}

désolé je mis connait plutot bien en php/mysql mais la je capte que dale mdr en tout cas je suis deja bien avance

++

scanner l'home ki te scan
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
2 mars 2008 à 19:39
si tu t'y connaissais vraiment en php/mysql, tu saurais faire un simple select....

SELECT pseudo, etc... FROM ... WHERE DATE_DIFF(date_derniere_connection, now() ) < 15*60

/**
* @author coucou747 <coucou747@hotmail.com>
* @see irc://cominweb.uni-irc.net/#programmation
*/
0
cs_scanner Messages postés 39 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 2 février 2009
2 mars 2008 à 22:03
re

ouai mais je sais le faire lol sauf que ce genre de script que tu ma proposer en solution je ne connait pas c tout lol je ne suis pas un noob non plus ca fait + de 4 ans que j'utilise php et mysql

sur ce ++

scanner l'home ki te scan
0
cs_scanner Messages postés 39 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 2 février 2009
3 mars 2008 à 17:17
salut tout le monde salut coucou747

bon ben j'ai chercher sur le net et j'ai trouver un script qui peut le faire mais le délire c'est que ce script compte seulement les visiteur qui ce balade sur le site et ce que j'aimerais faire c'est compté les simple visiteur anonyme et les membres inscrit sur le site mais comment faire voila pourkoi je demande de l'aide

// FICHIER COMPTEUR.PHP
// Délai (en secondes) durant lequel le visiteur est compté comme actif (défaut: 15 minutes = 900 secondes)
$delai = 900;



// Paramètres de connexion à la base de données MySQL
$host = 'localhost';       // Hôte
$user = 'root';            // Identifiant
$pwd = '';                 // Mot de passe
$bdd = 'ma_base';          // Nom de la base de données
$table = 'compteur_live';  // Nom de la table où sera stocké les adresses ip




// On prend l'adresse IP du visiteur
$ip = $_SERVER['REMOTE_ADDR'];




// On encode l'adresse IP du visiteur
$ips = explode ('.', $ip);
$ip = sprintf ( '%02x%02x%02x%02x', $ips[0], $ips[1], $ips[2], $ips[3] );




// Si on peux se connecter à la base de données
// on efface toutes les adresses IP trop vieilles
if ( mysql_connect($host, $user, $pwd) && mysql_select_db($bdd) )
{
  // Nettoyage de la table
  $sql = 'DELETE FROM ' . $table . ' WHERE time + ' . $delai . ' < ' . time();
  mysql_query( $sql );
  
  // On regarde si l'adresse IP du visiteur est déjà présente
  // Si oui, on met à jour l'heure de dernière visite   $sql 'SELECT ip FROM ' . $table . ' WHERE ip "' . $ip . '"';
  if ( mysql_num_rows(mysql_query($sql)) == 1 )
  {     $sql 'UPDATE ' . $table . ' SET time "' . time() . '" WHERE ip = "' . $ip . '"';
    mysql_query($sql);
  }
  // Si non, on l'ajoute
  else
  {     $sql 'INSERT INTO ' . $table . ' SET time "' . time() . '" AND ip = "' . $ip . '"';
    mysql_query($sql);
  }
}







//FICHIER ONLINE.PHP
// On inclus le compteur 
include('compteur.php');




// On initialise le nombre de visiteur
$nb = 0;




// Si on peut se connecter à la base de données,
// on compte le nombre de visiteur
if ( mysql_connect($host, $user, $pwd) && mysql_select_db($bdd) )
{
  $sql = 'SELECT ip FROM ' . $table;
  $nb = mysql_num_rows(mysql_query($sql));
}




// Permet d'ajouter un "s" si il y a plus d'un visiteur
$accord = ( $nb > 1 ? 's' : '' );




// Affichage du compteur, le texte est bien sûr modifiable
echo $nb . ' visiteur' . $accord . ' connecté' . $accord ;






voila c'est tout ++

scanner l'home ki te scan
0
cs_scanner Messages postés 39 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 2 février 2009
4 mars 2008 à 17:24
hello les codeurs

ya personne pour me donne quelques conseils pour faire évoluer la chose
car la je suis bloqué sur ce fichu script a la noix lol

voili voilou a++

scanner l'home ki te scan
0
cs_scanner Messages postés 39 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 2 février 2009
5 mars 2008 à 17:53
upupup barbabatruc lol

scanner l'home ki te scan
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
5 mars 2008 à 18:22
down !

arrete ca stp !

1 tu demandes de l'aide, et quand on t'en apporte, tu n'ecoutes pas ce qu'on te dit
2 quand on abandonne, puisque tu ne nous ecoute pas, tu nous fait renvoyer des mails juste pour "up"...

arrete tes gamineries stp...

/**
* @author coucou747 <coucou747@hotmail.com>
* @see irc://cominweb.uni-irc.net/#programmation
*/
0
cs_scanner Messages postés 39 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 2 février 2009
5 mars 2008 à 18:41
ouai mais attend tu me donne une requete et je ne sais meme pas comment ca fonctionne donc c'est un peut normal que je demande de l'aide et le date_diff ca ne marche pas pareil pour diff_date donc voila ce que tu ma proposer ne fonctionne pas donc c'est un peut normal que je cherche d'autre solution mais apres si tu t'énerve pour un rien ce n'est pas de ma faute a bonne antendeur salut je vais cherche de l'aide ailleur ou les gent t'aide a comprendre le pourkoi ca marche pas

en plus te me donne une simple requete mais tu m'explique pas plus en detail le fonctionnement

sur ce a+

scanner l'home ki te scan
0
cs_scanner Messages postés 39 Date d'inscription mardi 21 janvier 2003 Statut Membre Dernière intervention 2 février 2009
5 mars 2008 à 18:49
encore une chose et si c'est les mails qui te derange tu n'a ka d'esactiver cette option voila tout et pas passer tes ner sur moi en me disant arrete tes gaminerie.

tchao tchao je vais faire un tour sur des autres site OU ONT T'AIDE AU MOIN !!!!

scanner l'home ki te scan
0
Rejoignez-nous