[PHP] Vérifier la présence d'une personne

Résolu
Valeechou Messages postés 8 Statut Membre -  
Valeechou Messages postés 8 Statut Membre -
Bonjour à tous.

Je programme actuellement une interface d'administration pour un serveur de jeu et je voudrais vérifier avec PHP lorsque quelqu'un arrive sur une page.

Par exemple :

Si j'arrive sur exemple.php, la page sait que j'y suis et l'indique dans un cadre.
Lorsque je m'en vais, mon pseudo s'en va du cadre.

Quelqu'un connaîtrait-il une fonction pour ça svp ?

Merci.

6 réponses

  1. a70m Messages postés 3121 Statut Contributeur 217
     
    Salut,

    Il n'y pas de fonction, tu peux le faire avec une base de donnée, dans laquelle tu enregistre le pseudo, l'heure d'arrivée et l'heure de départ. Quand il arrive, on enregistre le pseudo et l'heure d'arrivée, avec un Javascirpt, on l'affiche. Et quand il part, on enregistre l'heure de départ, et avec un JavaScript, on l'enlève du cadre. ;)

    Cordialement
    0
  2. Valeechou Messages postés 8 Statut Membre
     
    Le problème c'est que les connexions se font à l'aide du htaccess :s
    0
  3. a70m Messages postés 3121 Statut Contributeur 217
     
    Pourquoi tu ne fais pas un espace membre en PHP/MySQL ?
    0
  4. Valeechou Messages postés 8 Statut Membre
     
    Bah pour le peu de compte qu'il y a je ne vois aucun intérêt
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    Je te conseil aussi de faire ton espace membre en PHP.
    Ainsi, sur ta table, il te suffira d'ajouter deux champ "dernier_chargement" et "derniere_page". Le champ "dernier_chargement" contient le timestamp du dernier chargement d'une page et "derniere_page" l'url de la page en cours de lecture.

    Ou bien tu peux faire une simple table avec les champs "pseudo", "dernier_chargement" et "derniere_page".
    Au début de toutes tes pages :
    <?php
    $pdo = new PDO('mysql:host=localhost;dbname=ta_base','root','');
    
    $sql = 'DELETE * FROM lectures WHERE pseudo = :pseudo';
    $req = $pdo->prepare($sql);
    $req->execute(array(':pseudo' => $_SERVER['PHP_AUTH_USER']));
    $req->closeCursor();
    
    $sql = 'INSERT INTO lectures(pseudo,date,page) VALUES(:pseudo,:date,:page)';
    $req = $pdo->prepare($sql);
    $req->execute(array(
        ':pseudo' => $_SERVER['PHP_AUTH_USER'],
        ':date' => $_SERVER['REQUEST_TIME'],
        ':page' => $_SERVER['PHP_SELF']
    ));
    $req->closeCursor();
    ?>
    Et pour afficher la liste des membres connectés sur une page :
    <?php
    $sql = 'SELECT pseudo FROM lectures WHERE date > '.($_SERVER['REQUEST_TIME'] - 300).' AND page = "'.$_SERVER['PHP_SELF'].'"';
    $req = $pdo->query($sql);
    while($row = $req->fetch(PDO::FETCH_OBJ)) {
        echo '<li>'.$row->pseudo.'</li>'."\n";
    }
    $req->closeCursor();
    ?>
    Je n'ai pas testé mais ça devrait être +/- ça.
    0
  7. Valeechou Messages postés 8 Statut Membre
     
    Bon, j'crois que j'vais tout refaire, merci ^^
    0