Pages: 1
|

Membre
|
Bonjour,
Je voudrais ajouter en dessous du profil d'un membre s' il est connecté ou pas , comme celui qu'utilise le SDW...
Merci de vos réponses.
|
![ipodtouchpro]()
Membre
|
Wai super idée mais dsl je ne sais pas comment faire
|
![ipodtouchpro]()
Membre
|
Wai super idée mais dsl je ne sais pas comment faire
Eu dsl j'ai renvoyer le formulaire.
|
Celui qui sacrifie sa liberté pour sa sécurité, ne mérite aucune des deux !

Membre
|
Pour celà , il va falloir créer une table sur ta base de données ! table "connectes"!
cette table doit contenir 2 champs :
- Login
- timestamp
...
|
![ipodtouchpro]()
Membre
|
Wai ok mais un code un peu plus complet serait un peu plus pratique
|

Membre
|
ipodtouchpro : +1 XD
En plus , il n'y a pas que ca , il faut aussi du code php en plus de celui de création de la table...
Et je pense qu'il faut mettre "id" au lieu de login
|

Membre
|
Bonsoir il existe plusieur facons le total, les membres ..
exactement il faudrais
id
username
timestamp et un
Apres sufit de vous faire un petit code style
$query = $db->execute(updapte....);
https://guerredesgangs.net & http://www.bazinio.ca & http://www.thestreet2.ca
|

Membre
|
peux importe comment tu fais ta co updapte a ta db temp quelle sy connecte correctement et fais les bonnes choses ..
https://guerredesgangs.net & http://www.bazinio.ca & http://www.thestreet2.ca
|
![ipodtouchpro]()
Membre
|
Wai mais j'aimerai un code complet à ajouter en clair juste a faire du copier/coller
|

Membre
|
D'accord avec ipodtouchpro , et oui je sais : apprend le PHP !
|
![ipodtouchpro]()
Membre
|
@L44 pour ce qui est du PHP je n'ai pas trop de problème
|

Membre
|
Je ne dit pas ça pour toi , mais si tu demande un code a copier coller , on va te dire d'apprendre le PHP ...
|
![ipodtouchpro]()
Membre
|
Wai c'est vrai xD.
J'aime bocou ton nouveau avatar.
|

Membre
|
Merci, sinon pour le code , personne n'as une idée ? Comment tu as fait Ybouane?
|

