Signaler

Formulaire pseudo 0 ou 1 [Résolu]

Posez votre question flo39400 531Messages postés mardi 8 avril 2008Date d'inscription 9 octobre 2017 Dernière intervention - Dernière réponse le 5 oct. 2017 à 11:06 par flo39400
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.


Utile
+0
plus moins
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 531Messages postés mardi 8 avril 2008Date d'inscription 9 octobre 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 :)
Répondre
Donnez votre avis
Utile
+0
plus moins
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 531Messages postés mardi 8 avril 2008Date d'inscription 9 octobre 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.
Répondre
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !