ajout de la gestion des clients

This commit is contained in:
jeremy
2024-10-30 21:46:05 +01:00
parent 2b3976481a
commit 546a5549e9
3 changed files with 107 additions and 0 deletions

96
client_management.php Normal file
View File

@ -0,0 +1,96 @@
<?php
session_start();
require 'db_con.php'; // Inclure la connexion à la base de données
// Vérifiez si l'utilisateur est connecté
if (!isset($_SESSION['user_id'])) {
header("Location: index.php");
exit;
}
// Vérifiez le rôle de l'utilisateur
$role = $_SESSION['role'];
if ($role !== 'admin' && $role !== 'chef') {
header("Location: main.php");
exit;
}
// Ajouter un client
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['add_client'])) {
$client_name = $_POST['client_name'];
$client_code = strtoupper($_POST['client_code']); // Assurer que le code client est en majuscules
$stmt = $pdo->prepare("INSERT INTO clients (name, client_code) VALUES (:name, :client_code)");
$stmt->execute(['name' => $client_name, 'client_code' => $client_code]);
}
// Modifier un client
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['edit_client'])) {
$client_id = $_POST['client_id'];
$client_name = $_POST['client_name'];
$client_code = strtoupper($_POST['client_code']);
$stmt = $pdo->prepare("UPDATE clients SET name = :name, client_code = :client_code WHERE id = :id");
$stmt->execute(['name' => $client_name, 'client_code' => $client_code, 'id' => $client_id]);
}
// Supprimer un client
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['delete_client'])) {
$client_id = $_POST['client_id'];
$stmt = $pdo->prepare("DELETE FROM clients WHERE id = :id");
$stmt->execute(['id' => $client_id]);
}
// Récupérer tous les clients
$stmt = $pdo->query("SELECT * FROM clients");
$clients = $stmt->fetchAll();
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Manage Clients</title>
</head>
<body>
<h1>Manage Clients</h1>
<!-- Formulaire pour ajouter un client -->
<h2>Add Client</h2>
<form method="POST">
<input type="text" name="client_name" required placeholder="Client Name">
<input type="text" name="client_code" required placeholder="Client Code (3 chars)">
<button type="submit" name="add_client">Add</button>
</form>
<h2>Existing Clients</h2>
<table>
<tr>
<th>ID</th>
<th>Name</th>
<th>Client Code</th>
<th>Actions</th>
</tr>
<?php foreach ($clients as $client): ?>
<tr>
<td><?php echo htmlspecialchars($client['id']); ?></td>
<td><?php echo htmlspecialchars($client['name']); ?></td>
<td><?php echo htmlspecialchars($client['client_code']); ?></td>
<td>
<!-- Formulaire pour modifier un client -->
<form method="POST" style="display:inline;">
<input type="hidden" name="client_id" value="<?php echo $client['id']; ?>">
<input type="text" name="client_name" value="<?php echo htmlspecialchars($client['name']); ?>" required>
<input type="text" name="client_code" value="<?php echo htmlspecialchars($client['client_code']); ?>" required>
<button type="submit" name="edit_client">Edit</button>
</form>
<!-- Formulaire pour supprimer un client -->
<form method="POST" style="display:inline;">
<input type="hidden" name="client_id" value="<?php echo $client['id']; ?>">
<button type="submit" name="delete_client" onclick="return confirm('Are you sure you want to delete this client?');">Delete</button>
</form>
</td>
</tr>
<?php endforeach; ?>
</table>
</body>
</html>

10
db.sql
View File

@ -44,3 +44,13 @@ CREATE TABLE language (
); );
INSERT INTO language (name) VALUES ('bash'); INSERT INTO language (name) VALUES ('bash');
CREATE TABLE clients (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
client_code CHAR(3) NOT NULL UNIQUE CHECK (client_code REGEXP '^[A-Z0-9]{3}$'),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
INSERT INTO clients (name, client_code) VALUES ('Example Client', 'ABC');

View File

@ -28,6 +28,7 @@ $role = $_SESSION['role'];
<?php if ($role === 'admin' || $role === 'chef'): ?> <?php if ($role === 'admin' || $role === 'chef'): ?>
<a href="os_management.php">Gérer les systèmes d'exploitation</a> <a href="os_management.php">Gérer les systèmes d'exploitation</a>
<a href="language_management.php">Manage Programming Languages</a> <a href="language_management.php">Manage Programming Languages</a>
<a href="client_management.php">Manage Clients</a>
<?php endif; ?> <?php endif; ?>
<?php if ($role === 'admin'): ?> <?php if ($role === 'admin'): ?>