Espace membre PHP plusieurs niveau

Résolu
Bonjour
Je souhaiterai organiser plusieurs type de membres sur mon site, pouvez-vous s'ils vous plait me guider un peu, je ne sais pas par quoi commencer j'ai bien fait quelque truc mais sans résultat.
Parmi vous beaucoup de personnes très qualifié, mais aussi très dévoué aux autres, je vous remercie.
Ce que j'ai fait dans ma BDD
Mes tables
<gras>tb_adherent</gras>
id   nom   pseudo   password
1   paul    123        aze
2   pierre   456       rty
<gras>tb_gestion</gras>
id   nom_gestion
1    membre
2    sortie
3    formation
<gras>Adherent_gestion</gras>
cette table c'est la relation des 2 autres
rid_adherent   rid_gestion
1                      1
1                      2
2                      3

En ce qui concerne les Inscriptions, les Connexions ainsi chaque membre peut modifier son profil tout cela est fonctionnel.

Alors je souhaiterai que le membre identifié aura accès à un lien ou plusieurs comme dans l'exemple de mes tables ci-dessus.

Voilà ce que j'imagine un truc du genre
<?php
$GestionMembre = '';
$GestionSortie = '';
$GestionFormation = '';

	if($_SESSION['nom_gestion']=='Gestion Membre')
   {
?>
   <div>
	  <ul>
		 <li> - <a href="./index.php?body=gestion_membre&type=compte">Gestion des Membres</a></li>    
	  </ul>
   </div>
<?php
   }
	if($_SESSION['nom_gestion']=='Gestion Sortie')
   {
?>
   <div>
	  <ul>
		 <li> - <a href="./index.php?body=gestion_sortie&type=compte">Gestion des Sorties</a></li> 
      </ul>
   </div>
<?php
   }
	if($_SESSION['nom_gestion']=='Gestion Formation')
   {
?>
   <div>
	  <ul>
		 <li> - <a href="./index.php?body=gestion_formation&type=compte">Gestion des Formations</a></li>    
	  </ul>
   </div>
<?php
   }
if (isset($_SESSION['nom_gestion']) && $_SESSION['nom_gestion'] == 'Gestion Membre'){ $GestionMembre ='<span class="StyleClickSousProfil">Gestion des Membres</span>'; }
if (isset($_SESSION['nom_gestion']) && $_SESSION['nom_gestion'] == 'Gestion Sortie'){ $GestionSortie ='<span class="StyleClickSousProfil">Gestion des Sorties</span>'; }
if (isset($_SESSION['nom_gestion']) && $_SESSION['nom_gestion'] == 'Gestion Formation'){ $GestionFormation ='<span class="StyleClickSousProfil">Gestion des Formations</span>'; }
?>


Je vous donne également ma méthode Session ainsi que ma Connexion
	private function Session() {
		$sql = "SELECT * FROM tb_adherent WHERE pseudo = :pseudo";
		$requete = $this->bdd->prepare($sql);
		$requete->execute(array('pseudo' => $this->pseudo));
		$result = $requete->fetch();
		$_SESSION['id_adherent'] = $result['id_adherent'];
		$_SESSION['prenom'] = $result['prenom'];
		$_SESSION['pseudo'] = $this->pseudo;
	}

<?php
if(isset($_POST['pseudo']) && isset($_POST['password'])) {
    
	$pseudo   	= isset($_POST['pseudo']) ? Security::clean($_POST['pseudo']) : '';
	$password	= isset($_POST['password']) ? Security::clean($_POST['password']) : '';
	$actif		= isset($_POST['actif']) ? $_POST['actif'] : '';

	$connexion = new Connexion_class($pseudo, $password, $actif);
	$verif = $connexion->VerifConnexion();
	    
	if($verif == 'success') {
		
		if(isset($_POST['remember'])) {
			$value = Security::crypt($pseudo) . '_' . Security::crypt($password);
			setcookie('cliquedecruet', $value, time() + 3600 * 24 * 365, null, null, false, true);
		}
		
		header('Location: index.php?body=compte_profil&type=compte');
	
	} else {
		$erreur[] = $verif;
	}
}
if (isset($erreur)) {
	echo output_errors($erreur);
}
?>

4 réponses

  1. Il est un peu long d'analyser tout ton code, d'autant que tu fais appels à des classes non natives de php il me semble, donc il faudrait connaitre le contexte technique de ton application. De plus ce sera assez long à expliquer, et donc pas vraiment sa place ici.

    Par contre, je pense que tu aurais beaucoup à gagner à suivre ce tutoriel :
    http://openclassrooms.com/courses/creer-un-espace-membre-pour-son-site

    Ce tutoriel n'est pas de première fraîcheur mais au moins il explique l'algo d'un espace membre.

    Cordialement.
    1. Bonjour
      Excuse moi juste avoir une explication concernant ton post à savoir
      "tu fais appels à des classes non natives de php"
      Que faut-il comprendre s'il te plait.
      Merci
    2. un exemple :
      cette ligne ?
      $value = Security::crypt($pseudo) . '_' . Security::crypt($password);

      Security::crypt, on suppose bien ce que ça fait, mais ce n'est pas natif de php, c'est soit toi qui l'a écrit quelque part, soit cela vient d'un framework.
  2. Bonjour
    Merci pour ce tutos.
    Concernant mon script ci-dessous, il me reste à afficher lorsque 1 membre à plusieurs gestion.
    Par exemple si 1 membre a 1 gestion le lien s'affiche bien mais lorsque le membre a plusieurs gestion seul la première gestion de ma table s'affiche.
    Voyez vous mon problème et pouvez-vous m'aider s'ils vous plait.
    Je vous remercie
    <?php
    if (isset($_SESSION['nom_gestion']) && $_SESSION['nom_gestion'] == 'Gestion Membre') {
    echo '<a href="./index.php?body=menu_gestion&type=admin">Membre</a>';
    }
    
    if (isset($_SESSION['nom_gestion']) && $_SESSION['nom_gestion'] == 'Gestion Sortie') {
    echo '<a href="./index.php?body=menu_gestion&type=admin">Sondage</a>';
    }
    
    if (isset($_SESSION['nom_gestion']) && $_SESSION['nom_gestion'] == 'Gestion Formation') {
    echo '<a href="./index.php?body=menu_gestion&type=admin">Sortie</a>';
    }
    
     if (isset($_SESSION['nom_gestion']) && $_SESSION['nom_gestion'] == 'Gestion Sondage') {
    echo '<a href="./index.php?body=menu_gestion&type=admin">Photo</a>';
    }
    ?>
    
    1. Je ne comprends pas ce que tu veux faire, chaque lien renvoi sur la même page inutile d'avoir des if else .. suffit d'écho le lien (voir même de faire un header(location:...) et après en fonction de la valeur de nom_gestion tu affiches ce qu'il faut.
  3. Bonjour

    Excusez moi juste pour être sur que mes explications sont le mieux claires possibles..
    Je souhaiterai créé plusieurs niveau de membres ainsi chaque membre puisse avoir accès à des liens qui lui sont dédié.
    Si vous avez des tutos qui correspondent je vous remercie, car je n'arrive pas à trouver des exemples afin que je puisse les adapter pour mon site.
    Merci vraiment
    1. Bonjour
      J'ai réussi à faire ce que je voulais concernant plusieurs niveau de membres.

      Cordialement