POO : Afficher le profil d'un membre
Posté : 25 janv. 2017, 18:06
Salut à tous !
J'utilise ce code ci-dessous pour afficher le profil du membre et les infos du membre connecté :
Le haut de ma page profil.php :
Ça me paraît trop brouillon, et pas de la bonne façon.
Voila la classe MemberLoad, classe qui me permet de faire les requêtes SQL. (Récupérer, ajouter ou modifier les infos)
Comment faire pour simplifier le haut de ma page profil.php ?
Je suis débutant, vous pouvez m'expliquer ?
Merci
J'utilise ce code ci-dessous pour afficher le profil du membre et les infos du membre connecté :
Le haut de ma page profil.php :
Code : Tout sélectionner
<?php
require '../../inc/bootstrap.inc.php'; // Autoloader.
App::getAuth()->restrict(); // Page restreinte.
$db = App::getDatabase(); // Base de donnée.
$member = new Member($_SESSION['auth']); // Instance de la classe Member pour le membre en cours de session. Ma classe Member utilise juste des getters et setters, et ne pose pas de problème, elle caractérise juste mon membre.
$profil = new MemberLoad($db); // Instance de la classe MemberLoad (ci-dessous) qui va appeler la fonction getUser pour récupérer les infos du membre qu'on veut visiter.
$data = $profil->getUser($_GET['username']); // La fonction en question.
$donnees = new MemberLoad($db); // Instance de la classe MemberLoad pour récupérer l'avatar du membre en cours.
if(empty($data->username)){ // Si le membre n'existe pas on redirige vers 404.
App::redirect('/404.php');
}
?>
<html>
<?php echo ucfirst($data->surname).' '.ucfirst($data->name); ?> // Affiche le prénom et le nom du membre passé en GET
</html>Voila la classe MemberLoad, classe qui me permet de faire les requêtes SQL. (Récupérer, ajouter ou modifier les infos)
Code : Tout sélectionner
<?php
class MemberLoad{
protected $db;
public function __construct($db){
$this->db = $db;
}
public function getUser(string $username){ // Fonction qui récupère les infos du membre selon le pseudo du membre passé en $_GET.
$user = $this->db->query('SELECT * FROM users WHERE username = :username',
['username' => $username])->fetch(); // On récupère toujours sous forme d'objets (Paramètre dans la classe App).
return $user;
}
public function getAvatar($id){ // Fonction qui récupère l'avatar du membre selon l'id du membre en cours.
$req = $this->db->query('SELECT * FROM users_avatars WHERE avatar_userid = :avatar_userid',
['avatar_userid' => $id])->fetch();
return $req->avatar_url;
}
}Je suis débutant, vous pouvez m'expliquer ?
Merci