Bonjour ! J'ai rencontré un problème avec l'option" Markdown"du forum lors de la création du sujet. Et maintenant impossible de revenir en arrière et de vous présenter mon code correctement.
Retrouver le message qui devrais être ici un peut plus bas. Merci
Bonjour , j'ai eu un problème lors de l'écriture de mon sujet et impossible de le modifier ou de le supprimer. Et je ne pouvais pas poster de message à la suite avant 24H pour expliquer la situation. Désolé :/
J'essaie d'afficher un message de réussite ou d'échec à la connexion grâce a Jquery. Mon code n'affiche rien lors de la connexion.
En m'aidant de la console pour trouver une solution je me rend compte que mon fichier connexion.php reçoit bien les paramètre mais ne renvois rien. Mais après de longues recherches je ne trouve pas d'ou viens l'erreur.
Pouvez vous m'aidez.
Voici mon code HTML / Jquery:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Un formulaire de connexion en AJAX</title>
</head>
<body>
<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>
<div id="resultat">
<!-- Nous allons afficher un retour en jQuery au visiteur -->
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("#submit").click(function(){
console.log("test");
$.post(
'connexion.php', // Un script PHP que l'on va créer juste après
{
login : $("#username").val(), // Nous récupérons la valeur de nos input que l'on fait passer à connexion.php
password : $("#password").val()
},
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{
// Le membre n'a pas été connecté. (data vaut ici "failed")
$("#resultat").html("<p>Erreur lors de la connexion...</p>");
}
},
'text'
);
});
});
</script>
</body>
</html>
et le php :
<?php
/**
* Nous créons deux variables : $username et $password qui valent respectivement "Sdz" et "salut"
*/
$username = "user";
$password = "mdp";
if( isset($_POST['login']) && isset($_POST['password']) ){
if($_POST['login'] == $username && $_POST['password'] == $password){ // Si les infos correspondent...
session_start();
$_SESSION['user'] = $username;
echo "Success";
}
else{ // Sinon
echo "Failed";
}
}
?>
Déjà, ta page PHP ne renvoie pas systématiquement quelque chose, ce qui n'est pas bien pour déboguer.
Je procèderais comme suit :
- Tu crées un array vide au début du script PHP
- Tu crées des conditions simples (une condition par variable) et, à chaque échec, tu ajoutes à l'array le test spécifique qui a échoué.
- À la fin du script, tu fais un echo de ton array avec json_encode
- D'ailleurs, il vaudrait mieux que tes requêtes AJAX attendent systématiquement un objet JSON, même quand la seule clé/valeur est "success":"true"
De cette façon tu es assuré que quand tu as une erreur, tu sais de quoi il s'agit.
Ça peut être dangereux de retourner systématiquement des erreurs précises (en terme de sécurité), donc tu peux implémenter un système de débugging au niveau du serveur (ça peut être un fichier que tu appelles avec un mot de passe pour le passer de "off" à "on") qui quand il est activé procède au echo de l'array d'erreurs.
Sérieux, si c'est pour dire ce genre de chose, tu pourrais t'abstenir de répondre. D'autant que la date de publication du post d'origine est disponible. Donc d'une tu poses une question rhétorique à la con qui pollue l'ambiance et en plus t'es pas foutu de vérifier tes propos. ça t'aurait pourtant pris moins de temps à faire que ton gribouillage outré
- Edité par tabouretBleu 21 juillet 2017 à 21:58:06
D'autant plus que le le site empêche de poster deux messages à la suite en moins de 24h, donc c'est justement grâce au message de tabouretbleu que Swinot a pu poster à nouveau.
Cependant, Swinot, il n'est pas normal que tu n'aies pas pu modifier ton message. Si le bouton "modifier" en haut à droite de ton message initial ne fonctionne pas, tu devrais le signaler via le bouton "nous contacter" en bas à gauche du pied de page ou via l'adresse hello@openclassrooms.com .
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Moderateur forum || FAQ 3D || discord 3D francophone || OC Tweak script
Moderateur forum || FAQ 3D || discord 3D francophone || OC Tweak script