Afficher un message d'erreur dans un popup

Fermé
marie_reine Messages postés 4 Date d'inscription lundi 22 juin 2020 Statut Membre Dernière intervention 25 juin 2020 - Modifié le 22 juin 2020 à 14:14
marie_reine Messages postés 4 Date d'inscription lundi 22 juin 2020 Statut Membre Dernière intervention 25 juin 2020 - 22 juin 2020 à 16:02
Bonjour, Je travaille sur un projet dont le code est en langage PHP et il est organisé par MVC et je sais
pas comment afficher l'erreur "invalide login ou mot de passe" dans un popup en utilisant ajax et javascript

"vformLogin.php"
<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
 
 <meta name="viewport" content="width=device-width, initial-scale=1">
 <link rel="stylesheet" href="public/css/bootstrap.min.css">
 
 <style type="text/css">

body{
  background: #b2a6bf;
}
  .container{
 position:absolute;
 top:18%;
  left:32%; 
   
    tranform:translate(-50%,-50%);   
     width:400px; 
  height: 360px; 
   border-radius: 25px;
   box-sizing: border-box;   
  background: #ebe6e6; 
   padding:40px;
   
}
#navtxt{ color: white;} 
.Err{
color:red;}

 </style>
</head>
<body>
<nav class="navbar navbar-light" style="background-color: #302A56;">  
 
  <!-- Navbar content -->
<span class="navbar-text" id="navtxt">
      Espace Coordonnateur
    </span>
 
</nav>
<div class="container">

 <span class="Err"><?= isset($erreur["User"])? $erreur["User"]:"" ?> </span>
<form    method="post"  action="" id="form" > 

  
  <h2>Se connecter</h2>
   
    <div class="form-group">
      <label for="">Nom utilisateur:</label>
      <input type="text" class="form-control" name="login" id="Login" placeholder="Entrer votre nom utilisateur" required name="login">
   
    </div>
    <div class="form-group">
      <label for="">Mot de passe:</label>
      <input type="password" class="form-control" id="Password" name="password" placeholder="Entrer votre mot de passe" required name="password">
   
   </div>
   <div class="form-group">
 <button type="submit" class="btn btn-primary"  id="formsubmitbutton" value="Connexion"   name="Connexion">Connexion</button>
 </div>
   </form>
</div>

<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
<script src="public/jquery/jquery-3.5.0.js" > </script>
<script type="text/javascript" src="public/js/bootstrap.min.js"></script>


</body>
</html>
   



"UserController.php"
<?php 
require_once ("Models/UserManager.php");
require_once ("Views/Response.php");

function User_connexionAction(array $t= NULL){
 if ($_SERVER["REQUEST_METHOD"]=="POST") { 
    
  if(empty($_POST["login"]))  $erreur["Login"] ="Le login est vide !..."   ;
  if(empty($_POST["password"]))  $erreur["PW"] ="Le mot de passe est vide !..."   ;
  
  if (!isset($erreur)) {
   $t=[$_POST["login"],md5($_POST["password"])];
   if(user_exists($t)){
    $_SESSION["password"]=$_POST["password"];
    $_SESSION["login"]= $_POST["login"];
    header ("location: index.php?module=Coordonnateur&action=espace");
    
   }
   else{$erreur["User"]= "Login ou mot de passe incorrect!...";}
  }
 }
 
 require("./Views/User/vformLogin.php");

}



"UserManager.php"
<?php
require_once("cn.php");
function user_exists(array $t){
 $rq= "SELECT  count(*) FROM professeur p,filiere f where f.code_coordonnateur=p.codeP  AND p.Login='".$_POST["login"]."' AND p.Password='".$_POST["password"]."' ";
return getCn()->query($rq)->fetchColumn();
}


EDIT : Ajout des balises de code

1 réponse

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
22 juin 2020 à 14:16
Bonjour


je sais
pas comment afficher l'erreur "invalide login ou mot de passe" dans un popup en utilisant ajax et javascript

En même temps, il n'y a pas de javascript (ni d'ajax) dans le code que tu nous montres...


Voici des exemples de code ajax
https://codes-sources.commentcamarche.net/source/102253-exemple-ajax-en-jquery


PS: A l'avenir, merci d'utiliser les balises de code pour poster du code sur le forum;
Explications ( à lire entièrement ! ) disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

0
marie_reine Messages postés 4 Date d'inscription lundi 22 juin 2020 Statut Membre Dernière intervention 25 juin 2020
22 juin 2020 à 14:40
j'ai essayé plusieurs solutions mais çà ne marchait pas et puisque je voulais voir des solutions qui seront adaptées au modèle MVC j'ai supprimé la fonction javascript que j'avais utilisé .
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650 > marie_reine Messages postés 4 Date d'inscription lundi 22 juin 2020 Statut Membre Dernière intervention 25 juin 2020
22 juin 2020 à 15:20
Le plus simple, c'est de créer un controller propre aux appels ajax...
Dans ta vue... tu places le code JS qui contiendra ton appel ajax vers ce controller
Dans le modèle, tu place le code qui devra aller chercher les données en BDD

Que ce soit sous le modèle MVC ou non.. le principe de l'ajax reste le même..
Un code JS qui fait appel à un code php ...
0
marie_reine Messages postés 4 Date d'inscription lundi 22 juin 2020 Statut Membre Dernière intervention 25 juin 2020 > jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024
22 juin 2020 à 16:02
ok merci beaucoup
0