Créer un formulaire de connexion avec jquery $ajax() et php problème

Messages postés
7
Date d'inscription
samedi 16 février 2013
Statut
Membre
Dernière intervention
11 juin 2019
-
Bonjour,

j'ai récupéré le script d'un tuto permettant de simuler une connexion via login et mot de passe. Cela se présente sous forme de 2 fichiers :

un fichier login.php
un formulaire demandant de saisir login et mot de passe. puis une requête en ajax est envoyée à un fichier connexion.php qui teste tout simplement, sans accéder à une bdd mysql si les identifiants sont corrects et renvoie une réponse positive ou négative.

Là où le bât blesse c'est que bien que la requête semble avoir été envoyée, la réponse reçue ne correspond pas aux identifiants que je tape, comme si le traitement n'avait pas été effectué.

Pouvez-vous m'aider SVP ? merci.

tout d'abord le fichier login.php
<!DOCTYPE html>
<html>
<head> 
    <meta charset="utf-8">
    <title>Un formulaire de connexion en AJAX</title>
     <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
</head>
   
<body>
    <div id="resultat"></div>       <!-- Nous allons afficher un retour en jQuery au visiteur -->
    
         
        <h1>Un formulaire de connexion en AJAX</h1>
 
    <form>
        <p>
        Nom d'utilisateur : <input type="text" id="username" />
        Mot de passe : <input type="password" id="password" />
        <input type="button" id="submit" value="Se connecter !" />
        </p>
    </form>
    
<script>
 
$(document).ready(function(){
 
     $("#submit").click(function(e){
            e.preventDefault();

            $.ajax({
                    url : 'connexion.php', 
                    type : 'POST',
            // Un script PHP que l'on va créer juste après
                    data : {
                            username : $("#username").val(),  // Nous récupérons la valeur de nos input que l'on fait passer à connexion.php
                            password : $("#password").val()
                            },
                    dataType : 'json',

                    complete : function(data){

                                    if(data == "Success")
                                            {
                                            // Le membre est connecté. Ajoutons lui un message dans la page HTML.
                                                    $("#resultat").html("<p>Vous avez été connecté avec succès !</p>");
                                             }
                                    else if (data == "Failed")
                                            {
                                            // Le membre n'a pas été connecté. (data vaut ici "failed")
                                            $("#resultat").html("<p>Erreur lors de la connexion...</p>");
                                             }
                                    else 
                                            {
                                            // Le membre n'a pas été connecté. (data vaut ici "failed")
                                             $("#resultat").html("<p>Ou est l'erreur ?</p>");
                                            }

                                            },
                    dataType :'text'
                    });
                                     });
                                });
 
</script>
 
    
</body>
</html>
 


et le fichier connexion.php


<?php

/**
  • Nous créons deux variables : $username et $password qui valent respectivement "Sdz" et "salut" */ $username = "Sdz"; $password = "salut"; console.log($_POST['username']); console.log($_POST['password']); if( isset($_POST['username']) && isset($_POST['password']) ){ if($_POST['username'] == $username && $_POST['password'] == $password){ // Si les infos correspondent... session_start(); $_SESSION['user'] = $username; echo "Success"; } else{ // Sinon echo "Failed"; } }?>



space_dave
Afficher la suite