Admin
|
Bonjour,
J'avais déjà fait un code pour ça: membres connectés
Voici les codes à utiliser(avec quelques modifications):
Il faut créer une table cpt_connectes:
CREATE TABLE `cpt_connectes` (
`pseudo` varchar(255) collate latin1_german2_ci NOT NULL,
`timestamp` varchar(255) collate latin1_german2_ci NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_german2_ci;
Et pour afficher le nombre de membres connectés et leurs noms, il faut utiliser ce code:
<?php
mysql_connect('localhost', 'username', 'password');
mysql_select_db('database');
if(isset($_SESSION['username']))
{
$dnns = mysql_fetch_array(mysql_query('select count(pseudo) as nb from cpt_connectes where pseudo="'.$_SESSION['username'].'"'));
if($dnns['nb']>0)
{
mysql_query('update cpt_connectes set timestamp="'.time().'" where pseudo="'.$_SESSION['username'].'"');
}
else
{
mysql_query('insert into cpt_connectes (pseudo, timestamp) values ("'.$_SESSION['username'].'", "'.time().'")');
}
}
$times_m_5mins = time()-(60*5);
mysql_query('delete from cpt_connectes where timestamp<"'.$times_m_5mins.'"');
$dnns2 = mysql_query('select pseudo from cpt_connectes');
$num = mysql_num_rows($dnns2);
echo 'Il y a actuellement <strong>'.$num.'</strong> membre(s) connecté(s)';
if($num>0)
{
echo ':<br />';
$i=0;
while($dn2 = mysql_fetch_array($dnns2))
{
$i++;
echo $dn2['pseudo'];
if($i<$num)
{
echo ',';
}
}
}
echo '.';
?>
Et en complément, utilisez ce code pour la page connexion.php de l'espace membre:
<?php
include('config.php');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="<?php echo $design; ?>/style.css" rel="stylesheet" title="Style" />
<title>Connection</title>
</head>
<body>
<div class="header">
<a href="<?php echo $url_home; ?>"><img src="<?php echo $design; ?>/images/logo.png" alt="Espace Membre" /></a>
</div>
<?php
//Si lutilisateur est connecte, on le deconecte
if(isset($_SESSION['username']))
{
//On le deconecte en supprimant simplement les sessions username et userid
mysql_query('delete from cpt_connectes where pseudo="'.$_SESSION['username'].'"');
unset($_SESSION['username'], $_SESSION['userid']);
?>
<div class="message">Vous avez bien été déconnecté.<br />
<a href="<?php echo $url_home; ?>">Accueil</a></div>
<?php
}
else
{
$ousername = '';
//On verifie si le formulaire a ete envoye
if(isset($_POST['username'], $_POST['password']))
{
//On echappe les variables pour pouvoir les mettre dans des requetes SQL
if(get_magic_quotes_gpc())
{
$ousername = stripslashes($_POST['username']);
$username = mysql_real_escape_string(stripslashes($_POST['username']));
$password = stripslashes($_POST['password']);
}
else
{
$username = mysql_real_escape_string($_POST['username']);
$password = $_POST['password'];
}
//On recupere le mot de passe de lutilisateur
$req = mysql_query('select password,id from users where username="'.$username.'"');
$dn = mysql_fetch_array($req);
//On le compare a celui quil a entre et on verifie si le membre existe
if($dn['password']==$password and mysql_num_rows($req)>0)
{
//Si le mot de passe es bon, on ne vas pas afficher le formulaire
$form = false;
//On enregistre son pseudo dans la session username et son identifiant dans la session userid
$_SESSION['username'] = $_POST['username'];
$_SESSION['userid'] = $dn['id'];
?>
<div class="message">Vous avez bien été connecté. Vous pouvez accéder à votre espace membre.<br />
<a href="<?php echo $url_home; ?>">Accueil</a></div>
<?php
}
else
{
//Sinon, on indique que la combinaison nest pas bonne
$form = true;
$message = 'La combinaison que vous avez entré n\'est pas bonne.';
}
}
else
{
$form = true;
}
if($form)
{
//On affiche un message sil y a lieu
if(isset($message))
{
echo '<div class="message">'.$message.'</div>';
}
//On affiche le formulaire
?>
<div class="content">
<form action="connexion.php" method="post">
Veuillez entrer vos identifiants pour vous connecter:<br />
<div class="center">
<label for="username">Nom d'utilisateur</label><input type="text" name="username" id="username" value="<?php echo htmlentities($ousername, ENT_QUOTES, 'UTF-8'); ?>" /><br />
<label for="password">Mot de passe</label><input type="password" name="password" id="password" /><br />
<input type="submit" value="Connection" />
</div>
</form>
</div>
<?php
}
}
?>
<div class="foot"><a href="<?php echo $url_home; ?>">Retour à l'accueil</a> - <a href="http://www.supportduweb.com/">Support du Web</a></div>
</body>
</html>
Cordialement

|
![ipodtouchpro]()
Membre
|
Merci sa marche nickel tes le meilleur Ybouane.
Et pour mettre sur son profil si il est connecter ou non tu sais comment faire??
Comme içi :: www.supportduweb.com/profil-2381.html
|

Admin
|
Bonjour,
Il faut d'abord mettre le code que j'ai donné sur toutes les pages de ton site.
Et il faut ajouter ce code à la page "profile.php"
$cnn = mysql_fetch_array(mysql_query('select count(*) as nb from cpt_connectes where pseudo="'.mysql_real_escape_string($dnn['username']).'"'));
if($cnn['nb']>0)
{
echo htmlentities($dnn['username']).' est actuellement connecté.';
}
else
{
echo htmlentities($dnn['username']).' est actuellement déconnecté.';
}
Cordialement
|

Membre
|
Merci j'ai un petit pb d'hébergeur je testerais le script quand tout sera resolu (bientot je pense)
|
![ipodtouchpro]()
Membre
|
A non ça ne marche pas nickel et je pense savoir pourquoi j'ai regarder ton code et au moment de la connexion je ne vois pas où tu écris dans la base de donnée qu'il se connecte mysql_query('INSERT INTO blabla');
Et comme je ne suis pas tres fort en PHP peu tu reformuler le script (Si ce que je dit est vrai) .
Merci
|

Membre
|
Moi ca marche!
|

Admin
|
Bonjour,
C'est dans le premier code que je t'ai donné, à la ligne 13:
mysql_query('insert into cpt_connectes (pseudo, timestamp) values ("'.$_SESSION['username'].'", "'.time().'")');
C'est important que tu mette le premier code dans toutes tes pages, c'est ce code qui fait le compte des connectés.
Le fonctionnement des codes que je t'ai donné est simple.
Le premier permet de compter les membres connectés. Lorsqu'il est exécuté, il vérifie si c'est un membre qui affiche la page, si c'est le cas, il l'ajoute à la BDD avec le timestamp actuel. Ensuite, Le script supprime toutes les lignes de la BDD qui datent de plus de 5 minutes. Car lorsque un membre n'affiche pas de nouvelles page depuis 5 minutes, il est considéré comme déconnecté. Et finalement, il affiche les membres connectés.
Le deuxième code permet de supprimer la ligne de la BDD lorsque l'utilisateur se déconnecte.
Cordialement
|

Membre
|
Il a un probleme avec le se code
quand nous instalons pouff la page dis erreur ^^
<?php
//Si lutilisateur est connecte, on le deconecte
if(isset($_SESSION['username']))
{
//On le deconecte en supprimant simplement les sessions username et userid
mysql_query('delete from cpt_connectes where pseudo="'.$_SESSION['username'].'"');
unset($_SESSION['username'], $_SESSION['userid']);
?>
https://guerredesgangs.net & http://www.bazinio.ca & http://www.thestreet2.ca
|

Membre
|
De plus la table garde pas les chose ^^ fesons une insert en base pour test et garde rien ^^
Probleme champ vachar .. nous instalons le pseudo donc il faut champ text .. et le timestamp pas en vachar mais en timestamp current timstamp .. la on peux entrer des choses ^^
mais cela change pas que sa fonctionne pas ..
https://guerredesgangs.net & http://www.bazinio.ca & http://www.thestreet2.ca
|

Membre
|
Pour moi ca marche , c'est toi qui a peut etre un pb...
|
Pages: 1
|