cs_scanner
Messages postés39Date d'inscriptionmardi 21 janvier 2003StatutMembreDernière intervention 2 février 2009
-
27 févr. 2008 à 03:53
cs_scanner
Messages postés39Date d'inscriptionmardi 21 janvier 2003StatutMembreDerniè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
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 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
*/
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 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
*/
cs_scanner
Messages postés39Date d'inscriptionmardi 21 janvier 2003StatutMembreDerniè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
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_scanner
Messages postés39Date d'inscriptionmardi 21 janvier 2003StatutMembreDerniè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
cs_scanner
Messages postés39Date d'inscriptionmardi 21 janvier 2003StatutMembreDerniè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
cs_scanner
Messages postés39Date d'inscriptionmardi 21 janvier 2003StatutMembreDerniè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
cs_scanner
Messages postés39Date d'inscriptionmardi 21 janvier 2003StatutMembreDerniè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 ;
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 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"...
cs_scanner
Messages postés39Date d'inscriptionmardi 21 janvier 2003StatutMembreDerniè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
cs_scanner
Messages postés39Date d'inscriptionmardi 21 janvier 2003StatutMembreDerniè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 !!!!