IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

Vérification de l'existence dans une bdd


Sujet :

jQuery

  1. #21
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    erreur ...
    il faut passer par le onsubmit du form et pas par le onclick du bouton submit ...

  2. #22
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 181
    Points : 47
    Points
    47
    Par défaut
    Oui pardon je voulais dire onSubmit bien sûr. Par contre dans mon script, comment appeler ma page php qui crée la requête puisque l'on peux pas le faire en javascript

  3. #23
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 559
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 559
    Points : 21 621
    Points
    21 621
    Par défaut
    Citation Envoyé par hannibal974 Voir le message
    OK. Par contre je ne connais que la méthode source avec jQuery pour appeler une page php depuis un code javascript.
    Dans ce cas tu n'en connais aucune parce qu'elle veut rien dire, ta syntaxe.
    Ce que tu cherches à faire est un appel AJAX. Regarde jQuery.ajax

  4. #24
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 181
    Points : 47
    Points
    47
    Par défaut
    Je viens d'ajouter cela à mon code mais je ne vois pas ce que je dois en faire.
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $.ajax({
       url:"validDept.php",
       context: document.body
    }).done(function(){
       $(this).addClass("done");
    });

  5. #25
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 559
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 559
    Points : 21 621
    Points
    21 621
    Par défaut
    Peut-être que lire les tutoriels serait une bonne idée ?

  6. #26
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 181
    Points : 47
    Points
    47
    Par défaut
    Sérieusement ? Si je ne l'avais pas fait je ne serait pas là en train de demander des explications, je n'essaierai même pas de l'utiliser tout simplement.

  7. #27
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    surtout du coté de data: et de success:

  8. #28
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 181
    Points : 47
    Points
    47
    Par défaut
    J'ai regardé data: et success: mais le code que j'ai créé ne reponds rien. De plus je n'ai pas mis de succes parce que je n'en voit pas l'utilité içi après je me trompe surement.
    Voilà le code que j'ai écrit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    if(document.formdept)
    {
    	var str = document.formdept.depart.value;
    	var strim=str.replace(/[^a-z]/gi, '');
    	$.ajax({
    		type: "POST",
    		url: "validDept.php",
    		data: "dept=$array",
    	});
    	if(strim=="" || str!=$_POST['dept'])
    	{
    		alert("Veuillez saisir un nom de DEPARTEMENT");
    		return false; 
    	}
    	else if (formdept.checkbtm.checked==false && formdept.checkbts.checked==false && formdept.checkbta.checked==false)
    	{
    		alert("Veuillez cocher une durée");
    		return false;
    	}
    	else return true;
    }

  9. #29
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    De plus je n'ai pas mis de succes parce que je n'en voit pas l'utilité içi
    En gros tu poses une question au serveur mais tu te fois de la réponse ?
    c'est dans le success que tu recupèreras la réponse du serveur ... oui ou non la saisie est elle dans la bdd ???
    la page de traitement devra retourner cette reponse conditionnellement à ton test

    coté serveur : echo "true"; ou echo "false".
    et dans le success

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    success: function(reponse){alert(reponse);}
    pour l'exemple ici un alert pour visualiser lé réponse

  10. #30
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 181
    Points : 47
    Points
    47
    Par défaut
    D'accord je comprends un peu mieu déjà.
    J'ai du faire un erreur idiote je suppose mais je te montre quand même mon code javascript et php pour que tu puises me dire ou est l'erreur.

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    if(document.formdept)
    {
    	var str = document.formdept.depart.value;
    	var strim=str.replace(/[^a-z]/gi, '');
    	$.ajax({
    		type: "POST",
    		url: "validDept.php",
    		data: "dept=$array",
    		success: function(dept){}
    	});
    	if(strim=="" || $_POST['dept']=="false")
    	{
    		alert("Veuillez saisir un nom de DEPARTEMENT");
    		return false; 
    	}
    	else if (formdept.checkbtm.checked==false && formdept.checkbts.checked==false && formdept.checkbta.checked==false)
    	{
    		alert("Veuillez cocher une durée");
    		return false;
    	}
    	else return true;
    }

    et là le php:
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    <?php
    try 
    {
    	$bdd = new PDO('mysql:host=localhost;dbname=orange', 'root', '');
    }
    catch(Exception $e)
    {
    	die('Erreur : '.$e->getMessage());
    }
    $term=$_GET['term'];
    $req=$bdd->prepare('SELECT DISTINCT NomDept FROM test WHERE NomDept= :term');
    $req->execute(array('term' => $term));
    $donnees = $req->fetch();
    if($donnees['NomDept'] != NULL)
    	echo "true";
    else echo "false";
    $req->closeCursor();
    ?>

  11. #31
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    tu mélanges php et js ...
    php est exécuté coté serveur
    et js coté client ...

    dans le success tu ne peux avoir que du js !!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    success: function(dept){
     
     
    // ici le traitement js lors du retour de la reponse du serveur 
     
    if (dept= "FALSE"){ alert('erreur !!!'); return false;}
    }
    	});

  12. #32
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 181
    Points : 47
    Points
    47
    Par défaut
    Ok mon code est devenu celui-là :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    if(document.formdept)
    {
    	var str = document.formdept.depart.value;
    	var strim=str.replace(/[^a-z]/gi, '');
    	var trouve=$.ajax({
    		type: "POST",
    		url: "validDept.php",
    		data: "dept=$array",
    		success: function(dept){
    		if(dept=="false")
    			{
    				return false;
    			}
    		else return true;
    	}});
    	if(strim=="" || trouve=="false")
    	{
    		alert("Veuillez saisir un nom de DEPARTEMENT");
    		return false; 
    	}
    	else if (formdept.checkbtm.checked==false && formdept.checkbts.checked==false && formdept.checkbta.checked==false)
    	{
    		alert("Veuillez cocher une durée");
    		return false;
    	}
    	else return true;
    }
    Où est mon erreur ce coup-ci ?

  13. #33
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    success: function(dept){
     alert(dept);
    		if(dept=="false")
    			{
    				return false;
    			}
    		else return true;
    	}
    là il te dit quoi ?

  14. #34
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 181
    Points : 47
    Points
    47
    Par défaut
    Il m'affiche :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <br />
    <font size='1'><table class='xdebug-error xe-notice' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
    <tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Notice: Undefined index: term in D:\wamp\www\Stage Orange\validDept.php on line <i>10</i></th></tr>
    <tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
    <tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr>
    <tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0008</td><td bgcolor='#eeeeec' align='right'>371160</td><td bgcolor='#eeeeec'>{main}(  )</td><td title='D:\wamp\www\Stage Orange\validDept.php' bgcolor='#eeeeec'>..\validDept.php<b>:</b>0</td></tr>
    </table></font>
    false

  15. #35
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    c'est donc que ta page de traitement php ne retourne pas jsuet true ou false, mais tout un code avant !

  16. #36
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Franchement, c'est compliqué d'expliquer les choses à quelqu'un qui ne comprend pas ce qu'il fait...

    Déjà, on t'a expliqué que JavaScript ne peut pas avoir accès aux variable PHP, donc dans
    $array, il sort d'où ?

    Ensuite, manifestement (si on en croit ton message d'erreur), ton script PHP attend un paramètre term, donc si tu lui envoie dept, ben ça marche moins bien.

    Ensuite, une requête AJAX est asynchrone par défaut, donc ton test sur trouve=="false" ne risque pas d'être concluant puisqu'au moment où tu le fais, tu n'as pas reçu la réponse.

    Enfin, tes return dans la fonction success ne servent à rien puisqu'il n'y a rien à qui renvoyer ce résultat !

    Un classique AJAX : utiliser les données au bon moment !

  17. #37
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 181
    Points : 47
    Points
    47
    Par défaut
    Effectivement je ne comprends pas tout et c'est pour cela que je suis là.
    J'ai compris qu'il fallait que je remplace
    Code jscript : Sélectionner tout - Visualiser dans une fenêtre à part
     data:"dept=$array"
    par autre chose. Peut être que je pourrait récupérer ma chaine de caractère grâce à l'ID de mon input et l'affecté dans non pas dept mais term. J'ai vu aussi que j'utiliser la méthode POST alors que dans mon code php j'essaie de récupérer une variable en GET. J'ai donc remplacer le GET par POST. Et pour les return, cette valeur ne s'affecte-t-elle pas à ma variable trouve ?
    En lisant la publication de ton lien , j'ai compris qu'il fallait que j'utilise .send pour récupérer ma variable enfin si c'est bien ce qu'il faut faire.
    Il faudrait donc que je rajoute
    Code jscript : Sélectionner tout - Visualiser dans une fenêtre à part
    trouve.send('term=...');
    avant succes ?

  18. #38
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    data:{"dept": valeur recupérée en javascript }

  19. #39
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2013
    Messages : 181
    Points : 47
    Points
    47
    Par défaut
    J'ai remplacé mon data par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    data: {"term":document.GetElementById('depart')}
    Mais j'ai même plus d'affichage des alert. Ma ligne est donc fausse et je n'ai toujours pas mis le .send dans mon code car je ne sais pas où le mettre

  20. #40
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    deux erreurs en une seule ligne !

    getElementById

    et .value...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    data: {"term":document.getElementById('depart').value}
    tu ne peux pas envoyer l'element par ajax, mais son value ...

Discussions similaires

  1. [PHP 5.3] Une petite verification si un element existe dans la BDD
    Par thebarbarius dans le forum Langage
    Réponses: 4
    Dernier message: 11/04/2010, 11h47
  2. Vérification de répertoire existant dans une boucle
    Par Invité(e) dans le forum Langage
    Réponses: 2
    Dernier message: 10/04/2010, 09h02
  3. script pour vérifier si un champ existe déjà dans une BDD
    Par tomguiss dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 02/02/2009, 13h19
  4. tester l'existance d'une donnée dans une BDD
    Par rpg59 dans le forum C++
    Réponses: 4
    Dernier message: 28/05/2008, 09h30
  5. Vérification de l'existence d'une url dans la BDD en langage JAVA
    Par ohhh.gringo dans le forum Autres langages pour le Web
    Réponses: 1
    Dernier message: 15/05/2007, 17h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo