Membre connecté ?

Répondre
slyckers
le 18/06/2009 à 00:23
slyckers
Bonsoir,
Suivant ce code peut-on afficher le pseudo du membre qui est connecté ?
<?php

session_start();
if (!isset($_SESSION['login'])) {
header ('Location: erreur.php');
exit();
}
?>
<?php

// on teste si le visiteur a soumis le formulaire
if (isset($_POST['inscription']) && $_POST['inscription'] == 'Inscription') {
// on teste l'existence de nos variables. On teste également si elles ne sont pas vides
if ((isset($_POST['email']) && !empty($_POST['email'])) && (isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass'])) && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm']))) {
// on teste les deux mots de passe
if ($_POST['pass'] != $_POST['pass_confirm']) {
$erreur = 'Les 2 mots de passe sont différents.';
}
else {
$base = mysql_connect ('localhost', 'root', '********');
mysql_select_db ('*****', $base);

// on recherche si ce login est déjà utilisé par un autre membre
$sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);

// on recherche si email est déjà utilisé par un autre membre
$sql = 'SELECT count(*) FROM membre WHERE email="'.mysql_escape_string($_POST['email']).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);

if ($data[0] == 0) {
$sql = 'INSERT INTO membre VALUES("","'.mysql_escape_string($_POST['login']).'", "'.(mysql_escape_string($_POST['pass'])).'","'.mysql_escape_string($_POST['email']).'")';
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());

session_start();
$_SESSION['login'] = $_POST['login'];
header('Location: affiche.php3');
exit();
}
else {
$erreur = 'Un membre possède déjà ce login ou email.';
}
}
}
else {
$erreur = 'Au moins un des champs est vide.';
}
}
?>


Je ne parle pas de cela...
<? echo "".$data['login'].""; ?>


Merci par avance

Anthony
Je suis un guerrier et un insatisfait permanent, c’est ça l’apanage du champion :)
slyckers
le 18/06/2009 à 01:12
slyckers
Globule,

en faite en mettant $_SESSION['login'] cela indiquera les membres connectés sur le site ?

Merci
Je suis un guerrier et un insatisfait permanent, c’est ça l’apanage du champion :)
slyckers
le 18/06/2009 à 01:39
slyckers
<?       // si on obtient une réponse, alors l'utilisateur est un membre 

if ($data[0] == 1) {
session_start();
$_SESSION['login'] = $_POST['login'];

header('Location: affiche.php3');
exit(); ?>

Est-ce que là on peut aussi insérer un if pour dire que l'on affiche le membre connecté ?

Je galère là :(
Je suis un guerrier et un insatisfait permanent, c’est ça l’apanage du champion :)
LA GLOBULE
le 18/06/2009 à 01:46
LA GLOBULE
Que souhaites tu faire ? Afficher le nom de la personne connectée sur son espace membre (genre "bonjour toto, bienvenue sur ton espace perso") ? Ou afficher le nom de toutes les personnes qui sont connectés à l'espace membre (genre "2 membres en ligne : toto, titi") ?

Parce que en te relisant, ce n'est pas clair : tu veux faire le premier truc, puis le second puis le premier :S
slyckers
le 18/06/2009 à 20:58
slyckers
La deuxième solution. le fameux genre 2 membres en ligne : toto,titi,....
Merci de ton aide Globule.
Je suis un guerrier et un insatisfait permanent, c’est ça l’apanage du champion :)
slyckers
le 20/06/2009 à 09:17
slyckers
Bonjour & merci de m'avoir réépondu,

CREATE TABLE nb_online (
ip VARCHAR(15) NOT NULL,
time bigint (16) NOT NULL default '0',
-> membre TEXT (15) NOT NULL
) TYPE=MyISAM;

Comme cela ?
Je suis un guerrier et un insatisfait permanent, c’est ça l’apanage du champion :)
slyckers
le 20/06/2009 à 11:41
slyckers
le souci c'est que mes membres sne sont pas dans cette table alors comment faire pour savoir si un membre est connecté? Faut-il que je rajoute plustot le champs ip dans ma table membre, comme ça je pourrais interroger ma bdd si ip = oui j'affiche nom de membre sinon j'affiche rien...
Merci de m'aider svp
Je suis un guerrier et un insatisfait permanent, c’est ça l’apanage du champion :)
LA GLOBULE
le 20/06/2009 à 12:10
LA GLOBULE
La table que tu as pasté avant est pas mal.
A la place du nom du membre, moi je mettrais son id (un champ de type INT).
Quand c'est un membre en ligne, tu mets son id (et ensuite, tu recuperes son nom via une jointure), et si ce n'est pas un membre, tu y colles un 0.
Répondre
LoadingChargement en cours