begin process at 2012 02 14 14:19:00
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Général

 > 

Savoir qui est connecté


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Savoir qui est connecté

mercredi 4 juin 2008 à 18:44:41 | Savoir qui est connecté

nicomilville

Membre Club

Salut,

J'ai une table session qui contient tout les membres inscrits et j'ai une autre table connect qui contient tout les membres connectés ...
J'ai un code qui est censé afficher une image si le membre est connecté mais ça ne marche pas !

Mon code :

<?php
session_start();
if(!session_is_registered("User_Login") || !session_is_registered("User_Pwd"))
{
 print '<META HTTP-EQUIV="refresh" CONTENT="0; URL = ../index.php?msg=Mauvais+Login+et/ou+Password+!">';
 exit;
}
?>
<?php include("../include/config.inc.php"); ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " [ Lien ]">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>TS Secure CS Version 4.0 - Bienvenue <?php echo $_COOKIE['connect_login']; ?> !</title>
<link href="../design.css" rel="stylesheet" type="text/css">
</head>
<body>
<table width="60%"  border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td colspan="2"><img src="images/logo.gif" width="844" height="112"></td>
  </tr>
  <tr>
    <td width="31%" height="670" valign="top"><?php include("include/index.php"); ?></td>
    <td width="69%" valign="top" class="separation">
     
   <table border="0" width="100%" cellpadding="0" cellspacing="0">
      <tr>
      <td height="57" align="center" valign="middle"><img src="images/icones/membres_connect.gif" width="279" height="29"></td>
   </tr>
      <tr>
        <td height="20" align="center" valign="middle"></td>
        </tr>
      <tr>
        <td height="10" align="left" valign="middle"><?php
   
  $db = mysql_connect("$sql_host", "$sql_user", "$sql_pass") or die(mysql_error());
  mysql_select_db("$sql_bdd",$db);

      
  $query  = "SELECT * FROM $tb_membres, $tb_connect";
  
  $result = mysql_query($query) or die (mysql_error()); ?>
 
  
  
  
   <center><table width="95%" border="1" cellpadding="0" cellspacing="0" bordercolor="#B4C4CB">
   <tr>
  <td width="23%" align="center" valign="middle" bgcolor="#DFE4EA"><strong>Avatar</strong></td>
   <td width="25%" align="center" valign="middle" bgcolor="#DFE4EA"><strong>Pseudo</strong></td>
   <td width="17%" align="center" valign="middle" bgcolor="#DFE4EA"><strong>Age</strong></td>
   <td width="23%" align="center" valign="middle" bgcolor="#DFE4EA"><strong>Sexe</strong></td>
   <td width="12%" align="center" valign="middle" bgcolor="#DFE4EA"><strong>Online</strong></td>
   </tr>
     <?php
     while ($row = mysql_fetch_array($result))
 {

   $login = $row[login]; ?>
   <tr>
     <td align="center" valign="middle"><?php if ($row['avatar'] == true)
      {
   ?>
         <a href="<?php echo "http://www.astuce-et-creation.com/Script_membre/script/login/details.php?id=".$row['User_Login']; ?>"><img name="avatar" src="<?php echo $row['avatar']; ?>" width="87" height="88" border="0"></a>
          <?php
   }
    else
      {
   ?>
       <a href="<?php echo "http://www.astuce-et-creation.com/Script_membre/script/login/details.php?id=".$row['User_Login']; ?>"><img name="avatar" src=" [ Lien ]" width="87" height="88" border="0"></a>
        <?php
   }?></td>
     <td align="left"><a href=" [ Lien ] echo $row['User_Login']; ?>"><?php echo $row['User_Login']; ?></a></td>
     <td align="left"><?php if ($row['age'] == true)
      {
   ?>
         <?php echo $row['age']; ?>
          <?php
   }
    else
      {
   ?>
       Inconnu
        <?php
   }?></td>
     <td align="center" id="sex"><?php if ($row['sexe'] == true)
      {
   ?>
   <?php
   if($row['sexe'] == "Femme") {
   ?>
    <img src="images/Fille.png" alt="femme"/>
   <?php
   } else if($row['sexe'] == "Homme") {
   ?>
    <img src="images/mec.png" alt="homme"/>
   <?php
   } else {
   ?>
    
   <?php
   }
   }
   ?>
        <?php
  $query2 = "SELECT * FROM $tb_connect";
  
  $retour2 = mysql_query($query2);
  
  while($row2 = mysql_fetch_array($retour2)) {
  
  $login1 = $row['User_Login'];
  $login2 = $row2['login'];
  
  if($login1 == $login2) {
   ?> </td>
     <td width="12%" align="center" valign="middle"><img src="images/contact_connect.gif" alt="Online" width="25" height="25" border="0"></td>
    </tr>
  <?php
  } else {
   echo "";
  }
  }

 }
  
  mysql_close($db); ?>
   </table>
   </center>

 
  </td>
        </tr>
   </table>    
 
 </td>
  </tr>
