bonjour

bon j'aimerai tester sur un formulaire avec jquery ,si le pseudo existe déja dans ma base de donnees en lui affichant à coté de l'input "pseudo déja existe"

et si il n'existe pas on affiche "ok"

j'ai bien chercher sur net et tester bq de codes mais ça ne marche toujours pas avec moi :/

et merci énormément pr votre aide

34 réponses


otakodes
Réponse acceptée

vous êtes bien dur avec lui je trouve, c'est un forum d'entre aide et il y a de meilleurs façon d'expliquer à quelqu'un qu'il prends un mauvais chemin.

@Shinra_Tensei en effet, comme l'a dit tout le monde on ne va pas te donner la réponse toute faite car, 1. on apas tout ton code, 2. ce n'est pas le but, le jour de ton examen ou en entreprise tu n'aura pas le temps d'aller demander aux copains de grafikart

si là tu dis "j'ai pas le temps" et c'est pour ça que tu veux qu'on te donne les réponse, j'ai peu de te le dire mais tu n'ira pas très loin dans ce métier.

Pour revenir à la question initial fait ce que @earhater a dit et change

// ça affiche le TEXT / STRING 'data' et non data, la variable du résultat de la requête ajax
$('.error').text('data');
// vois-tu la différence ?
$('.error').text(data);

après voilà en changeant ça et en vérifiant dans ta console (un petit console.log(data)) que ton résultat est bien envoyé côté serveur tu arrivera à débuggé.

bonne soirée à tous.

Tu doit passer par de l'ajax, tu a une page en php, par exemple, qui vas traiter ton formulaire, elle renvoie un Json contenant soit le success, soit l'erreur et tu l'affiche apres avec jQuery quand tu traite le success ou le error de ta requette ajax

merci pour votre réponse
mais veuillez etre clair car je suis débutant en jquery..mais j'ai déja suivi plusieurs cours en net mais j'arrive tjrs pas :/

Ben pour pouvoir recupérer les données il te faut une page en php par exemple qui vas enregistrer les données dans la base, elle va faire le traitement de tes données, une foi le formulaire traiter coté server avec php, il faut lui faire retourner des success et des erreurs pour valider ou non le formulaire.

