Formulaire pseudo 0 ou 1 [Résolu]

flo39400 586 Messages postés mardi 8 avril 2008Date d'inscription 10 décembre 2017 Dernière intervention - 4 oct. 2017 à 15:47 - Dernière réponse : flo39400 586 Messages postés mardi 8 avril 2008Date d'inscription 10 décembre 2017 Dernière intervention
- 5 oct. 2017 à 11:06
Bonjour,

Voila je cherche a comprendre cette fonctionnalité de ajax mais je suis bloquer car j'arrive pas a faire fonctionner le data comme si il n'arriver pas a lire la variable crée et faire une condition dessus.

Voila le code JS:
        $(function() {
            $('#pseudo').keyup(function() {
                pseudo = $('#pseudo').val();
                $.ajax({
                    type: "POST",
                    url: "inscris.php",
                    data: 'pseudo =' + pseudo,
                    success: function(data) {
                        if (data == 1) {
                            $('#pseudo').next("#erreur").fadeIn().text("Ce pseudo est déjà pris !");
                            $('#erreur').next("#ok").fadeOut();
                        } else {
                            $('#erreur').next('#ok').fadeIn().text("Ok");
                            $('#pseudo').next("#erreur").fadeOut();
                        }
                    }
                });
            });
        });


Fichier inscris.php


<?php
require "cobdd.php";


$pseudo = $_POST['pseudo'];


$verif_pseudo = $bdd->prepare("SELECT * FROM users WHERE pseudo = ?");
$verif_pseudo->execute(array($pseudo));
$nbr_pseudo = $verif_pseudo->RowCount();

if($nbr_pseudo > 0)
{
    echo "1";
}
else
{
   echo "0"; 
}

?>



Dans l'outil de développement de Firefox j'ai rien dans la console.

Quand je clique sur mon input de type submit ça affiche bien 0 ou 1 suivant si le pseudo est dans la base de données.

La actuellement ça affiche toujours Ok. Même si le pseudo est dans la base de données.

Merci d'avance de votre aide.


Afficher la suite 

4 réponses

Répondre au sujet
Pitet 2366 Messages postés lundi 11 février 2013Date d'inscription 13 décembre 2017 Dernière intervention - 5 oct. 2017 à 10:24
0
Utile
1
Salut,

Regarde dans l'onglet Réseau de la barre de développement, est-ce que tu y vois ta requête ajax (Source xhr) ?

Si oui tu peux alors cliquez sur la requête dans l'onglet Réseau pour voir les paramètres envoyés et le retour de ta requête.

Bonne journée,
flo39400 586 Messages postés mardi 8 avril 2008Date d'inscription 10 décembre 2017 Dernière intervention - 5 oct. 2017 à 10:58
Merci de votre réponse j'ai trouver hier donc j'ai mis un espace dans data dans
'pseudo =' + pseudo
donc il fallait enlevé l'espace ce qui me donne <code js>'pseudo=' + pseudo<\code>

Bonne journée :)
Commenter la réponse de Pitet
jordane45 19255 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 15 décembre 2017 Dernière intervention - 5 oct. 2017 à 11:01
0
Utile
1
Bonjour ,

Le mieux étant de passer en objet plutôt qu'en uri.

Remplace :
data: 'pseudo=' + pseudo,


Par :
data: {'pseudo' : pseudo},


Tu auras beaucoup moins de soucis....
flo39400 586 Messages postés mardi 8 avril 2008Date d'inscription 10 décembre 2017 Dernière intervention - 5 oct. 2017 à 11:06
Merci de votre réponse, on ma même dit d'utiliser plus tôt cette syntaxe :

data: {pseudo},


Pour les navigateurs qui gèrent l'ES6.
Donc j'ai pris celle la vu que elle marche et que cela reste facile a comprendre.
Commenter la réponse de jordane45