first commit
This commit is contained in:
60
controler/actionCreator.php
Normal file
60
controler/actionCreator.php
Normal file
@@ -0,0 +1,60 @@
|
||||
<?php
|
||||
session_start();
|
||||
include 'database.php';
|
||||
|
||||
// Vérifier si connecté
|
||||
if (!isset($_SESSION['pseudo'])) {
|
||||
header("Location: login.php");
|
||||
exit;
|
||||
}
|
||||
|
||||
$pseudo = $_SESSION['pseudo'];
|
||||
|
||||
// Vérifier si admin
|
||||
$stmt = $mysqli->prepare("SELECT role FROM utilisateur WHERE pseudo = ?");
|
||||
$stmt->bind_param("s", $pseudo);
|
||||
$stmt->execute();
|
||||
$stmt->bind_result($role);
|
||||
$stmt->fetch();
|
||||
$stmt->close();
|
||||
|
||||
if ($role !== 'admin') {
|
||||
header("Location: index.php");
|
||||
exit;
|
||||
}
|
||||
|
||||
$message = '';
|
||||
|
||||
// Si on a soumis le formulaire
|
||||
if ($_POST) {
|
||||
$titre = $_POST['titre'];
|
||||
$adresse = $_POST['adresse'];
|
||||
$description = $_POST['description'];
|
||||
|
||||
// Vérifier que les chose obligatoires sont remplis
|
||||
if (empty($titre) || empty($adresse)) {
|
||||
$message = "Oups ! Il faut au moins un titre et une adresse.";
|
||||
} else {
|
||||
// Ajouter l'événement en base
|
||||
$stmt = $mysqli->prepare("INSERT INTO evenement (titre, adresse, description_) VALUES (?, ?, ?)");
|
||||
$stmt->bind_param("sss", $titre, $adresse, $description);
|
||||
|
||||
if ($stmt->execute()) {
|
||||
$message = "Super ! Ton événement a été créé ! 🎉";
|
||||
// Vider les champs pour recommencer
|
||||
$titre = '';
|
||||
$adresse = '';
|
||||
$description = '';
|
||||
} else {
|
||||
$message = "Erreur : ";
|
||||
}
|
||||
$stmt->close();
|
||||
}
|
||||
}
|
||||
|
||||
// Récupérer les derniers événements créés
|
||||
function getRecentEvents($mysqli) {
|
||||
$result = $mysqli->query("SELECT id, titre, adresse, description_ FROM evenement ORDER BY id");
|
||||
return $result;
|
||||
}
|
||||
?>
|
40
controler/actionLogin.php
Normal file
40
controler/actionLogin.php
Normal file
@@ -0,0 +1,40 @@
|
||||
<?php
|
||||
include 'database.php';
|
||||
|
||||
|
||||
$message = "";
|
||||
if(isset($_POST['formsend'])){
|
||||
|
||||
$message = "bien recu";
|
||||
extract($_POST);
|
||||
|
||||
$verif = $mysqli->prepare("SELECT mdp, pseudo FROM utilisateur WHERE email = ?");
|
||||
$verif->bind_param("s",$email);
|
||||
$verif->execute();
|
||||
$verif->store_result();
|
||||
|
||||
if($verif->num_rows == 1){
|
||||
$verif->bind_result($hash, $pseudo);
|
||||
$verif->fetch();
|
||||
|
||||
|
||||
if(password_verify($mdp,$hash)){
|
||||
|
||||
$message = "Le mot de passe est correcte, Bienvenue $pseudo !";
|
||||
|
||||
$_SESSION['email'] = $email;
|
||||
$_SESSION['pseudo'] = $pseudo;
|
||||
header("Location: profil.php");
|
||||
exit;
|
||||
|
||||
}else{
|
||||
|
||||
$message = "T trompé, mot de passe incorrect";
|
||||
}
|
||||
}else{
|
||||
$message = "Adresse mail introuvable";
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
?>
|
74
controler/actionModif.php
Normal file
74
controler/actionModif.php
Normal file
@@ -0,0 +1,74 @@
|
||||
<?php
|
||||
// actionModif.php
|
||||
|
||||
if (!isset($_SESSION['pseudo'])) {
|
||||
header("Location: login.php");
|
||||
exit;
|
||||
}
|
||||
|
||||
$pseudo = $_SESSION['pseudo'];
|
||||
$message = '';
|
||||
|
||||
// D'ABORD récupérer les infos utilisateur (OBLIGATOIRE)
|
||||
$stmt = $mysqli->prepare("SELECT id, nom, prenom, age, email, datecreation FROM utilisateur WHERE pseudo = ?");
|
||||
$stmt->bind_param("s", $pseudo);
|
||||
$stmt->execute();
|
||||
$stmt->bind_result($id, $nom, $prenom, $age, $email, $date);
|
||||
$stmt->fetch();
|
||||
$stmt->close();
|
||||
|
||||
// ENSUITE traitement du formulaire de modification
|
||||
if ($_POST) {
|
||||
$nouveau_nom = $_POST['nom'];
|
||||
$nouveau_prenom = $_POST['prenom'];
|
||||
$nouvel_email = $_POST['email'];
|
||||
$nouvel_age = $_POST['age'];
|
||||
|
||||
// Vérification des mots de passe
|
||||
$mdp_valide = true;
|
||||
if (!empty($_POST['nouveau_mdp'])) {
|
||||
if (empty($_POST['confirmer_mdp'])) {
|
||||
$message = "Veuillez confirmer le nouveau mot de passe.";
|
||||
$mdp_valide = false;
|
||||
} elseif ($_POST['nouveau_mdp'] !== $_POST['confirmer_mdp']) {
|
||||
$message = "Les mots de passe ne correspondent pas.";
|
||||
$mdp_valide = false;
|
||||
} elseif (strlen($_POST['nouveau_mdp']) < 6) { // rr
|
||||
$message = "Le mot de passe doit contenir au moins 6 caractères.";
|
||||
$mdp_valide = false;
|
||||
}
|
||||
}
|
||||
|
||||
if ($mdp_valide) {
|
||||
// Si un nouveau mot de passe est fourni
|
||||
if (!empty($_POST['nouveau_mdp'])) {
|
||||
$nouveau_mdp = password_hash($_POST['nouveau_mdp'], PASSWORD_DEFAULT);
|
||||
$stmt = $mysqli->prepare("UPDATE utilisateur SET nom = ?, prenom = ?, email = ?, age = ?, motdepasse = ? WHERE id = ?");
|
||||
$stmt->bind_param("sssisi", $nouveau_nom, $nouveau_prenom, $nouvel_email, $nouvel_age, $nouveau_mdp, $id);
|
||||
} else {
|
||||
$stmt = $mysqli->prepare("UPDATE utilisateur SET nom = ?, prenom = ?, email = ?, age = ? WHERE id = ?");
|
||||
$stmt->bind_param("sssii", $nouveau_nom, $nouveau_prenom, $nouvel_email, $nouvel_age, $id);
|
||||
}
|
||||
|
||||
if ($stmt->execute()) {
|
||||
$message = "Informations mises à jour avec succès !";
|
||||
// Actualiser les variables pour l'affichage
|
||||
$nom = $nouveau_nom;
|
||||
$prenom = $nouveau_prenom;
|
||||
$email = $nouvel_email;
|
||||
$age = $nouvel_age;
|
||||
} else {
|
||||
$message = "Erreur lors de la mise à jour: " . $mysqli->error;
|
||||
}
|
||||
$stmt->close();
|
||||
}
|
||||
}
|
||||
|
||||
// Compter les événements
|
||||
$stmt = $mysqli->prepare("SELECT COUNT(*) FROM inscription WHERE id_utilisateur = ?");
|
||||
$stmt->bind_param("i", $id);
|
||||
$stmt->execute();
|
||||
$stmt->bind_result($nombre_evenements);
|
||||
$stmt->fetch();
|
||||
$stmt->close();
|
||||
?>
|
40
controler/actionRegister.php
Normal file
40
controler/actionRegister.php
Normal file
@@ -0,0 +1,40 @@
|
||||
<?php include 'database.php';
|
||||
|
||||
|
||||
if(isset($_POST['formsend'])){
|
||||
extract($_POST);
|
||||
|
||||
|
||||
$verif = $mysqli->prepare("SELECT email FROM utilisateur WHERE email = ?");
|
||||
$verif->bind_param("s",$email);
|
||||
$verif->execute();
|
||||
$verif->store_result();
|
||||
|
||||
if($verif->num_rows > 0){
|
||||
echo "Email déja utilisé";
|
||||
}else{
|
||||
$verif = $mysqli->prepare("SELECT pseudo FROM utilisateur WHERE pseudo = ?");
|
||||
$verif->bind_param("s",$pseudo);
|
||||
$verif->execute();
|
||||
$verif->store_result();
|
||||
if($verif->num_rows > 0){
|
||||
echo "Nom d'utilisateur déja utilisé";
|
||||
}else{
|
||||
if($mdp == $cmdp){
|
||||
|
||||
// hasher le mot de passe
|
||||
$hash = password_hash($mdp,PASSWORD_DEFAULT);
|
||||
|
||||
|
||||
$stmt = $mysqli->prepare("INSERT INTO utilisateur (nom, prenom, age, pseudo, mdp, email) VALUES (?, ?, ?, ?, ?, ?)");
|
||||
$stmt->bind_param("ssisss",$nom, $prenom, $age, $pseudo, $hash, $email);
|
||||
$stmt->execute();
|
||||
echo "Le compte a été crée";
|
||||
}else{
|
||||
echo "non t trompé, le mot de passe est différent";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
29
controler/ajout_commentaire.php
Normal file
29
controler/ajout_commentaire.php
Normal file
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
session_start();
|
||||
require_once "database.php";
|
||||
|
||||
if (!isset($_SESSION['pseudo'])) {
|
||||
header("Location: login.php");
|
||||
exit;
|
||||
}
|
||||
|
||||
$id_evenement = $_POST['id_evenement'];
|
||||
$contenu = $_POST['contenu'];
|
||||
|
||||
// récupération du id utilisateur
|
||||
$recup = $mysqli->prepare("SELECT id FROM utilisateur WHERE pseudo = ?");
|
||||
$recup->bind_param("s", $_SESSION['pseudo']);
|
||||
$recup->execute();
|
||||
$recup->bind_result($id_utilisateur);
|
||||
$recup->fetch();
|
||||
$recup->close();
|
||||
|
||||
|
||||
// ajout du commentaire
|
||||
$insert = $mysqli->prepare("INSERT INTO commentaire (id_utilisateur, id_evenement, contenu) VALUES (?, ?, ?)");
|
||||
$insert->bind_param("iis", $id_utilisateur, $id_evenement, $contenu);
|
||||
$insert->execute();
|
||||
$insert->close();
|
||||
|
||||
header("Location: event.php");
|
||||
exit;
|
27
controler/database.php
Normal file
27
controler/database.php
Normal file
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
$mysqli = mysqli_connect("dwarves.iut-fbleau.fr", "val", "vali", "val");
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// Fonction pour récupérer le rôle d'un utilisateur
|
||||
function getUserRole($pseudo) {
|
||||
global $mysqli;
|
||||
|
||||
|
||||
$stmt = $mysqli->prepare("SELECT role FROM utilisateur WHERE pseudo = ?");
|
||||
$stmt->bind_param("s", $pseudo);
|
||||
$stmt->execute();
|
||||
$stmt->bind_result($role);
|
||||
|
||||
// Si on trouve l'utilisateur
|
||||
if ($stmt->fetch()) {
|
||||
$stmt->close();
|
||||
return $role;
|
||||
} else {
|
||||
$stmt->close();
|
||||
return null; // Utilisateur pas trouvé
|
||||
}
|
||||
}
|
||||
?>
|
45
controler/inscription_event.php
Normal file
45
controler/inscription_event.php
Normal file
@@ -0,0 +1,45 @@
|
||||
<?php
|
||||
|
||||
session_start();
|
||||
require_once "database.php";
|
||||
|
||||
// Vérifie que l'utilisateur est connecté et que le formulaire est bien envoyé
|
||||
if (!isset($_SESSION['pseudo']) || !isset($_POST['id_evenement'])) {
|
||||
header("Location: event.php");
|
||||
exit;
|
||||
}
|
||||
|
||||
$pseudo = $_SESSION['pseudo'];
|
||||
$id_evenement = $_POST['id_evenement'];
|
||||
|
||||
// Récupérer l'ID utilisateur
|
||||
$stmt = $mysqli->prepare("SELECT id FROM utilisateur WHERE pseudo = ?");
|
||||
$stmt->bind_param("s", $pseudo);
|
||||
$stmt->execute();
|
||||
$stmt->bind_result($id_utilisateur);
|
||||
$stmt->fetch();
|
||||
$stmt->close();
|
||||
|
||||
// Vérifier si déjà inscrit
|
||||
$check = $mysqli->prepare("SELECT COUNT(*) FROM inscription WHERE id_utilisateur = ? AND id_evenement = ?");
|
||||
$check->bind_param("ii", $id_utilisateur, $id_evenement);
|
||||
$check->execute();
|
||||
$check->bind_result($existe);
|
||||
$check->fetch();
|
||||
$check->close();
|
||||
|
||||
if ($existe > 0) {
|
||||
// Déjà inscrit
|
||||
header("Location: event.php?inscription=deja");
|
||||
exit;
|
||||
}
|
||||
|
||||
// Sinon on inscrit
|
||||
$insert = $mysqli->prepare("INSERT INTO inscription (id_utilisateur, pseudo, id_evenement) VALUES (?, ?, ?)");
|
||||
$insert->bind_param("isi", $id_utilisateur, $pseudo, $id_evenement);
|
||||
$insert->execute();
|
||||
$insert->close();
|
||||
|
||||
header("Location: event.php?inscription=ok");
|
||||
exit;
|
||||
?>
|
6
controler/logout.php
Normal file
6
controler/logout.php
Normal file
@@ -0,0 +1,6 @@
|
||||
<?php
|
||||
session_start();
|
||||
session_destroy();
|
||||
header("Location: ../views/login.php"); // Redirige vers la page de connexion
|
||||
exit;
|
||||
?>
|
24
controler/menu-profil.php
Normal file
24
controler/menu-profil.php
Normal file
@@ -0,0 +1,24 @@
|
||||
<?php $pseudo = $_SESSION['pseudo'];
|
||||
$role = getUserRole($pseudo);?>
|
||||
|
||||
<link rel="stylesheet" href="../css/profil.css">
|
||||
<nav class="menu">
|
||||
<a href="../views/index.php"><img src="../img/logov2.png" alt="Logo 'Vendeur de rêve'" width="175" height="auto"></a>
|
||||
<ul>
|
||||
<li class="but1">
|
||||
<a href="../views/index.php">ACCUEIL</a>
|
||||
</li>
|
||||
<li class="but1">
|
||||
<a href="../views/my_event.php">MES ÉVÉNEMENTS</a>
|
||||
</li>
|
||||
<li class="but1">
|
||||
<a href="../views/profil.php">MON PROFIL</a>
|
||||
</li>
|
||||
|
||||
<?php if ($role === 'admin'): ?>
|
||||
<li class="but1">
|
||||
<a href="../views/creator.php">CRÉER ÉVÈNEMENT</a>
|
||||
</li>
|
||||
<?php endif; ?>
|
||||
</ul>
|
||||
</nav>
|
24
controler/menunav-inv.php
Normal file
24
controler/menunav-inv.php
Normal file
@@ -0,0 +1,24 @@
|
||||
|
||||
|
||||
<link rel='stylesheet' type='text/css' media='screen' href='../css/menunav-inv.css'>
|
||||
<!-- Haut de page -->
|
||||
<header>
|
||||
<div class="image">
|
||||
<a href="../views/index.php"><img src="../img/logov2.png" alt="Logo 'Vendeur de rêve'" width="150" height="auto"></a>
|
||||
</div>
|
||||
<!-- Navigation -->
|
||||
<div class="main">
|
||||
<nav class="menu">
|
||||
<ul>
|
||||
<li><a href="../views/index.php">ACCUEIL</a></li>
|
||||
<li><a href="../views/contact.php" >CONTACT</a></li>
|
||||
<li><a href="../views/event.php" >ÉVÈVENEMENT</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<div class="connexion">
|
||||
<a href="../views/login.php"><button>Connexion</button></a>
|
||||
<a href="../views/register.php"><button>Inscription</button></a>
|
||||
</div>
|
||||
</header>
|
26
controler/menunav-user.php
Normal file
26
controler/menunav-user.php
Normal file
@@ -0,0 +1,26 @@
|
||||
<header>
|
||||
<link rel="stylesheet" href="../css/menunav-user.css">
|
||||
<div class="image">
|
||||
<a href="../views/index.php"><img src="../img/logov2.png" alt="Logo 'Vendeur de rêve'" width="175" height="auto"></a>
|
||||
</div>
|
||||
<!-- Navigation -->
|
||||
<div class="main">
|
||||
<nav class="menu-nav">
|
||||
<ul>
|
||||
<li><a href="../views/index.php">ACCUEIL</a></li>
|
||||
<li><a href="../views/contact.php" >CONTACT</a></li>
|
||||
<li><a href="../views/event.php" >ÉVÈVENEMENT</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<div class="profil">
|
||||
<a href="../views/profil.php"><button>Profil</button></a>
|
||||
<div class="deco">
|
||||
<a href="../controler/logout.php"><button>Se déconnecter</button></a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</header>
|
||||
|
||||
|
Reference in New Issue
Block a user