Avec ton code jQuery, tu vas aller faire une requette de type ajax sur ta page php pour recupérer les informations transmise par le server donc soit success et le message aparait vert soit erreur et le message aparait en rouge ( ces couleurs sont totalement aleatoire c'est en css que tu gère ca )

tu auras plus d'information ici :

l'ajax
poster un formulaire en ajax

Salut,

Pour commencer, pourquoi vouloir absolument faire cela en jQuery ?
Pour rappel, jQuery est un librairie de fonctions Javascript. Je vois que tu as mentionné le fait que tu étais débutant en jQuery, or, avant de savoir dev en jQuery (j'en ai marre de répéter jQuery.. ^^), il faut savoir dev en Javascript.
Rien de t'y oblige, mais c'est une bonne pratique car jQuery n'est pas éternel et laissera nécessairement place à une autre lib un jour ou l'autre (à l'instar de ce qui s'est passé pour Mootools ou prototype.js).

Voilà voilà, sinon je t'invite à regarder le tutoriel sur l'AJAX, comme te l'a proposé @Defy ;)

Pour rappel, jQuery est un librairie de fonctions Javascript. Je vois que tu as mentionné le fait que tu étais débutant en jQuery, or, avant de savoir dev en jQuery (j'en ai marre de répéter jQuery.. ^^), il faut savoir dev en Javascript.

c'est absolument vrai!

Bonsoir et merci pr votre réponse
voilà le code que j'ai essayé mais ça marche tjrs pas
index.html

<form id="form" method="post" action="cc.php">
                        <div id="input">
                        <input class="l_form1" type="text" placeholder="Cne" value="" name="nom" id="username">
                        <div class="error"></div>
                         
                    <br> 
                    </form>

post.php (sachant que y'as pas de problème lié à la connexion à la BDD)

<?php
 
// Connexion a la base de donneeses
include('connect.php');
$username=$_POST['nom'];
$req = $bdd->query("SELECT * FROM users WHERE username='$username'");
$rows=$req->rowCount();
  if($rows=='1')
  {
      echo "ce pseudo n'est pas disponnible";
  }
  else
  {
  echo "disponnible";
  }
?>

func.js

$(document).ready(function(){
 $('#username').keyup(function(){
    var username=$('#username').val();
      if(username!=""){
        $.post('post.php',{username:username},function(data){
          $('.error').text('data');
         
         
        });
         
         
         
         
      }else{
      $('.error').text('veuillez saisir un pseudo');
         
      }  
  
 });
});

Bonjour je ne suis pas un expert mais ...
Ici tu ne vérifie pas coté navigateur. Tu dois (c'est une possibilité parmis d'autres) stocker le résultat de ta requette dans une variable que tu va envoyer coté navigateur.
Se sera un tableau, tu vérifie si la valeur correspond ou non et selon le résultat tu affiches ou non l'erreur.

Merci Benjamin mais je vous ai pas bien compris..vous pouvez m'expliquer mieux et merci :)

Un peu de lecture sur ...

Je préfère te laisser chercher sur la documentation (meilleurs moyen d'apprendre !) plutôt que te donner la réponse =D

ouais normalement c'est ce que je devrais faire c'est de lire les cours mais malheureusement j'ai pas me temps :(

ça te prendra 10-15min . Si on te donne la solution et que tu dois changer ton code par la suite, le temps de le comprendre la tu va perdre du temps ...

j'ai pas compris ce json ! ! oO

json est un format de données semblable aux tableaux

je comprends tjrs pas et surtout ajax en anglais :3

si tu cherche a avoir du code tous fait, c'est pas ici que ca se fera, on est la pour aider mais pas pour faire.

Je t'ai donnée 2 liens videos de grafikart en français sur l'ajax et la validation de formulaire avec ajax

désolé j'avais pas vu les liens videos merci :)

Je suis débutant, je sais pas ce que je fais, j'ai pas le temps d'apprendre et je comprends pas bien l'anglais. C'est beau l'informatique aujourd'hui :D

je suis débutant en terme de jquery ..j'ai pas le temps parce que j'ai pleins de projets ;)
bonne soirée à toi

Ce que tu demandes n'a absolument rien à voir avec Jquery mais avec le JavaScript tout court. Voire même avec les langages serveur. Voire même avec les formats de fichiers ... La c'est pas débutant avec une librairie que tu es mais débutant dans la programmation, tu as un gros manque de recherche (même sur ce site, ce qui est à la base avant de poser une question sur ce site), tu lis à moitié les réponses données (lien vers les tutos de grafikart) et tu redemandes des explications encore plus préçise alors qu'elles sont très claires.
Ce que tu veux c'est la solution point barre, et ça n'a jamais été bien vu ni formateur.

Mr earhater je veux pas de te decevoir mais je suis pas debutant je veux pas te lister ce que je sais faire ;) là j'essaie quelque chose de nouveau pr mon projet..en fin sert à rien de t'expliquer ^^.. bonne soirée ;)

Je peux t'assurer que tu es un grand débutant. Par exemple la ligne ou tu fais

$('.error').text('data');

au lieu d'afficher le contenu de la variable data m'a doucement fait rire, ou encore ne pas distinguer un langage d'une librairie. Je t'avoue que je pense que la liste des choses que tu sais faire doit être assez réduite :D Mais je suis un bon prince aujourd'hui, je te donne le code tout prêt, sans jquery pour te former un peu :

window.addEventListener('load', function(e)
{
    var input = document.querySelector("#username");
    input.addEventListener('keypress', function(e)
    {
        if(input.value == "")
            return false;

        var xhr   = new XMLHttpRequest();

        xhr.onreadystatechange = function() {
            if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {
                if(xhr.reseponseText != "disponible")
                    alert('Pseudo indisponible')
                else
                    alert('OK')
            }
        };

        xhr.open("POST", "post.php");
        xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        xhr.send("username=" + input.value);

        e.preventDefault();
        return false;
    });

});

mercii pr le code mais ça fonctionne tjrs pas :/
et tu as l'ai encore pas comprendre ..je suis bien et bel debutant ce qui concerne jquery ou javascript en fin j'en sais rien c juste c que j'ai appris en voyant quelque leçons et donc que tu me vois un debutant j'ai pas de problème ;)

Si ça ne fonctionne pas c'est que ton code HTML est faux (tu ne l'as pas donné) ou que ton serveur ne renvoie pas les bonnes informations. Modifie le code et cherche au lieu de dire que ça ne fonctionne pas.

  • As-tu des erreurs dans la console de ton navigateur
  • Le selecteur du champ username est-il correct ou as-tu pompé ça arbitrairement sur un site
  • Le retour serveur est-il correct (tu peux le voir dans l'onglet network de ta boite à dévelopement via F12) car j'ai testé le retour de la chaine "disponible" dans le cas ou ça marchait

Retiens bien que ça ne sers à rien de venir nous voir en ayant copier coller des codes sur internet et en ayant pas regardé les formations de grafikart tu ne comprendras jamais les codes sinon

ça fonctionne mais pas comme je le voudrais
ça me redirige vers post.php et m'indiquant si le pseudo est dispo ou pas
mais ce que j'aimerais que quand on tape le pseudo ça affiche à coté si il est dispo ou pas

ouais ouais ...merciii beaucoup darkylmnx

Expliquer à des débutants qu'ils prennent un mauvais chemin je suis ravi de le faire. Avoir un ton du genre j'ai tout copé collé sur la toile, j'ai la flemme de regarder les tutos tout ce que je veux c'est le code tout prêt tout fait c'est autre chose

c bon ça marche merci à vous..et earhater c juste que tu me méprends..c pas une question que je veux le code pret déja 2 jrs que je cherche des tutos et videos et je teste ici et labas mais ça voulais pas marcher c pr ça j'ai posté ce sujet..mais franchement j'ai pas le temps à ce moment là pr apprendre une nouveau language du à mes engagements ,et t'as pas le droit de te moquer de quelqu'un en le traitant de debutant et que tu ne sais rien de lui ;) ..en bref j'ai pas l'attention de tt raconter :D
mercii encore une fois et bonne soirée..

Je suis plutôt d'accord avec les remarques de @earhater.

C'est même plus une question de débutant, ou d'avoir le temps là. On t'as mis sur la piste (clairement et précisemment), on t'as même donné la solution , et tu trouves le moyens de dire que ça ne fonctionne pas .... j'ai du mal à croire que tu ai fais des recherches si même avec le code que earhater t'as donné tu dis que ça ne fonctionne pas.

@Benjamin Derepas : il a dit que ça ne fonctionne pas parce que la page affiche "Pseudo indisponible" ou "ok" au lieu de l'afficher à côté de son input. Il ne veut pas nous montrer une tentative de sa part pour le faire. Je sais très bien ce que c'est de travailler en entreprise et d'être pressé mais là c'est à un certain niveau

là il est claire que nous avons affaire à soit en enfant soit... je ne sais pas. Mon commentaire était juste là pou notifier que quand même il y a une manière de dire les choses c'est tout, au pire vous ne répondez au sujet si vous voyez que l'auteur vous agace, il finira par trouver si personne ne lui réponds parce qu'il est désagréable. ;)

Je ne pense pas avoir été particulièrement trash talk, très certeinement désagréable peut être mais il y a de quoi hérisser le poil d'une carte mère

oui je conçois @earhater