Liste des connectés
Ika Pro
Messages postés
149
Date d'inscription
Statut
Membre
Dernière intervention
-
Ika Pro Messages postés 149 Date d'inscription Statut Membre Dernière intervention -
Ika Pro Messages postés 149 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je reviens vers vous afin d'avoir de l'aide sur un point.
En faite, j'aimerais que les visiteurs "ENREGISTRE" donc, ils voient ma liste des membres connecté mais, car, il y à un mais, j'aimerais que les membres puissent directement cliquer sur le pseudo du membre connecté pour tomber sur le profil du membre choisi.
Voici ma ligne de code qui affiche les pseudo connecté :
echo $dn2['username'];
Si vous avez une idée, je suis preneur merci bien par avance.
Je reviens vers vous afin d'avoir de l'aide sur un point.
En faite, j'aimerais que les visiteurs "ENREGISTRE" donc, ils voient ma liste des membres connecté mais, car, il y à un mais, j'aimerais que les membres puissent directement cliquer sur le pseudo du membre connecté pour tomber sur le profil du membre choisi.
Voici ma ligne de code qui affiche les pseudo connecté :
echo $dn2['username'];
Si vous avez une idée, je suis preneur merci bien par avance.
A voir également:
- Liste des connectés
- Liste déroulante excel - Guide
- Liste des appareils connectés - Guide
- Voir les appareils connectés facebook - Guide
- Liste déroulante en cascade - Guide
- Liste code ascii - Guide
4 réponses
je ne sais pas comment est ton code, il est difficile de répondre . . .
tu fais une boucle pour afficher les membres connectés normalement.
Donc dans ton select tu prend l' id aussi que tu mets en lien sur le pseudo.
Exemple :
<a href="Ta page membre?id=<?php echo $data['id']; ?>"> <?php echo $data['pseudo']; ?> </a>
mais bon je ne sais pas comment est charger ta page membre .
tu fais une boucle pour afficher les membres connectés normalement.
Donc dans ton select tu prend l' id aussi que tu mets en lien sur le pseudo.
Exemple :
<a href="Ta page membre?id=<?php echo $data['id']; ?>"> <?php echo $data['pseudo']; ?> </a>
mais bon je ne sais pas comment est charger ta page membre .
ok si je comprend bien tu a que la liste et pas la page de chaque utilisateurs
Donc pour faire une page propre a chaque utilisateurs tu a besoin de charger l' id dans le liens de ta page.
exemple : http//tonsite/profil.php?id=10
Sur cette page tu fais une requete sql avec get pour charger tout le contenu de l' utilisateur.
Pour lancer cette page tu mets un lien sur chaque nom d' utilisateur de ta liste.
Pour l' ip utilise cette fonction php $_SERVER["REMOTE_ADDR"]
Donc pour faire une page propre a chaque utilisateurs tu a besoin de charger l' id dans le liens de ta page.
exemple : http//tonsite/profil.php?id=10
Sur cette page tu fais une requete sql avec get pour charger tout le contenu de l' utilisateur.
Pour lancer cette page tu mets un lien sur chaque nom d' utilisateur de ta liste.
Pour l' ip utilise cette fonction php $_SERVER["REMOTE_ADDR"]
Merci beaucoup pour ton aide.
J'aurais encore un petit trucs à demander.
J'aimerais que le mot de passe des membres soit haché dans ma base de donnée.
- Aurais-tu un code d'exemple pour m'aider ?
- Et par la suite que s'il perd sont mot de passe, il puisse récuperer sont mot de passe par mail.
Merci pour le temps que tu m'accorde.
J'aurais encore un petit trucs à demander.
J'aimerais que le mot de passe des membres soit haché dans ma base de donnée.
- Aurais-tu un code d'exemple pour m'aider ?
- Et par la suite que s'il perd sont mot de passe, il puisse récuperer sont mot de passe par mail.
Merci pour le temps que tu m'accorde.
https://www.php.net/manual/fr/function.md5.php
https://www.php.net/manual/fr/function.hash.php
s'il perd son mdp, il vaut mieux lui envoyer un nouveau par mail.
Le principe du chiffre est qu'on ne peux pas le déchiffrer.
https://www.php.net/manual/fr/function.hash.php
s'il perd son mdp, il vaut mieux lui envoyer un nouveau par mail.
Le principe du chiffre est qu'on ne peux pas le déchiffrer.
oui ça, je le sais mais quand j'utilise cette fonction, j'ai fais le test avec mon propre compte, quand j'utilise cette fonction md5() ou hash() bin sa hash bien mon mot de pass dans ma base mais quand je veux me connecter sa me met que la combinaison mdp et pseudo est fausse.
Tu aurais pas une solution ?
Tu aurais pas une solution ?
alors pour le mot de passe tu a la fonction md5
a mettre juste avant l' insertion dans la bdd
exemple :
$password = isset($_POST['password']) ? trim(md5($_POST['password'])) : '';
Pour le login ne pas oublier de mettre md5
exemple : md5($password)
Pour le mot de passe regarde du coté de l' envoi de mail avec php ;)
Par contre comme tu vas utilisé md5 tu es obliger de recré un mot de passe je pense ;)
a mettre juste avant l' insertion dans la bdd
exemple :
$password = isset($_POST['password']) ? trim(md5($_POST['password'])) : '';
Pour le login ne pas oublier de mettre md5
exemple : md5($password)
Pour le mot de passe regarde du coté de l' envoi de mail avec php ;)
Par contre comme tu vas utilisé md5 tu es obliger de recré un mot de passe je pense ;)
Petit code pour faire un mot de passe aléatoire :
function chaine_aleatoire($nb_car, $chaine = 'azertyuiopqsdfghjklmwxcvbn123456789')
{
$nb_lettres = strlen($chaine) - 1;
$generation = '';
for($i=0; $i < $nb_car; $i++)
{
$pos = mt_rand(0, $nb_lettres);
$car = $chaine[$pos];
$generation .= $car;
}
return $generation;
}
$pw = chaine_aleatoire(8);
function chaine_aleatoire($nb_car, $chaine = 'azertyuiopqsdfghjklmwxcvbn123456789')
{
$nb_lettres = strlen($chaine) - 1;
$generation = '';
for($i=0; $i < $nb_car; $i++)
{
$pos = mt_rand(0, $nb_lettres);
$car = $chaine[$pos];
$generation .= $car;
}
return $generation;
}
$pw = chaine_aleatoire(8);
pour le mail :
$headers ='From: "nom"<adresse@fai.fr>'."\n";
$headers .='Content-Type: text/html; charset="iso-8859-1"'."\n";
$headers .='Content-Transfer-Encoding: 8bit';
$message ='<html><head><title>Demande de nouveau mot de passe</title></head><body>Votre nouveau mot de passe est : </body></html>';
if(mail('" . $email . "', 'Sujet', $message, $headers))
{
echo 'Le message a été envoyé';
}
else
{
echo 'Le message n\'a pu être envoyé';
}
$headers ='From: "nom"<adresse@fai.fr>'."\n";
$headers .='Content-Type: text/html; charset="iso-8859-1"'."\n";
$headers .='Content-Transfer-Encoding: 8bit';
$message ='<html><head><title>Demande de nouveau mot de passe</title></head><body>Votre nouveau mot de passe est : </body></html>';
if(mail('" . $email . "', 'Sujet', $message, $headers))
{
echo 'Le message a été envoyé';
}
else
{
echo 'Le message n\'a pu être envoyé';
}
Tout d'abord merci pour ton aide.
Par contre le : md5($passeword) je le met ou dans ma page car, il me met toujours combinaison invalide.
Et pour les 2 codes suivant pour la génération aléatoire de mdp et l'envoie du mail, je les met l'un en dessous de l'autre ou faut que je créé une autre page ?
Désolé j'ai jamais fais de renvoye aléatoire de mot de passe
Par contre le : md5($passeword) je le met ou dans ma page car, il me met toujours combinaison invalide.
Et pour les 2 codes suivant pour la génération aléatoire de mdp et l'envoie du mail, je les met l'un en dessous de l'autre ou faut que je créé une autre page ?
Désolé j'ai jamais fais de renvoye aléatoire de mot de passe
Je sais pas trop comment est ton code pour le login un exemple :
$username = isset($_POST['username']) ? mysql_real_escape_string($_POST['username']) : '';
$password = isset($_POST['password']) ? mysql_real_escape_string(trim($_POST['password'])) : '';
$result = mysql_query("SELECT * FROM members WHERE username = '" . $username . "' AND password = '" . md5($password) . "'");
if(mysql_num_rows($result) > 0 && md5($password)
header ('Location: tonlien');
}
else {
echo 'Impossible de vous connecter.';
}
$username = isset($_POST['username']) ? mysql_real_escape_string($_POST['username']) : '';
$password = isset($_POST['password']) ? mysql_real_escape_string(trim($_POST['password'])) : '';
$result = mysql_query("SELECT * FROM members WHERE username = '" . $username . "' AND password = '" . md5($password) . "'");
if(mysql_num_rows($result) > 0 && md5($password)
header ('Location: tonlien');
}
else {
echo 'Impossible de vous connecter.';
}
Si c'est ça, voila le code :
<?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>Profil d'un utilisateur</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>
<div class="content">
<?php
//On verifie que lidentifiant de lutilisateur est defini
if(isset($_GET['id']))
{
$id = intval($_GET['id']);
//On verifie que lutilisateur existe
$dn = mysql_query('select username, email, rang, avatar, signup_date from users where id="'.$id.'"');
if(mysql_num_rows($dn)>0)
{
$dnn = mysql_fetch_array($dn);
//On affiche les donnees de lutilisateur
?>
Voici le profil de "<?php echo htmlentities($dnn['username']); ?>" :
<table style="width:500px;">
<tr>
<td><?php
if($dnn['avatar']!='')
{
echo '<img src="'.htmlentities($dnn['avatar'], ENT_QUOTES, 'UTF-8').'" alt="Image Perso" style="max-width:100px;max-height:100px;" />';
}
else
{
echo 'Cet utilisateur n\'a pas d\'image perso.';
}
?></td>
<td class="left"><h1><?php echo htmlentities($dnn['username'], ENT_QUOTES, 'UTF-8'); ?></h1><br />
Rang : <?php echo htmlentities($dnn['rang'], ENT_QUOTES, 'UTF-8'); ?></br>
Email : confidentielle<br />
Cet utilisateur s'est inscrit le <?php echo date('d/m/Y',$dnn['signup_date']); ?></td>
</tr>
</table>
<?php
//On affiche un lien pour envoyer un mp a lutilisateur
if(isset($_SESSION['username']))
{
?>
<br /><a href="new_pm.php?recip=<?php echo urlencode($dnn['username']); ?>" class="big">Envoyer un MP à "<?php echo htmlentities($dnn['username'], ENT_QUOTES, 'UTF-8'); ?>"</a>
<?php
}
}
else
{
echo 'Cet utilisateur n\'existe pas.';
}
}
else
{
echo 'L\'identifiant de l\'utilisateur n\'est pas défini.';
}
?>
</div>
<div class="foot"><a href="index.php">Retour à l'acceuil</a></div>
</body>
</html>
<td class="left"><a href="profile.php?id=<?php echo $dnn['id']; ?>"><?php echo htmlentities($dnn['username'], ENT_QUOTES, 'UTF-8'); ?></a></td>
et j'appel ma page "user.php" comme ça :
<a href="users.php">voir la liste des utilisateurs</a>.
Si ton site commences à se complexifier tu devrais peut-être y songer.
Déjà utiliser un moteur de template tel smarty pour avoir un minimum de code php mélangé au html.
L'utilité de la poo est que tu crée une classe user avec des méthodes (fonctions) pour la connexion, la déconnexion, l'ajout, l'effacement, le changement de mot de passe, l'affichage des membres connectés ....
L'avantage est que dans ton template tu n'as qu'à créer une instance de la classe user puis appeler les méthodes.
Par exemple quelque chose du genre:
$utilisateur = new user();
$utilisateur->création('paul', '26', 'paris');
$utilisateur->setPassword;
...
c'est vrai que ton site devient plus compliqué à écrire mais ensuite pour la maintenance ou pour ajouter des fonctions ou recréer des pages c'est tout bénef.