Bonjour,
Je suis alternant développeur en BTS SIO SLAM 2e année et suis en charge des applications utilisées sur l'intranet.
Je rencontre un problème avec une application qui permet aux utilisateurs d'effectuer des demandes de couchages suivants des dates données ainsi que des demandes diverses concernant des changements d'horaires ou autre. L'application a été développé par un précédent alternant limitant la documentation technique.
Les infos utilisateurs sont stockées dans une base de donnée et les applis sont hébergés un serveur Ubuntu 20.04, apache2 noyau linux 5.4.
J'ai une page qui regroupe (liste) tous les utilisateurs.
Il y a 3 niveaux dans l'appli :
- ADC (user lambda)
- GM (peut gérer les ADC faisant partie de son affectation, un ADMIN avec moins de portée)
- ADMIN(gère tous les users tant dans leurs infos, leurs affectation, suppression etc ...)
Sur cette même page se trouve un bouton menant à un formulaire permettant à l'ADMIN et GM d'ajouter des utilisateurs selon plusieurs critères (cp ,nom, prenom, affectation, cp_dpx et autre). //cp_dpx = cp_GM ou ADMIN en charge de cet agent.
Lorsque le formulaire est validé un mdp est généré.
Il m'est simplement impossible d'ajouter un utilisateur.
Donc lorsque je valide le formulaire, le mdp est bien généré dans une pop-up. De base c'est un mdp aléatoire que l'utilisateur doit changer lors de sa première connexion.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 case 'ajouter': // Si est le formulaire d'ajout est envoyé if (isset($_POST['form_submit'])) { //Instanciation d'un objet de la classe Utilisateur $nouvel_utilisateur = new Utilisateur(); // On génère le mot de passe $mot_de_passe = genererMDP(8); //Renseignement de certaines propriétés list($_POST['mot_de_passe'], $_POST['notification_dpx']) = array(sha1($mot_de_passe), 0); //On sérialise l'objet à partir du tableau _POST $nouvel_utilisateur->serialise($_POST); //On ajoute l'utilisateur $nouvel_utilisateur->ajouter(); $_SESSION['SHOW_MESSAGE'] = array('type' => 'success', 'message' => 'L\'utilisateur à été ajouté avec succès. (mdp = '.$mot_de_passe.').');
Lorsque je regarde les logs du serveurs (via putty):
sudo tail /var/log/apache2/error.log -n 40
De ce fait je suis allé voir les lignes correspondante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Invalid argument supplied for foreach() in /var/www/caddi/views/admin/v_ajouter_un_utilisateur.php on line 58, referer: http://******/caddi/index.php?tab=gestion%20des%20utilisateurs&action=ajouter Undefined variable: liste_affectations in /var/www/caddi/views/admin/v_ajouter_un_utilisateur.php on line 58, referer: http://*****/caddi/index.php?tab=gestion%20des%20utilisateurs&action=ajouter Invalid argument supplied for foreach() in /var/www/caddi/views/admin/v_modifier_un_utilisateur.php on line 63, referer: http://****/caddi/index.php?tab=gestion%20des%20utilisateurs&action=modifier&id=8704597U
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 v_ajouter_un_utilisateur.php <?php foreach ($liste_affectations as $key => $value) : ?> // ligne 58 <option value="<?php echo $value['id_affectation']; ?>"><?php echo $value['uo'].' - '.$value['residence']; ?></option> <?php endforeach; ?>L'admin et le GM ne peuvent également pas modifier le cp d'un utilisateur (donc son id qui lui est donnée à son embauche) mais toutes les autres infos (nom, prénom, cp_dpx) => 0 problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 v_modifier_utilisateur.php <?php foreach ($liste_affectations as $key => $value) : ?> //ligne 63 <?php if ($utilisateur->getId_affectation() == $value['id_affectation']) : ?> <option value="<?php echo $value['id_affectation']; ?>" selected ><?php echo $value['uo'].' - '.$value['residence']; ?> </option> <?php else : ?> <option value="<?php echo $value['id_affectation']; ?>"><?php echo $value['uo'].' - '.$value['residence']; ?></option> <?php endif; ?> <?php endforeach; ?>
Voici la fonction pour ajouter un Utilisateur :
Personnellement je ne vois rien de choquant qui me pousserait à effectuer des changements.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 //Méthode pour ajouter une entrée à la table utilisateur public function ajouter() { $BDD = new Memory(); return $BDD->insert('utilisateur', utf8_desarray($this->unserialise())); }
Lorsque j'effectue des recherches sur les possibles causes de ce dysfonctionnement, je tombe sur des problèmes lié au proxy ... Je n'y crois pas.
Partager