Problèmes PHP/AJAX

Résolu/Fermé
Signaler
Messages postés
67
Date d'inscription
vendredi 25 avril 2014
Statut
Membre
Dernière intervention
5 juin 2016
-
Messages postés
67
Date d'inscription
vendredi 25 avril 2014
Statut
Membre
Dernière intervention
5 juin 2016
-
Bonjour m'ont traitement ajax ne ne fonctionne pas :

page test.php:


<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Un formulaire de connexion en AJAX</title>
</head>

<body>
<div id="resultat"> Nous allons afficher un retour en jQuery au visiteur </div>
<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="submit" id="submit" value="Se connecter !" />
</p>
</form>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script>
$(document).ready(function(){

$('#submit').click(function(){

$.post(
'http://localhost/Project/modules/mod_dashboard/test2.php',
{
login : $("#username").val(),
password : $("#password").val()
},

function(data){

if(data == 'Success'){
$("#resultat").html("<p>Vous avez été connecté avec succès !</p>");
}
else{
$("#resultat").html("<p>Erreur lors de la connexion...</p>");
}

},

'text'
);

});

});
</script>
</body>
</html>


test2.php



<?php

$username = "Sdz";
$password = "salut";

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";
}

}

?>

3 réponses

Messages postés
34700
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 janvier 2022
4 002
Bonsoir,
c'est dommage que tu n'aies pas gardé la syntaxe que je t'ai conseillé...
https://forums.commentcamarche.net/forum/affich-31093961-problemes-et-question-php-ajax

Par contre... tu es sympa.. tu nous dis .. "ça ne marche pas" ... mais bon.. nous ne sommes pas devins...;

Au passage.. je t'invite fortement à installé le plugin FireBug (pour FireFox) .. à le lancer... à lancer ta page web .. et à regarder ce que firebug t'affiche dans la console... ça peut fortement aider à comprendre le souci.


0
Messages postés
67
Date d'inscription
vendredi 25 avril 2014
Statut
Membre
Dernière intervention
5 juin 2016

"Champs mot de passe présents sur une page non sécurisée (http://). Cela représente un risque de sécurité permettant le vol d'identifiants de connexion."
voilà ce que la console m'affiche
0
Messages postés
34700
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 janvier 2022
4 002 >
Messages postés
67
Date d'inscription
vendredi 25 avril 2014
Statut
Membre
Dernière intervention
5 juin 2016

ça ce n'est rien.

Mais lorsque tu executes ton code... il devrait te faire apparaitre une ligne concernant l'ajax... que t'affiche t'il dedans ??

Et tu ne nous as pas non plus dit .. en quoi ça ne marchait pas....

Et enfin.. tu as repris ma syntaxe ?
Si oui.. montres nous le code ainsi corrigé !
0
Messages postés
67
Date d'inscription
vendredi 25 avril 2014
Statut
Membre
Dernière intervention
5 juin 2016

En quoi les syntaxe diffère $.post est juste un raccourcie de $.ajax de type POST?
0
Messages postés
43
Date d'inscription
samedi 10 juillet 2010
Statut
Membre
Dernière intervention
18 juin 2016
1
Bonjour,

Ta méthode est correcte, tu as juste quelques erreurs au niveau du code,

1)

sur le formulaire il faut que tu change le type du bouton "Submit" par un bouton de type "Button", pour ne pas rafraichir la page quand tu cliques dessus et afin que le résultat reste visible.

...

<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>

...

2)

C'est pas la peine de mettre tout l'URL quand le fichier test2.php est dans le même répertoire.
...

$.post(
// 'http://localhost/Project/modules/mod_dashboard/test2.php',

"test2.php",
// le nom de la page est suffisant dans ce cas.
{
login : $("#username").val(),
password : $("#password").val()
},

...

3)

Au niveau de la page test2.php, tu dois changer $_POST["username"] par $_POST["login"]. parce que la variable que tu as choisi sur la méthode $.post au-dessus est login non pas username.
...

login : $("#username").val(),

//donc $_POST["login"] est non $_POST["username"].

...
0
Messages postés
67
Date d'inscription
vendredi 25 avril 2014
Statut
Membre
Dernière intervention
5 juin 2016

Tout fonctionne merci bcp yassinozi
0