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

JavaScript Discussion :

[PHP-JS] fonction javascript utilisant un code php


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2008
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 39
    Points : 34
    Points
    34
    Par défaut [PHP-JS] fonction javascript utilisant un code php
    Bonsoir tt le monde;

    je travaille sur MYSQL/dreamweaver,
    j'ai fait une fonction javascript qui contient un code PHP mais celle-ci ne marche pas correctement; je pense que la requête n'est pas détectée.

    Merci d'avance pour votre aide!

    voici le code de ma fonction :

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    						<script language="javascript" type="text/javascript">
    							<!--
    								function verif_dispo(inscription)
    								{
    									var log_entre=document.getElementById('login');
    									var mess;
    									if (log_entre=="")
    										{
    											mess=alert("Vous devez Entrer un login !");
    										}
    									else
    									{
    									<?php 
                                                                                    $req=mysql_query("SELECT distinct(login_client) AS login FROM client");
                                                                                    $reponse=mysql_fetch_assoc($req);
                                                                                            if($reponse['login']==log_entre )
                                                                                            {
                                                                                                    ?> document.inscription.login.value= "";
    												mess=alert("le login que vous avez entré est déjà utilisé !");
    											<?php 
                                                                                            }
                                                                                            else
                                                                                            {?>
    												var mess=alert("le login que vous avez entré est valide");
    											<?php }
                                                                            ?>
    									}
    									return mess;
    								}
    							//-->
    						</script>

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 397
    Points : 430
    Points
    430
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var log_entre=document.getElementById('login');
    var mess;
    if (log_entre=="")
    Tu compares ton log_entre qui est un element à une chaine de caractère nulle, ca ne doit pas être très bon pour le résultat du test.

    il faudrait surement écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var log_entre=document.getElementById('login').value

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mai 2008
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 39
    Points : 34
    Points
    34
    Par défaut
    Bonjour,

    Merci pour votre aide, maintenant le contrôle sur la variable si elle est vide ou pas se fait correctement sauf que le problème de la requête est toujours là !

    j'ai effectué qq modification au niveau du 2ème test, mais ça marche pas !

    voilà le nouveau code :

    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
    23
    24
    25
    26
    27
    28
    29
    <script language="javascript" type="text/javascript">
    							<!--
    								function verif_dispo(inscription)
    								{
    									var log_entre=document.getElementById('login').value;
    									var mess;
    									if (log_entre=="")
    										{
    											mess=alert("Vous devez Entrer un login !");
    										}
    									else if(log_entre!="")
    									{
    									<?php 
                                                                                    $req=mysql_query("SELECT distinct(login_client) AS login FROM client");
                                                                                    $reponse=mysql_fetch_assoc($req);?>
    											if(<?php echo $reponse['login']?>==log_entre)
    											{
    												mess=alert("le login que vous avez entré est déjà utilisé !");
    												document.inscription.login.value="";
    											}
    											else
    											{
    												var mess=alert("le login que vous avez entré est valide");
    											}
    									}
    									return mess;
    								}
    							//-->
    						</script>

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 397
    Points : 430
    Points
    430
    Par défaut
    J'ai un doute sur l'existence du else if en javascript.

    Il faudrait peut être essayer de décomposer le else if écrit dans le programme en un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    else
    {
          if(condition)
          {
          actions...
          }
          else
          {
          actions....
          }
    }
    Aucune certitude dans ma solution mais sait on jamais.

    Bon courage.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Mai 2008
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 39
    Points : 34
    Points
    34
    Par défaut
    Bonjour,

    Merci pour votre aide, maintenant le contrôle sur la variable si elle est vide ou pas se fait correctement sauf que le problème de la requête est toujours là !

    j'ai effectué qq modification au niveau du 2ème test, mais ça marche pas !

    voilà le nouveau code :

    <script language="javascript" type="text/javascript">
    <!--
    function verif_dispo(inscription)
    {
    var log_entre=document.getElementById('login').value;
    var mess;
    if (log_entre=="")
    {
    mess=alert("Vous devez Entrer un login !");
    }
    else if(log_entre!="")
    {
    <?php
    $req=mysql_query("SELECT distinct(login_client) AS login FROM client");
    $reponse=mysql_fetch_assoc($req);?>
    if(<?php echo $reponse['login']?>==log_entre)
    {
    mess=alert("le login que vous avez entré est déjà utilisé !");
    document.inscription.login.value="";
    }
    else
    {
    var mess=alert("le login que vous avez entré est valide");
    }
    }
    return mess;
    }
    //-->
    </script>

  6. #6
    Nouveau membre du Club
    Inscrit en
    Mai 2008
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 39
    Points : 34
    Points
    34
    Par défaut
    je l'ai changé le else if (...) mais le problème n'est pas là ; la partie suivante du code n'est pas detéctée !
    .
    .
    .
    else
    {

    <?php
    $req=mysql_query("SELECT distinct(login_client) AS login FROM client");
    $reponse=mysql_fetch_assoc($req);?>
    if(log_entre=<?php echo $reponse['login']?>)
    {
    mess=alert("le login que vous avez entré est déjà utilisé !");
    document.inscription.login.value="";
    }
    else
    {
    var mess=alert("le login que vous avez entré est valide");
    }
    }
    .
    .
    .

  7. #7
    Nouveau membre du Club
    Inscrit en
    Mai 2006
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 33
    Points : 26
    Points
    26
    Par défaut
    Salut,

    Ton problème vient du fait que le javascript n'interprete pas le PHP. Ils ne s'exécutent pas de la même manière et sont donc incompatibles.
    Cherche du côté de "XHR" (XML HTTP Requester, si je me souviens bien) sur internet.
    Je dois avoir implémenté ça une fois. Je regarde dans les sources d'un site Ajax que j'avais fait et je te file la syntaxe.

  8. #8
    Nouveau membre du Club
    Inscrit en
    Mai 2006
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 33
    Points : 26
    Points
    26
    Par défaut
    Au fait, tu test : login_entre != "", mais ça t'empêche pas d'avoir un login rempli d'espaces.
    Pas de pb avec "else if".

    Voilà un exemple de XHR :

    Du côté javascript :
    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
    23
    24
    25
    26
    27
    28
    29
    function requetePHP(log_entre) {
        var xhr=null;
     
        if (window.XMLHttpRequest) { 
            xhr = new XMLHttpRequest();
        } else if (window.ActiveXObject) {
            xhr = new ActiveXObject("Microsoft.XMLHTTP");
        }
     
        if(xhr!=null) {
        	xhr.onreadystatechange = function() {
        		requetePHP_res(xhr);
        	};
        	xhr.open("POST", "tonFichier.php", true); // fait un fichier avec ta requete php
      	xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=iso-8859-1");
        	xhr.send("log_entre="+log_entre); // Les parametres
        } else {
        	alert('Erreur de communication');
        }
    }
     
    function requetePHP_res(xhr) {
    	if(xhr.readyState==4) {
           		if(xhr.status==200 || xhr.status==304) {
    			var resultat= xhr.responseText;
    			alert(resultat);
    		}
    	}
    }
    Dans l'entete de ton fichier php tu mets ça (pour récupérer les parametres) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $log_entre = $_POST['log_entre'];
     
    // Requete etc...
     
    //si mauvais login {
    	echo "login existant";
    //}
    //sinon
    	echo "ok";
    Après tu peux chercher à retourner des doc Xml (cf Ajax) si tu veux d'avantage exploiter des résultats du php.

    J'ai rien testé, donc si ça marche pas tu devrais t'en sortir au débug. M'enfin, tu aurais surement trouvé des éléments de réponse en cherchant tout simplement "php javascript" sur google. Sinon, pour coder du javascript je te conseille "Aptana". Dreamwaver en plus d'être payant est pas super adapté je trouve.

    Désolé pour le double poste..

  9. #9
    Nouveau membre du Club
    Inscrit en
    Mai 2008
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 39
    Points : 34
    Points
    34
    Par défaut
    Merci Bcp ! je vais essayer d'appliquer ce que vous m'avez propsé

  10. #10
    Membre régulier Avatar de AmineDev9
    Inscrit en
    Décembre 2007
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 193
    Points : 104
    Points
    104
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $req=mysql_query("SELECT distinct(login_client) AS login FROM client");
    je pense que la fonction mysql_query prend 2 argument ..
    ma proposition:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $req="SELECT distinct(login_client) AS login FROM client";
    $res=mysql_query($req,$id_connexion);
    et n'oublier pas d'inserer un fichier "connexion.php" avant la requete
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    include("connexion.php");
    voici un exemple de ce fichier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php 
    	$serveur="localhost";
    	$utilisateur="root";
    	$motdepasse="";
    	$base="nom_base";
    	$port="3306";
     
    $id_connexion=mysql_connect($serveur,$utilisateur,$motdepasse);
    mysql_select_db($base);
    ?>

Discussions similaires

  1. Appel de fonction Javascript dans un code php
    Par missmiss89 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 25/07/2011, 15h24
  2. [PHP 5.3] retourne le resultat d'une fonction javascript dans un code php
    Par abir001 dans le forum Langage
    Réponses: 4
    Dernier message: 13/04/2010, 14h36
  3. Réponses: 4
    Dernier message: 30/05/2007, 18h05
  4. [PHP-JS] fonction javascript dans un script PHP
    Par guy2004 dans le forum Langage
    Réponses: 7
    Dernier message: 19/11/2006, 17h50
  5. Réponses: 2
    Dernier message: 07/07/2006, 21h11

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