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

Langage PHP Discussion :

Executer fonction Javascript dans PHP


Sujet :

Langage PHP

  1. #1
    Membre actif Avatar de Général03
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 848
    Points : 283
    Points
    283
    Par défaut Executer fonction Javascript dans PHP
    Bonjour,

    j'ai réalisé une fenêtre en Javascript où je place diverses informations. J'aimerais réutiliser la fonction (en javascript) qui appelle cette fenêtre lorsque je suis dans mon script PHP.
    J'ai trouvé des infos sur le forum pour créer un script dans PHP mais moi cette fonction existe déjà en HTML, et je voudrais la réutiliser.
    Est possible d'appeler une fonction javascript dans une page PHP ?

    Merci

  2. #2
    FoxLeRenard
    Invité(e)
    Par défaut
    Citation Envoyé par Général03 Voir le message
    Bonjour,
    j'ai réalisé une fenêtre en Javascript où je place diverses informations. J'aimerais réutiliser la fonction (en javascript) qui appelle cette fenêtre lorsque je suis dans mon script PHP.
    J'ai trouvé des infos sur le forum pour créer un script dans PHP mais moi cette fonction existe déjà en HTML, et je voudrais la réutiliser.
    Est possible d'appeler une fonction javascript dans une page PHP ?
    Merci
    Bonjour, je ne sais pas ce que tu connais du PHP, mais le PHP n'est pas chez le client, (visiteur), il tourne sur le serveur du site web, et son seul but est de fabriquer des pages HTML et de les envoyer aux visiteurs, (avec ou pas, les feuilles de style, les javascript etc ...)

    Donc si dans une page PHP tu fabrique une page qui doit utiliser un javascript que tu as déjas créé, il te suffit de déclarer ta page xxx.JS dans le HEAD de ta page HTML
    ou de le générer dans la page HTML par des "echo" des lignes de ton javascript !

    Mais n'oublie pas, PHP et JAVASCRIPT ne se conaissent pas (ou presque)
    Le PHP s'arrétes quand la page est générée chez le client !

  3. #3
    Membre actif Avatar de Général03
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 848
    Points : 283
    Points
    283
    Par défaut
    ou de le générer dans la page HTML par des "echo" des lignes de ton javascript !
    tu veux dire que je pourrais faire ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<script type="text/javascript" src="monscript.js"></script>';
    là je suis OK. Mais comment tu fais pour appeler une fonction de ce script ??
    Voila se que j'ai en
    PHP
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    ...
    //Là je veux appeler ma fonction JS "MaFonction()" 
    ...
    ?>
    JS
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    function MaFonction () {
    ...
    }
     
    function AutreFonction () {
    ...
    }
     
    ...

  4. #4
    Membre éprouvé Avatar de obito
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 773
    Points : 948
    Points
    948
    Par défaut
    Bonjour ! Que fait ta fonction? Parce que le plus simple serait de l'appeler sur un evenement comme le onload sur body ou encore onclick d'un bouton... Bref en résumé que fait la fonction? ^^

  5. #5
    Membre actif Avatar de Général03
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 848
    Points : 283
    Points
    283
    Par défaut
    Que fait ta fonction?
    Ma fonction JS "MaFonction()" permet de placer des informations dans une fenêtre que j'ai créée. J'utilise cette fonction pour afficher des indications à l'utilisateur quand il saisie mal des champs. En faite, ma fonction remplace "alert();" de JS, je voulais ma fenêtre personnalisée et avec alert ce n'est pas possible.
    Et ensuite j'aimerais utiliser cette fonction JS pour afficher des informations si par exemple ma requete MySQL échoue (donc en PHP). Et je ne souhaite pas réécrire ma fonction d'affichage.

    le plus simple serait de l'appeler sur un evenement comme le onload sur body ou encore onclick d'un bouton.
    Je ne peux pas faire sur un évènement car c'est après un traitement en PHP (exemple valeur numérique d'un champs interdit => affiche à l'utilisateur "Saisie impossible") que je veux aller chercher ma fonction JS.

  6. #6
    Membre éprouvé Avatar de obito
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 773
    Points : 948
    Points
    948
    Par défaut
    je voulais ma fenêtre personnalisée et avec alert ce n'est pas possible.
    Je crois que jquery propose ca (entre autre).

    Et ce que tu souhaite faire peut être géré avec un événement : OnKeyUp du champ tu appel une fonction javascript qui appellera un script php (via AJAX) Mais y a peut être quelque chose qui m'échappe la^^

    Sinon je vois pas comment faire (parce que je n'ai jamais eu à le faire pas parce que c'est forcement impossible)

  7. #7
    FoxLeRenard
    Invité(e)
    Par défaut
    Citation Envoyé par Général03 Voir le message
    Ma fonction JS "MaFonction()"
    Je comprends que tu n'as pas lu mon premier message , ou j'ais mal expliqué !!

    Alors faisons autrement,

    AVANT TES PHP
    tu avais des html, et dans ces html tu récupérais une saisie et en fonction de ça, tu affichait des infos dans une fenétre !

    AVEC PHP
    tu peux au réaffichage de ta fenétre aprés saisie, placer directement ton message dans la fenétre

    Par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?PHP
    if( $pasbon==99 ) echo ("<div> votre saisie est mauvaise</div>");
    ?>
    mais PHP est vu et reconnu et executé SUR LE SERVEUR
    et HTML Javascript CSS sur le micrio du visiteur !!!!

  8. #8
    Membre actif Avatar de Général03
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 848
    Points : 283
    Points
    283
    Par défaut
    AVEC PHP
    tu peux au réaffichage de ta fenétre aprés saisie, placer directement ton message dans la fenétre
    Voilà c'est exactement cela que je veux faire
    <?PHP
    if( $pasbon==99 ) echo ("<div> votre saisie est mauvaise</div>");
    ?>
    Mais à la place de echo je veux lancer ma fonction JS à laquelle je passe en paramètre ma chaine à afficher.
    mais PHP est vu et reconnu et executé SUR LE SERVEUR
    et HTML Javascript CSS sur le micrio du visiteur !!!!
    Je suis OK sur le fonctionnement de PHP et JS, mais tu veux dire se n'est pas possible d'appeler une fonction JS en PHP ???

  9. #9
    FoxLeRenard
    Invité(e)
    Par défaut
    tu veux dire se n'est pas possible d'appeler une fonction JS en PHP ???

    Exactement on ne peut pas par contre dans ta logique PHP, (qui génére une page HTML tu peux bien sur écrire)


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?PHP
    if( $pasbon==99 ) echo ("<script language=javascript>mafonction(); </script>");
    ?>

  10. #10
    Membre actif Avatar de Général03
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 848
    Points : 283
    Points
    283
    Par défaut
    Mais avec le code que tu m'as donné je suis obligé de réécrire ma fonction JS dans mon script PHP alors qu'elle est présente dans mon script JS !!! En clair j'ai pas d'autre choix que de réécrire ma fonction d'affichage ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?PHP
    if( $pasbon==99 ) echo ("<script language=javascript:mafonction(chaine){
    ...
    //Mon script pour afficher une fenêtre
    ...
    } </script>");
    ?>

  11. #11
    Membre éclairé Avatar de cadoudal56
    Profil pro
    Inscrit en
    Février 2005
    Messages
    694
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2005
    Messages : 694
    Points : 779
    Points
    779
    Par défaut
    Effecctivement, le javascript est un langage client interprété et executé par le navigateur.
    Le PHP est un langage serveur interprété par le serveur...

    Ce n'est pas plus compliqué que cela...

    Ce que je te suggere c'est de réécrire le code javascript dans une fonction en PHP puis d'y faire appel au besoin...

    @+
    cadou

  12. #12
    Membre actif Avatar de Général03
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 848
    Points : 283
    Points
    283
    Par défaut
    J'ai pensé à une solution possible :
    Est-il possible que PHP envoie une chaine de caractère à ma page HTML ? Si c'est possible après je pourrais l'inclure à ma fonction JS. Et hop le tour est joué !!!

  13. #13
    FoxLeRenard
    Invité(e)
    Par défaut
    Citation Envoyé par Général03 Voir le message
    J'ai pensé à une solution possible :
    Est-il possible que PHP envoie une chaine de caractère à ma page HTML ? Si c'est possible après je pourrais l'inclure à ma fonction JS. Et hop le tour est joué !!!
    Hummmmmmmmmmm... c' est ce que nous te disons

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?PHP 
    echo ("xxxxxxxxxxxx");
    ?>
    Envoie tout ce que tu veux a ton HTML

  14. #14
    Membre actif Avatar de Général03
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 848
    Points : 283
    Points
    283
    Par défaut
    Hummmmmmmmmmm... c' est ce que nous te disons

    Code :


    <?PHP
    echo ("xxxxxxxxxxxx");
    ?>


    Envoie tout ce que tu veux a ton HTML
    J'ai essayé dans mon script PHP de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $Pseudo = $_POST['NewUser'];
    echo('<script type="text/javascript" src="JS/fenetre.js"></script>');
    echo ('<script language=javascript>MaFonction($Pseudo); </script>');
    mais il me dise que la fonction "MaFonction()" n'est pas définie. Elles est dans mon script "fenetre.js".
    Vous m'avez bien dit que comme cela ça devait fonctionner ???

  15. #15
    FoxLeRenard
    Invité(e)
    Par défaut
    Trés bien alors il n' y a pas 36 solutions
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <html><body>
    <div> Salut les amis</div> 
    <?PHP
    $Pseudo = $_POST['NewUser'];
    echo("<script type='text/javascript' src='JS/fenetre.js'></script>"');
    echo ("<script language=javascript>MaFonction(".$Pseudo."); </script>");
    ?>
     
    ETC...
    </body></html>
    1) il faut étre dans le HTML tel que tu l'écris donc c' est ce que j'ais mis comme exemple

    2) on est bien OK que la place du javascript est bien en "JS/fenetre.js"
    avec JS en majuscule ??

    3) regardes la syntaxe du deuxiéme ECHO !! j'ais mis des "
    et je supposes que la fonction est bien dans ton JS !!

  16. #16
    Membre actif Avatar de Général03
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 848
    Points : 283
    Points
    283
    Par défaut
    1) il faut étre dans le HTML tel que tu l'écris donc c' est ce que j'ais mis comme exemple
    Alors j'ai essayé de placé mon bout de code PHP dans ma page HTML comme tu me l'a fait voir ci-dessus. Et là 2 comportements différents :
    • Si j'enregistre ce fichier en .php (se qui me sembre être préconisé pour que le code soit interprété coté serveur) rien ne se passe, j'ai une page blanche sans que ma fenetre apparaisse.

    • Si j'enregistre ce fichier en .html je vois ma fenetre mais mon script PHP est inscrit sous le contenu HTML...donc pas top !!!

    Je dois bien enregistrer mon fichier en .php ?

  17. #17
    Membre actif Avatar de Général03
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 848
    Points : 283
    Points
    283
    Par défaut
    L'erreur que j'évoquait au post précédent a était résolu en mettant ce script dans le <head>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <head>
    <script type="text/javascript" src="JS/verifformulaire.js"></script>
    </head>
    Par contre la variable $Pseudo que je passe en paramètre à ma fonction MaFonction() n'est pas reconnue. Je vois bien ma fenetre mais pas le contenu c'est à dire se que contient $Pseudo. Comme il a était déclaré ci-dessous ça veut bien dire que la variable $Pseudo est une chaine de caractère ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo ("<script language=javascript>MaFonction(".$Pseudo."); </script>");
    J'ai vérifié la synthaxe de echo mais je crois que ça ne vient pas de là !

  18. #18
    FoxLeRenard
    Invité(e)
    Par défaut
    enregistrer mon fichier en .php ?

    OUI !!
    du reste a l'exemple que je t'ais mis je t'avais mis un HTML avec une phrase dans un div !!
    alors comment peux tu avoir une page blanche ?

  19. #19
    Membre actif Avatar de Général03
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 848
    Points : 283
    Points
    283
    Par défaut
    alors comment peux tu avoir une page blanche ?
    Réponse
    L'erreur que j'évoquait au post précédent a était résolu en mettant ce script dans le <head>
    Code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <head>
    <script type="text/javascript" src="JS/verifformulaire.js"></script>
    </head>
    Maintenant j'obtiens bien ma fenetre mais je n'ai pas le contenu de $Pseudo à l'intérieur. Firebug me dit que "nom" n'est pas défini (si je saisie "nom" dans le champs où name="NewUser") alors que celui-ci est le contenu du champ où je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $Pseudo = $_POST['NewUser'];
    Comme si il cherchait que se soit une fonction alors que c'est une chaine de caractère que j'ai saisie

  20. #20
    FoxLeRenard
    Invité(e)
    Par défaut
    Bon je ne dis pas que j'abandonnes, mais voila,
    quand on pose une question, ceux qui te répondent essaient de te donner les moyens de comprendre un mécanisme , aprés quand ça marche tu essais d'introduire ton nouveau module dans ton ensemble,

    Alors voila je vais te faire un PHP appelles le toto.php
    prends le tel qu'il est et regardes si ça marche !

    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
     
     
    <html><body>
    <div> Salut les amis</div> 
    <?PHP
    if (isset($_POST["NewUser"])) $Pseudo=trim($_POST["NewUser"]);
        else $Pseudo="";
     
    echo ("<br /> ".$Pseudo."<br />");
    echo("<script type='text/javascript' src='JS/fenetre.js'></script>");
    if ($Pseudo !="")
    echo ("<script language=javascript>MaFonction(".$Pseudo."); </script>");
    ?>
    <br /><br />
    <form method='POST' action='toto.php'>
    <input type="text" name="NewUser" SIZE="30"><br /><br /> 
    <input type="submit" value=" Envoyer " name="B1">
    </form>
    </body></html>

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Fonction javascript dans php
    Par s.rais dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 24/09/2013, 17h02
  2. [MySQL] appel fonction javascript dans php
    Par diengkals dans le forum PHP & Base de données
    Réponses: 25
    Dernier message: 26/12/2012, 16h33
  3. Récupérer la variable d'une fonction JavaScript dans PHP
    Par Nix6800 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 18/11/2009, 15h13
  4. fonction javascript dans php
    Par roussos dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 12/09/2008, 14h43
  5. Réponses: 5
    Dernier message: 01/02/2008, 15h29

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