Rajout des messages d'erreur sur la modif des données de l'utilisateur

pull/25/head
Leni BEAULATON 4 months ago
parent 34be1dadcb
commit 7ed6fa3ba3

@ -41,6 +41,14 @@ class UserControler {
global $vues; global $vues;
$p = $this->uMod->getUsername($_SESSION["user"]); $p = $this->uMod->getUsername($_SESSION["user"]);
// Pour les messages d'erreur
$error_message = null;
if (isset($_SESSION['error_message'])) {
$error_message = $_SESSION['error_message'];
// Supprimer le message d'erreur après l'avoir lu
unset($_SESSION['error_message']);
}
require_once $vues['profil']; require_once $vues['profil'];
} }
@ -212,6 +220,8 @@ class UserControler {
header("Location:". $racine ."/quote/$id"); header("Location:". $racine ."/quote/$id");
} }
public function changedata() : void public function changedata() : void
{ {
global $vues, $racine; global $vues, $racine;
@ -226,15 +236,28 @@ class UserControler {
//Modif le pseudo //Modif le pseudo
if($newPseudo){ if($newPseudo){
$user = $this-> uMod->setUsername($_SESSION['user'], $newPseudo); $user = $this-> uMod->setUsername($_SESSION['user'], $newPseudo);
if($user == $newPseudo){ //Si le pseudo existe déjà
if($user == $newPseudo){
$_SESSION['user'] = $newPseudo; $_SESSION['user'] = $newPseudo;
}
else{ // pseudo invalide
$_SESSION['error_message'] = $newPseudo . " n'est pas valide ou non libre";
header("Location: ". $racine."/profil");
} }
} }
//Modif l'email
else if($newEmail){ else if($newEmail){
$user = $this-> uMod->setEmail($_SESSION['user'], $newEmail); $user = $this-> uMod->setEmail($_SESSION['user'], $newEmail);
if($user == $_SESSION['user']){ // si email incorrect, renvoie le nom de l'utilisateur de la session
$_SESSION['error_message'] = "L'email n'est pas valide";
header("Location: ". $racine."/profil");
}
} }
//Modif le mot de passe
else if($newMdpFirst && $newMdpSecond){ else if($newMdpFirst && $newMdpSecond){
if($newMdpFirst == $newMdpSecond){ if($newMdpFirst == $newMdpSecond){
@ -243,8 +266,13 @@ class UserControler {
$newPassWd = password_hash($newMdpFirst, PASSWORD_BCRYPT, $option); $newPassWd = password_hash($newMdpFirst, PASSWORD_BCRYPT, $option);
$user = $this-> uMod->setPassWd($_SESSION['user'], $newPassWd); $user = $this-> uMod->setPassWd($_SESSION['user'], $newPassWd);
} }
else{
$_SESSION['error_message'] = "Les mots de passe ne correspondent pas";
header("Location: ". $racine."/profil");
}
} }
//Modif l'image
else if($newImage){ else if($newImage){
$user = $this->uMod->setImage($_SESSION['user']); $user = $this->uMod->setImage($_SESSION['user']);
} }

@ -98,14 +98,13 @@
return $res[0]['username']; return $res[0]['username'];
} }
// En cas d'échec, retourne l'ancien nom d'utilisateur return $username; // En cas d'échec, retourne l'ancien nom d'utilisateur
return $username;
} }
public function setEmail(string $username, string $newEmail){ public function setEmail(string $username, string $newEmail){
if ($this->IsExisteEmail($newEmail)) { if ($this->IsExisteEmail($newEmail)) {
return $email; return $username;
} }
$res = $this->gateway->updateEmail($username,$newEmail); $res = $this->gateway->updateEmail($username,$newEmail);

@ -16,5 +16,6 @@
'srcUsername' => $p->getPseudo(), 'srcUsername' => $p->getPseudo(),
'srcEmail' => $p->getEmail(), 'srcEmail' => $p->getEmail(),
'srcImg' => $p->getImgPrfl(), 'srcImg' => $p->getImgPrfl(),
'error_message' => $error_message,
)); ));
?> ?>

@ -6,6 +6,10 @@
<img src="{{ srcImg }}" class="imageProfil" onmousedown="return false"/> <img src="{{ srcImg }}" class="imageProfil" onmousedown="return false"/>
<button name="image" class="saveButtonPasswd" value="1" type="Submit">Changer l'image de profil</button> <button name="image" class="saveButtonPasswd" value="1" type="Submit">Changer l'image de profil</button>
{% if error_message is defined and error_message is not empty %}
<p style="color: red">{{ error_message }}</p>
{% endif %}
<p class="infoProfil" name="pseudo" id="username"> <strong>{{ srcUsername }}</strong><img class='imgModify' src='{{ racine }}/images/modify.svg' onclick="editFieldUsername('username')"/></p> <p class="infoProfil" name="pseudo" id="username"> <strong>{{ srcUsername }}</strong><img class='imgModify' src='{{ racine }}/images/modify.svg' onclick="editFieldUsername('username')"/></p>
<p class="infoProfil" name="email" id="email"> <strong> {{ srcEmail }}</strong><img class='imgModify' src='{{ racine }}/images/modify.svg' onclick="editFieldEmail('email')"/></p> <p class="infoProfil" name="email" id="email"> <strong> {{ srcEmail }}</strong><img class='imgModify' src='{{ racine }}/images/modify.svg' onclick="editFieldEmail('email')"/></p>

Loading…
Cancel
Save