</table>
</body>
</html>

Merci de m'aider

a++

Si la réponse vous convient, pensez : Réponse accepté !

mercredi 4 juin 2008 à 21:00:22 | Re : Savoir qui est connecté

bcmfr

Membre Club
Slt
session_is_registered, il me semble que c'est pas top pour savoir si la session est utilisée non? C'est pas ca la cause mais c juste une remarque comme ca...
@+

Vous avez un coup de gueule à passer?
http://www.ca-menerve.fr
mercredi 4 juin 2008 à 21:29:22 | Re : Savoir qui est connecté

nicomilville

Membre Club
ok,

mais comme tu l'a dit ce n'ai pas ça la question !

a++

Si la réponse vous convient, pensez : Réponse accepté !

jeudi 5 juin 2008 à 03:36:42 | Re : Savoir qui est connecté

emperor01

Tu as essayer l'ajax.

1ere etape
   tu fais un script qui fait une ecriture dans ta table de connexion en php prenant une variable en GET,
   puis tout les autant de temps tu fais une inscription dans la base.
2eme etape
   un script cron.php qui vide la table a intervalle regulier

Resultat : Tant que l'utilisateur à sa page ouverte il dit qu'il est connecter et tu as un rafraichissement variable en fonction du cron.

c une idée comme une autre et sans cette vilaine table des "sessions Active" lol

jeudi 5 juin 2008 à 03:37:49 | Re : Savoir qui est connecté

emperor01

A regarde Scriptaculous c une classe ajax pour faire ca simplement

Bon courage
jeudi 5 juin 2008 à 04:25:11 | Re : Savoir qui est connecté

coucou747

Administrateur CodeS-SourceS
salut

coder salement nuit a la lisibilite...

ensuite, nicomilville, ton algo est en n*n, c'est a dire que si tu as n membres, alors tu auras n*n passages dans ce while : while($row2 = mysql_fetch_array($retour2)) { et ca c'est tres violent... tu peux optimiser ca avec un where.

ensuite, faire un :

else {
   echo "";
  }

ca embrouille les gens et ca sert a rien.
ton html est vieux.
n'utilise pas session_is_registered mais utilise isset($_SESSION['truc'])
enfin, utiliser les " ca ralentit ton script pour rien.


sinon, voila un equivalent de ton code, mais en BEAUCOUP plus rapide :


