Formulaire pseudo 0 ou 1

Résolu/Fermé
flo39400 Messages postés 596 Date d'inscription mardi 8 avril 2008 Statut Membre Dernière intervention 9 septembre 2021 - 4 oct. 2017 à 15:47
flo39400 Messages postés 596 Date d'inscription mardi 8 avril 2008 Statut Membre Dernière intervention 9 septembre 2021 - 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.


2 réponses

Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 525
5 oct. 2017 à 10:24
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,
0
flo39400 Messages postés 596 Date d'inscription mardi 8 avril 2008 Statut Membre Dernière intervention 9 septembre 2021 21
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 :)
0
jordane45 Messages postés 38300 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 novembre 2024 4 704
5 oct. 2017 à 11:01
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....
0
flo39400 Messages postés 596 Date d'inscription mardi 8 avril 2008 Statut Membre Dernière intervention 9 septembre 2021 21
Modifié le 5 oct. 2017 à 11:07
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.
0