1 pièce(s) jointe(s)
Fonctionnalités appli non fonctionnelles php
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.
Code:
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.').'); |
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.
Lorsque je regarde les logs du serveurs (via putty):
sudo tail /var/log/apache2/error.log -n 40
Code:
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 |
De ce fait je suis allé voir les lignes correspondante :
Code:
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; ?> |
Code:
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; ?> |
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.
Voici la fonction pour ajouter un Utilisateur :
Code:
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()));
} |
Personnellement je ne vois rien de choquant qui me pousserait à effectuer des changements.
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.