<?php
$query2 = 'SELECT 1 FROM '.$tb_connect.'
WHERE `User_login`="'.$row['User_Login'].'"';
$retour2 = mysql_query($query2);
$row2 = mysql_fetch_array($retour2
if ($row2 !== false){
?>....<?php
}
?>

le truc, c'est que $tb_connect, je ne sais pas ce qu'elle contient, mais a mon avis, c'est les membres, et pas seulement ceux qui sont connectes...
pour y remedier, tu peux ajouter une requete UPDATE qui mette a jours une "date de dernier passage" et ajouter un WHERE DIFF_TIME(NOW, dernier_passage) < 5*60
je me suis peut-etre plante sur ce where, j'ai pas la doc sous les yeux, mais le principe y est.
jeudi 5 juin 2008 à 06:51:57 | Re : Savoir qui est connecté

nicomilville

Membre Club
Salut tout le monde,

emperor01, ajax ne me tente pas trop... mais si il n'y avait que cette solution j'aurai fait avec...

coucou747 : ce code est effectivement sale (il est vieu de 4 ans) son créateur m'a demané a moi et a un collègue de le remetttre en état et d'ajouter des fonction... ce qui est sur c'est que ce n'est pas du html et en plus c'était en php3 d'ou le session_is_requistered....

La table $tb_connect contient les membres connectés, elle est actualisé toute les 10 secondes... je ne comprend pas j'ai une requête semblable dans une autre page qui n'affiche que les membre connecté et ça marche donc...

Dans la table $tb_connect il y a comme je l'ai dit plus haut les membre connectés seuleument elle contient les champs suivant :
- dateDebut (date de debut de la session : timestamp)
- dateFin (date de la fin de la session : timestamp)
- ip (ip du membre connecté)
- login (pseudo des membres connectés)

Je ne comprend pas poourquoi mon code ne marche pas !

Si vous avez une petite idée...

Merci de m'aider

a++

Si la réponse vous convient, pensez : Réponse accepté !

jeudi 5 juin 2008 à 14:37:07 | Re : Savoir qui est connecté

emperor01

Déja ligne 59 tu as oublie les simple cote :

 $login = $row[login]; ?> ======> $login = $row['login']; ?>
jeudi 5 juin 2008 à 14:39:01 | Re : Savoir qui est connecté

emperor01

si tu es sous linux verifie les noms des champs car mysql sous linux tient compte de la casse. Notament ligne 112 : $row['User_Login'] car tout les autres noms de champ sont en minuscule ???
jeudi 5 juin 2008 à 16:15:25 | Re : Savoir qui est connecté

nicomilville

Membre Club
re,

pour les guillemets je les est rajouté, sinon, je suis sous windows et les nom des champs respectent la casse...

a++

Si la réponse vous convient, pensez : Réponse accepté !



Cette discussion est classée dans : script, mysql, login, user, row


Répondre à ce message

Sujets en rapport avec ce message

Paramètre d'entrée dans un script PHP [ par zeldoi5 ] Bonjour tout le monde, je ne sais pas si le titre est suffisemment évocateur, mais je voudrais passer le résultat de requêtes SQL (sur ma base MySQL) Authentification ie et firefox [ par mounelelabrador ] Bonjour, Je dois créer un site avec gestion membres, admins et vu que c'est pour un cours je ne peux pas vraiment télécharger sur internet des script Pourquoi mes sessions ne fonctionnent plus !! [ par arnold002 ] Bonjour à tous,J'ai créé un site d'anciens élèves uniquement consultable par des utilisateurs préalablement enregistrés dans ma BDD.Sur la page d'inde Problème variable php dans une requete sql [ par krevette235 ] Bonjour a tous,bon voila ca fait plusieurs heures que je cherche, que je farfouille un peu partout mais je ne trouve rien. J'aimerai pouvoir verifier Syntaxe requette mysql [ par 4lman78 ] Bonjour,j'ai un petit soucis avec ce bout de code au niveau du where quel est la syntaxe exacte$user_login = $user->data['username'];echo $user_login; affichage de données [ par tanoh ] Bonjour à tous, j'ai un problème avec mon script;en effet mon script doit permettre au client avec son login et son mot de passe de se connecter et d' Checked : sélectionner checkall - impossible [ par chero9000kee ] Bonjour à tous, Je tiens à remercier "cod57" pour son aide et sa compétence de mon premier poste. Comme préciser dans le sujet, j'essaie depuis quel Récupération du login utilisateur [ par massbbc ] bonjour a tous! je suis debutant(dreamweaver CS3) en php et j'ai un problème. 1. j'ai une page de connexion login.php 2. Une autre page vers laquelle Probleme lors de selection de champ d'une base [ par moumourourou ] Bonjour, j'ai un problème lors de la sélection des champs de ma table dans ma base de données voici mon code: $res = mysql_query("SELECT * FROM jos_it Menus déroulants dépendants [ par daporoty ] Bonjour. Je suis novice en php mais j'ai quand même essayé de faire une page de trie pour afficher des données de ma base mysql. Première étape : Le


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,092 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales