Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Savoir qui est connecté [ Divers / Général ] (nicomilville)

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

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é 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; Probleme de connexion [ par toini ] Bonjour, je suis débutant en php et j'ai un problème sur cette page que j'ai recopié d'un livre :***************************************************** Utilisation de $row[] [ par jmlucienvb ] J'ai besoin de récupérer dans une base de données MySql des informations qui pour un critère donné sont sur plusieurs lignes Pour ce qui est de la con UDAPTE fonctionnel sur easy php en local mais pas en ligne [ par mnyloko ] Hello à tous  J'ai un petit problème d'UPDATE sur un site admin qui gère des articles ( Catalogue ) Ceux-ci marchent très bien en local mais lorsque j Tableau Excel depuis selection mysql checkbox [ par Annadrill ] Bonsoir,JOYEUX NOEL !!!!j'ai un petit souci, voilà ce que j'essaie de faire :1. j'ai un formulaire avec des noms et un une checkbox pour chaque nom,2. aider moi svp [ par nagouza ] salemou 3alikom svp j'ai un probléme en verification de login et de mot de passe à partir de la baseet voila le code ://connexion à la base$db = mysql


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,452 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.