Ajout du véhicule terminé
+
Le véhicule ' . stripslashes(htmlspecialchars($_POST['plaque'])) . ' a été ajouté au véhicule de la compagnie
+
diff --git a/config/connexion_sql.php b/config/connexion_sql.php new file mode 100644 index 0000000..51ce3d2 --- /dev/null +++ b/config/connexion_sql.php @@ -0,0 +1,44 @@ + "SET NAMES utf8")); +} +catch(Exception $e) +{ + die('Erreur : '.$e->getMessage()); +} +# Constantes +define('VISITEUR',1); +define('INSCRIT',2); +define('MODO',3); +define('ADMIN',4); +define('ERR_IS_CO','Vous ne pouvez pas accéder à cette page si vous n\'êtes pas connecté'); +session_start(); +# Connexion et initialisation des variables +$lvl_session = isset($_SESSION['privilege_session']) ? (int)$_SESSION['privilege_session'] : 1; +$id_session = isset($_SESSION['id_session']) ? (int)$_SESSION['id_session'] : 0; +$pseudo_session = isset($_SESSION['pseudo_session']) ? $_SESSION['pseudo_session'] : ''; + +function verifierAcces($min_privilege_requis) { + // Vérifier si l'utilisateur est connecté + if (!isset($_SESSION['id_session'])) { + // Afficher la page d'erreur en incluant le fichier de vue + $message = "Vous devez être connecté pour accéder à cette page."; + include 'erreur.php'; + exit(); // Arrêter l'exécution du script après affichage de l'erreur + } + + // Vérifier le privilège de l'utilisateur + $privilege_utilisateur = isset($_SESSION['privilege_session']) ? (int)$_SESSION['privilege_session'] : VISITEUR; + + // Vérifier si le privilège de l'utilisateur est suffisant pour accéder à la page + if ($privilege_utilisateur < $min_privilege_requis) { + // Afficher la page d'erreur en incluant le fichier de vue + $message = "Vous n'avez pas les droits d'accès nécessaires pour accéder à cette page."; + include 'erreur.php'; + exit(); // Arrêter l'exécution du script après affichage de l'erreur + } +} + +?> \ No newline at end of file diff --git a/config/images/CARIA.png b/config/images/CARIA.png new file mode 100644 index 0000000..8ee3386 Binary files /dev/null and b/config/images/CARIA.png differ diff --git a/config/images/Thumbs.db b/config/images/Thumbs.db new file mode 100644 index 0000000..1a0e301 Binary files /dev/null and b/config/images/Thumbs.db differ diff --git a/config/images/bg.jpg b/config/images/bg.jpg new file mode 100644 index 0000000..3109bac Binary files /dev/null and b/config/images/bg.jpg differ diff --git a/config/images/calendrier.png b/config/images/calendrier.png new file mode 100644 index 0000000..0648853 Binary files /dev/null and b/config/images/calendrier.png differ diff --git a/config/images/favicon.png b/config/images/favicon.png new file mode 100644 index 0000000..aa0b0a1 Binary files /dev/null and b/config/images/favicon.png differ diff --git a/config/images/footer.jpg b/config/images/footer.jpg new file mode 100644 index 0000000..54f5249 Binary files /dev/null and b/config/images/footer.jpg differ diff --git a/config/images/gallery_loading.gif b/config/images/gallery_loading.gif new file mode 100644 index 0000000..641a269 Binary files /dev/null and b/config/images/gallery_loading.gif differ diff --git a/config/images/header.jpg b/config/images/header.jpg new file mode 100644 index 0000000..3f71ee9 Binary files /dev/null and b/config/images/header.jpg differ diff --git a/config/images/logo.png b/config/images/logo.png new file mode 100644 index 0000000..2e623d3 Binary files /dev/null and b/config/images/logo.png differ diff --git a/controleur/connexion.php b/controleur/connexion.php new file mode 100644 index 0000000..db54195 --- /dev/null +++ b/controleur/connexion.php @@ -0,0 +1,82 @@ +check_Password($pseudoCo); + + if ($userData && $connexionModel->checkCredentials($pseudoCo, $passwordCo)) { + // Les identifiants sont corrects, connecter l'utilisateur + //require_once './vue/home.html'; + // displaySuccessMessage(); + connectUser($userData); + } else { + // Afficher un message d'erreur en cas de connexion échouée + require './vue/connexion.html'; + displayErrorMessage(); + } +} +// Fonction pour connecter l'utilisateur +function connectUser($userData) { + $_SESSION['pseudo_session'] = $userData['pseudo']; + $_SESSION['privilege_session'] = $userData['privilege']; + $_SESSION['id_session'] = $userData['id']; + // Redirection vers la page principale + header('Location: index.php'); + exit(); +} +// Fonction pour afficher un message d'erreur +function displayErrorMessage() { + echo ''; +} +// Fonction pour afficher un message de succès +function displaySuccessMessage() { + echo ''; +} +?> \ No newline at end of file diff --git a/controleur/gestion.php b/controleur/gestion.php new file mode 100644 index 0000000..4263727 --- /dev/null +++ b/controleur/gestion.php @@ -0,0 +1,64 @@ + + alert("Ajout du véhicule terminé.\n\n Le véhicule ' . addslashes(htmlspecialchars($_POST['plaque'])) . ' a été ajouté au véhicule de la plateforme."); + '; + // Inclure à nouveau le formulaire pour permettre à l'utilisateur de ressaisir des valeurs + post_RegistreCar(); + header("Location: gestion.php"); // Redirigez vers la page appropriée après la suppression + exit(); + } else { + // Affichage des erreurs + $errorMessages = ''; + if ($plaque_erreur1) $errorMessages .= "$plaque_erreur1"; + if ($image_erreur3) $errorMessages .= "$image_erreur3"; + echo ' + '; + } +} +require './vue/gestion.html'; +?> \ No newline at end of file diff --git a/controleur/home.php b/controleur/home.php new file mode 100644 index 0000000..732c083 --- /dev/null +++ b/controleur/home.php @@ -0,0 +1,21 @@ + \ No newline at end of file diff --git a/controleur/inscription.php b/controleur/inscription.php new file mode 100644 index 0000000..4dfa3e2 --- /dev/null +++ b/controleur/inscription.php @@ -0,0 +1,135 @@ +lastInsertId(); // Assurez-vous d'avoir accès à $bdd ici + $_SESSION['privilege_session'] = 2; +} +// Traitement de l'inscription +if ($_SERVER['REQUEST_METHOD'] === 'POST') { + $errors = []; + // On récupère les variables + $extensions_valides = array('jpg', 'jpeg', 'gif', 'png'); + $pseudo = $_POST['pseudo']; + $email = $_POST['email']; + $localisation = $_POST['localisation']; + $prenom = $_POST['prenom']; + $nom = $_POST['nom']; + $pass = md5($_POST['password']); + $confirm = md5($_POST['confirm']); + // Validation du pseudo + if (!isPseudoAvailable($pseudo)) { + $errors[] = "Votre pseudo est déjà utilisé par un membre."; + } + // Validation du mot de passe + if ($pass !== $confirm || empty($confirm) || empty($pass)) { + $errors[] = "Votre mot de passe et la confirmation sont différents, ou sont vides."; + } + // Validation de l'email + if (!isEmailAvailable($email)) { + $errors[] = "Votre adresse email est déjà utilisée par un membre."; + } + // Validation de l'avatar s'il est uploadé + if (!empty($_FILES['avatar']['size'])) { + if (!isValidAvatarExtension($_FILES['avatar']['name'], $extensions_valides)) { + $errors[] = "Extension de l'avatar incorrecte."; + } + } + if (empty($errors)) { + $userData = [ + 'pseudo' => $pseudo, + 'email' => $email, + // Autres champs du formulaire + ]; +require_once './vue/inscription.html'; + inscriptionUser($userData); + displayInscriptionSuccessMessage(); + exit; + } +} +// Affichage du formulaire d'inscription avec les éventuelles erreurs +require_once './vue/inscription.html'; +if (!empty($errors)) { + displayInscriptionErrorMessage($errors); +} +// Fonction pour afficher un message d'erreur +function displayInscriptionErrorMessage($errors) { + echo ''; +} +// Fonction pour afficher un message de succès +function displayInscriptionSuccessMessage() { + echo ''; +} +?> \ No newline at end of file diff --git a/controleur/profil.php b/controleur/profil.php new file mode 100644 index 0000000..060f1d9 --- /dev/null +++ b/controleur/profil.php @@ -0,0 +1,147 @@ +Cette action est impossible
'; +} +function handleProfileModification(){ + if (empty($_POST['sent'])) { + // On commence par s'assurer que le membre est connecté + // if ($id == 0) erreur(ERR_IS_NOT_CO); + // Les infos du membre + $data = get_MemberInfoId(); + require './vue/edit_profile_view.html'; + } else { + $i = 0; + $pass = /*md5*/($_POST['password']); + $confirm = /*md5*/($_POST['confirm']); + $email = $_POST['email']; + $localisation = $_POST['localisation']; + $phone = $_POST['phone']; + $pseudo = $_SESSION['pseudo_session']; + $extensions_valides = array('jpg', 'jpeg', 'gif', 'png'); + // Vérification des champs du formulaire + if ($pass != $confirm || empty($confirm) || empty($pass)) { + $mdp_erreur = "Votre mot de passe et la confirmation sont différents ou sont vides"; + $i++; + } + if (!empty($_FILES['avatar']['size'])) { + $extension_upload = strtolower(substr(strrchr($_FILES['avatar']['name'], '.'), 1)); + if (!in_array($extension_upload, $extensions_valides)) { + $i++; + $avatar_erreur3 = "Extension de l'avatar incorrecte"; + } + } + if ($i == 0) { + if (isset($_POST['delete'])) { + post_RemoveAvatar($pseudo); + } + // On modifie la table + post_UpdateProfile($pseudo, $pass, $email, $localisation, $phone); + $data = get_MemberInfoId(); // Récupérer les informations mises à jour + require_once './vue/edit_profile_view.html'; + displayModificationProfilSuccessMessage(); + exit; + } else { + $data = get_MemberInfoId(); // Récupérer les informations mises à jour + require_once './vue/edit_profile_view.html'; + displayModificationProfilErrorMessage($i, $avatar_erreur3 ?? null, $mdp_erreur ?? null); + } + } +} +// Fonction pour afficher un message de succès +function displayModificationProfilSuccessMessage() { + echo ''; +} +function displayModificationProfilErrorMessage($i, $avatar_erreur3 = null, $mdp_erreur = null) { + echo ''; +} +function displayDeleteProfilSuccessMessage() { + echo ''; +} +?> \ No newline at end of file diff --git a/controleur/send_mail.php b/controleur/send_mail.php new file mode 100644 index 0000000..9b09011 --- /dev/null +++ b/controleur/send_mail.php @@ -0,0 +1,26 @@ + \ No newline at end of file diff --git a/controleur/send_position.php b/controleur/send_position.php new file mode 100644 index 0000000..172accf --- /dev/null +++ b/controleur/send_position.php @@ -0,0 +1,19 @@ +prepare("UPDATE Vehicules SET latitude = :latitude, longitude = :longitude WHERE id = :id"); + // Liage des valeurs des données POST aux paramètres de la requête SQL + $stmt->bindParam(':id', $_POST['id']); + $stmt->bindParam(':latitude', $_POST['latitude']); + $stmt->bindParam(':longitude', $_POST['longitude']); + // Exécution de la requête SQL + $stmt->execute(); + echo "Données POST mises à jour avec succès dans la base de données."; + // Fermeture de la connexion à la base de données + $bdd = null; + // Sauvegarde des données POST dans un fichier + $file_path = 'logs/post_data_location.txt'; + $post_data = json_encode($_POST); + $file_handle = fopen($file_path, 'a'); + fwrite($file_handle, $post_data . PHP_EOL); + fclose($file_handle); +?> \ No newline at end of file diff --git a/controleur/vehicule.php b/controleur/vehicule.php new file mode 100644 index 0000000..a83f69e --- /dev/null +++ b/controleur/vehicule.php @@ -0,0 +1,61 @@ + 9) { + $plaque_erreur2 = "Votre plaque est soit trop grande, soit trop petite"; + $i++; + } + if (!empty($_FILES['image']['size'])) { + $extension_upload = strtolower(substr(strrchr($_FILES['image']['name'], '.'), 1)); + if (!in_array($extension_upload, $extensions_valides)) { + $i++; + $image_erreur3 = "Extension de l'image incorrecte"; + } + } + if ($i == 0) { + // Affichage du message de réussite + echo ' +$plaque_erreur1
"; + if ($plaque_erreur2) echo "$plaque_erreur2
"; + if ($image_erreur3) echo "$image_erreur3
"; + echo ' +