Problèmes PHP/AJAX

Résolu
leandro95 Messages postés 67 Date d'inscription   Statut Membre Dernière intervention   -  
leandro95 Messages postés 67 Date d'inscription   Statut Membre Dernière intervention   -
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";
}

}

?>
A voir également:

3 réponses

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 753
 
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
leandro95 Messages postés 67 Date d'inscription   Statut Membre Dernière intervention  
 
"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
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 753 > leandro95 Messages postés 67 Date d'inscription   Statut Membre Dernière intervention  
 
ç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
leandro95 Messages postés 67 Date d'inscription   Statut Membre Dernière intervention  
 
En quoi les syntaxe diffère $.post est juste un raccourcie de $.ajax de type POST?
0
yassinozi Messages postés 43 Date d'inscription   Statut Membre Dernière intervention   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
leandro95 Messages postés 67 Date d'inscription   Statut Membre Dernière intervention  
 
Tout fonctionne merci bcp yassinozi
0