PHP

Supprimer un utilisateur en tant qu'administrateur

Résolu

Bonjour,


Je souhaiterai créer une page ou il y aurait la liste de mes utilisateurs et ou je pourrai les supprimés


J'ai essayé d'obenir la liste des utilisateurs en faisant comme ça :


users.php


<?php
error_reporting(0);
?>

<?php
include('config.php');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <link href="<?php echo $design; ?>/style.css" rel="stylesheet" title="Style" />
        <link rel="shortcut icon" type="image/x-icon" href="default/favicon.ico" />
        <title>Liste des utilisateurs</title>
    </head>
    <body>
        <div class="header">
            <a href="<?php echo $url_home; ?>"><img src="<?php echo $design; ?>/images/logo.png" alt="Espace Membre" /></a>
        </div>
        <div class="content">
<span style="color: white;">Voici la liste des utilisateurs:</span>
<table>
    <tr>
        <th>Id</th>
        <th>Nom d'utilisateur</th>
        <th>Email</th>
    </tr>
<?php
//On recupere les identifiants, les pseudos et les emails des utilisateurs
$req = mysql_query('select id, username, email from users');
while($dnn = mysql_fetch_array($req))
{
?>
    <tr>
        <td class="left"><?php echo $dnn['id']; ?></td>
        <td class="left"><a href="profile.php?id=<?php echo $dnn['id']; ?>"><strong><span style="color: red;"><?php echo htmlentities($dnn['username'], ENT_QUOTES, 'UTF-8'); ?></span></strong></td>
        <td class="left"><?php echo htmlentities($dnn['email'], ENT_QUOTES, 'UTF-8'); ?></td>
    </tr>
<?php
}
?>
</table>
        </div>
    </body>
</html>


Du cout, les utilisateurs s'affichent, mais juste à coter de l'utilisateur, je souhaiterai qu'il y est un bouton supprimer


Par contre il n'y aurait que les utilisateurs ayant pour rôle admin qui pourrait supprimer les utilisateurs


<?php
if(isset($_SESSION['username']) and $_SESSION['role']==$admin)
{
?>
<?php
}
?>



Base de donnée


Voici ma table - users


users.sql


CREATE TABLE IF NOT EXISTS `users` (
 `id` bigint(20) NOT NULL,
 `nom` varchar(100) NOT NULL,
 `prenom` varchar(100) NOT NULL,
 `username` varchar(255) NOT NULL,
 `numero_client` varchar(100) NOT NULL,
 `role` varchar(100) NOT NULL,
 `abonnement` varchar(100) NOT NULL,
 `etat_compte` varchar(100) NOT NULL,
 `password` varchar(255) NOT NULL,
 `email` varchar(255) NOT NULL,
 `avatar` text NOT NULL,
 `signup_date` int(10) NOT NULL,
 PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;


Je vous remercie😀

1144 vues
16 avril 2020 à 18:05 (Édité)
Cette pub permet au site de vivre ...

14 commentaires

@CrafterHide

Voici mon fichier config.php


config.php



<?php
//On demarre les sessions
session_start();

/******************************************************
----------------Configuration Obligatoire--------------
Veuillez modifier les variables ci-dessous pour que l'
espace membre puisse fonctionner correctement.
******************************************************/

//On se connecte a la base de donnee
$link = @mysql_connect('', '', '');
mysql_select_db('');

//Email du webmaster (admin)
$mail_webmaster = '';

//Adresse du dossier racine
$url_root = '';

/******************************************************
----------------Configuration Optionelle---------------
******************************************************/

//Nom du fichier de laccueil
$url_home = 'index.php';

//Nom du design
$design = 'default';
?>

@Nico19, montre ton config.php sans ip ni mdp je peux peux être modif un truc par rapport a ca

Bonjour @CrafterHide,

Ça ne marche pas écran blanc, voila les modifications


<?php
error_reporting(0);
?>

<?php

 

// Tu met ta condition pour voir si la personne à le rôle "admin"

if(isset($_GET['delete']) AND !empty($_GET['delete'])){

  $id = $_GET['delete'];
  $requete = $BDD->prepare('DELETE FROM users WHERE id = ?');
  $requete->execute(array($id));
}
?>
<?php
include('config.php');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <link href="<?php echo $design; ?>/style.css" rel="stylesheet" title="Style" />
        <link rel="shortcut icon" type="image/x-icon" href="default/favicon.ico" />
        <title>Liste des utilisateurs</title>
    </head>
    <body>
        <div class="header">
            <a href="<?php echo $url_home; ?>"><img src="<?php echo $design; ?>/images/logo.png" alt="Espace Membre" /></a>
        </div>
        <div class="content">
<span style="color: white;">Voici la liste des utilisateurs:</span>
<table>
    <tr>
        <th>Id</th>
        <th>Nom d'utilisateur</th>
        <th>Email</th>
        <th>Action</th>
    </tr>
<?php
//On recupere les identifiants, les pseudos et les emails des utilisateurs
$req = mysql_query('select id, username, email from users');
while($dnn = mysql_fetch_array($req))
{
?>
    <tr>
        <td class="left"><?php echo $dnn['id']; ?></td>
        <td class="left"><a href="profile.php?id=<?php echo $dnn['id']; ?>"><strong><span style="color: red;"><?php echo htmlentities($dnn['username'], ENT_QUOTES, 'UTF-8'); ?></span></strong></td>
        <td class="left"><?php echo htmlentities($dnn['email'], ENT_QUOTES, 'UTF-8'); ?></td>
        <td><a href="users.php?delete=<?php echo $dnn['id']; ?>"><img src="<?php echo $design; ?>/images/delete.png" alt="Delete" /></a></td>
    </tr>
<?php
}
?>
</table>
        </div>
    </body>
</html>


😅

Hey @Nico19,


Déjà, ta page tu fais ta boucle pour montrer tes utilisateurs, ensuite tu fais un lien ( dans ta boucle ) qui mene vers ta_page.php?delete=<?= $variable_de_la_boucle['id'] ?>, ensuite tu met en début de page :


<?php

// Tu met ta condition pour voir si la personne à le rôle "admin"

if(isset($_GET['delete']) AND !empty($_GET['delete'])){
  $id = $_GET['delete'];
  $requete = $BDD->prepare('DELETE FROM users WHERE id = ?');
  $requete->execute(array($id));
}

?>
Cette pub permet au site de vivre ...
1
2