Bonjour,

Alors j'ai un petit souci sur mon site que je développe en suivant l'architecture MVC. Je vous explique tout ça :
- Côté base de données, j'ai :
  • une table UTILISATEURS avec les champs suivants : id_user, login, mdp, nom, prenom, email

  • une table DROIT avec : id_user, id_groupe

La table droit me sert, comme son nom l'indique, à donner des droits à un utilisateur selon le groupe.
Maintenant je voudrais pouvoir modifier la table droit depuis mon site et ne plus avoir à modifier directement la DB... Si jamais quelqu'un d'autre est amené à le faire.
C'est pourquoi je me suis lancé dans le développement de ce petit module, j'avais déjà fait quelque chose qui permettait de lister les utilisateurs et de les modifier (donc requêtes sur la table UTILISATEURS). Tout fonctionne pour ça.
Par contre, là où j'ai un problème c'est au niveau de la table DROIT, je n'arrive pas à la modifier correctement. En fait, je n'arrive pas à accéder à l'id_user d'une vue à l'autre.
Voici les codes :
VUE PRINCIPALE
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<a href="<?=HTTP_PATH?>users/group-<?=$aUser['id_user']?>/"><button class="btn btn-default"><i class="icon-pencil"></i>Ajout groupe</button></a>
envoi au CONTROLLER
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
if($_GET['_action_'] == 'group'){
	$aUserGroupe = getAUserGroupe($_GET['_id_']);
	$content_for_layout = 'view/'.$_GET['_page_'].'/'.$_GET['_page_'].'_group_view.php';
	include ('view/layout/global_layout.php');
}
demande une fonction au MODEL
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
function getAUserGroupe($id_user)
{
	$db = new db_mysqli();
	$query = "SELECT id_user,login FROM user JOIN droit USING(id_user) WHERE id_user='".$id_user."'";
	$infos = $db->query($query);
	return $infos[0];
}
Ensuite je vais à la VUE de la modif de groupes
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
<form action="<?=HTTP_PATH?>users/updateGroupe-<?=$aUserGroupe['id_user']?>/" id="form_sample_1" class="form-horizontal" method="post">
 
                  <input type="text" class="span6 m-wrap" name="id_user" value="<?=$aUserGroupe['id_user']?>"/>
 
                  <input type="text" class="span6 m-wrap" name="id_groupe" value=""/>
 
                <button type="submit" class="btn btn-primary">Modifier</button>
          </form>
J'ai enlevé les div, etc... pour plus de lisibilité.
Et donc en fait sur cette vue, je vois bien que dans l'URL de la page l'id_user est pris en compte puisqu'elle ressemble à ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
http://localhost/site/users/group-22/
pour l'utilisateur 22. Mais par contre je n'arrive pas à y accéder dans la vue des groupes, pour attribuer la valeur de l'id_user à l'input correspondant par exemple.
Et ensuite le CONTROLLER fait
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
if($_GET['_action_'] == 'updateGroupe'){
	addGroupe($_POST['id_user'], $_POST['id_groupe']);
	header('location:'.HTTP_PATH."users/");
}
et la fonction dans le MODEL
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
function addGroupe($id_user, $id_groupe){
	$db = new db_mysqli();
	$query = "INSERT INTO droit VALUES ('".$id_user."','".$id_groupe."')";
	$db->query($query);	
}
En gros, dans la vue de modif des groupes, j'aimerais pouvoir afficher la valeur de l'id_user dans un input. Or je n'arrive pas à la récupérer. Par contre si j'entre manuellement les valeurs, c'est bien pris en compte dans la DB. Je n'arrive simplement pas à récupérer cet id...

J'espère avoir été le plus clair possible,

Cordialement,


PS : je fais une connexion à ma db dans chaque fonction juste pour les tests.