Non Résolu

v.2 impossible de changer les rôle

bonjour a tous

je suis debutant en php

ma base de donnée php Myadmin sous MariaDB_10

php 7.4


mon site et en ligne a cette adresse : https://test.mma.hotcloud.fun/

vous pouvez vous connecter en mode super admin avec le pseudo olivier mdp 123


voici le message


bonjours 


je vient de finir les video pour cree un site de A a Z 

et il deux problemes que je trouve pas

le premier l'image part defaut qui ne s'affiche pas 

le deuxiemes le  Changement rôle  

voici l'erreur et pour tous les utilisateurs

"cette utilisateur n'existe plus"

"Olivier11"

merci       

mais il et bien dans la base de donnée.



                                                 



                         

                                            



merci


olivier


je suis vos video 37. Changer le rôle d'un utilisateur .

il y a pas de message erreur sur le site

voici le code niveau.php

pouvez vous me dire quelle


<?php
    require_once('../include.php');

  if(!in_array($_SESSION['role'], [1, 2])){
    header('Location: /');
    exit;
  }

  $req = $DB->prepare("SELECT u.*, ar.libelle
    FROM utilisateur u
    LEFT JOIN admin_role ar ON ar.role = u.role
    WHERE u.id <> ?");


  $req->execute([$_SESSION['id']]);

  $req_list_user = $req->fetchAll();

  $req = $DB->prepare("SELECT *
      FROM admin_role");

  $req->execute();

  $req_list_role = $req->fetchAll();

  $tab_list_role = [];

  foreach($req_list_role as $r){
    array_push($tab_list_role, [$r['role'], $r['libelle']]);
  }

  if(!empty($_POST)){
    extract($_POST);

    $valid = true;
    
    if(isset($_POST['changementrole'])){
      $id_user = (int) $id_user;
      $role = (int) $role;

      $req = $DB->prepare("SELECT *
        FROM utilisateur
        WHERE id = ?");
    
      $req->execute([$id_user]);
    
      $verif_user = $req->fetch();

      if(!$verif_user){
        $valid = false;
        $err_role = "cet utilisateur n'existe plus";
      }else{

        $req = $DB->prepare("SELECT *
          FROM admin_role
          WHERE role = ?");
      
        $req->execute([$role]);
      
        $verif_role = $req->fetch();

        if(!$verif_role){
          $valid = false;
          $err_role = "ce rôle n'existe pas";
        }
      }  

      if($valid){
        $req = $DB->prepare("UPDATE utilisateur SET role = ? WHERE id = ?");

        $req->execute([$verif_role['role'], $id_user]);

        header('Location /_admin/niveau.php ');
        exit;

      }     
    }
  }



?>
<!doctype html>
<html lang="fr">
    <head>
    <?php     
      require_once('../_head/meta.php');
      require_once('../_head/link.php');
      require_once('../_head/script.php');
    ?>
    <title>Changement rôle</title> 
</head>
  <body>
    <?php
      require_once('../_menu/menu.php');
    ?>  
    <div class="container">
      <div class="row">
        <div class="col-12">
          <div>Changement rôle</div>
          <div>
            <?php
              foreach($req_list_user as $r){
            ?>
            <form method="post">
              <div>            
                <div><?= $r['pseudo']?></div>             
                <select name="role">
                  <option value="<?= $r['role']?>"><?= $r['libelle']?></option>
                  <?php
                    foreach($tab_list_role as $tr){
                  ?>
                  <option value="<?= $tr['0']?>"><?= $tr['1']?></option>
                  <?php
                    }  
                  ?>
                </select>
                <imput type="hidden" name="id_user" value="<?= $r['id'] ?>"/>
                <button type="submit" name="changementrole">Modifier</button>                
              </div>                
            </form>
            <br>             
            <?php
              }
            ?>                         
          </div>
        </div>
      </div>
    </div>
    <?php
    require_once('../_footer/footer.php');                          
    ?>
  </body>
</html>

accueil.php

<?php
  require_once('../include.php');

if(!in_array($_SESSION['role'], [1, 2])){
  header('Location: /');
  exit;
}
?>
<!doctype html>
<html lang="fr">
    <head>
    <?php     
      require_once('../_head/meta.php');
      require_once('../_head/link.php');
      require_once('../_head/script.php');
    ?>
    <title>Dashbord</title> 
</head>
  <body>
    <?php
      require_once('../_menu/menu.php');
    ?>  
    <div class="container">
      <div class="row">
        <div class="col-12">
          <div>mon espace d'admin</div>
          <div>
            <a href="_admin/niveau.php">Modifier le rôle d'un utilisateur'</a>
          </div>
        </div>
      </div>
    </div>
    <?php
    require_once('../_footer/footer.php');                          
    ?>
  </body>
</html>
188 vues
09 Décembre 2022 à 16:10 (Édité)
Cette pub permet au site de vivre ...

5 commentaires

Bonjour @olivier,


Sans retour de ta part, je ferme ce topic !


Agréable soirée 😉

Hello @olivier,


Peux-tu m'indiquer quel(s) tutoriel(s) as-tu suivi pour réaliser cela ?

Par ailleurs, PHP a sorti une nouvelle version, à l'heure actuelle c'est la 8.2, je te conseille d'utiliser la dernière version, ça t'évitera de faire la migration par la suite

Bonsoir

je suis sur un server local synology 1517+ et je developpe sur mon pc avec un mon de domaine sur ovh


mon site et en ligne a cette adresse : https://test.mma.hotcloud.fun/

vous pouvez vous connecter en mode super admin avec le pseudo olivier mdp 123


merci

olivier

Salut @olivier ,


Première question avant d'aller plus loin.


Est-ce que tu développes bien ton site en local sur ton PC ? (localhost)


Cette pub permet au site de vivre ...