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] communication entre javascript et php


Sujet :

JavaScript

  1. #1
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    142
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 142
    Points : 73
    Points
    73
    Par défaut [PHP-JS] communication entre javascript et php
    Bonjour,
    j'ai une fonction imprimer, appelée suite au click sur le lien imprimer de pa page .php.

    cette fonction doit ouvrir une po-pup affichant la partie de ma page .php destinée à l'impression puis a lancer l'impression automatiquement.

    le premier problème que j'ai eu est le passage de ce contenu a ma focntion javascript, suite à celà j'ai essayé de récupérer ce contenu à partir de sa source (plate forme distante) pour l'afficher dans ma po-pup.

    mon fonction javascript est la suivante :

    function imprimer()
    {
    var f1 = null;
    var PSR_f1 = null;

    <?
    require_once('../Fonctions.php');
    $result=get_detail();
    $contenu=$result['CONTENU'];
    ?>

    var contenu=<? $contenu ?>;


    PSR_f1 = window.open ("","f1", "height=600,width=740,menubar=no,scrollbars=yes,resizable=no,left=10,top=10");
    PSR_f1.document.open();

    PSR_f1.document.write("<html><head><link rel='stylesheet' type='text/css' href='../joli.css'><title></title></head><body bgcolor='#ffffff'>"+contenu+"</body></html>");
    PSR_f1.document.close();
    PSR_f1.focus();
    PSR_f1.window.print();
    PSR_f1.window.close();

    }
    mon problème maintenant c'est que IE m'indique qu'il ya une erreur dans ma fonction que je vois pas

    quelqu'un peut m'aider SVP?

  2. #2
    Membre confirmé Avatar de supermanu
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    330
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 330
    Points : 452
    Points
    452
    Par défaut
    Met un petit echo :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var contenu=<? echo $contenu; ?>;
    et regarde le code source généré pour voir si ça te donne ce que tu veux.

  3. #3
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    142
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 142
    Points : 73
    Points
    73
    Par défaut
    en effet ma fonction ne s'exécute même pas a cause d'une erreur, alor j'ai pas moyen de savoir si le contenu est bon .
    merci supermanu pour ton aide.

  4. #4
    Membre confirmé Avatar de supermanu
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    330
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 330
    Points : 452
    Points
    452
    Par défaut
    C'est bien ta fonction javascript qui ne fonctionne pas ? (il y a un petit message d'erreur dans ton navigateur ?)
    mais tu as bien une page html qui s'affiche ?
    si oui tu peux afficher et poster le code source concernant ta fonction javascript.

    si tu as Firefox, tu peux aller dans Outils/Console Javascript et il te dira où est l'erreur javascript

  5. #5
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    142
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 142
    Points : 73
    Points
    73
    Par défaut
    merci beaucoup Mr supermanu pour ta réactivité. en effet je viens de trouver une solution là pour faire passer le contenu en paramètre a ma fonction et là tt marche comme il faut

    merci beaucoup encore une fois et bon continuation.

  6. #6
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    142
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 142
    Points : 73
    Points
    73
    Par défaut
    bonjour supermanu,
    en effet, il s'avère que la première solution était la meilleure et la je vais la reprendre. Dans ca cas je réponds à vos questions.

    l'appel de ma fonction est le :

    <a href="javascript:imprimer('<? echo $titre?>')">Imprimer</a>
    et concernant l'erreur que me donne firefox c'est :

    "imprimer is not defined" et ma po_pup ne souvre pas.

    en effet quand je met le code PHP en commentaire, l'appel à ma fonction fonctionne correctement !!

    merci d'avance.

  7. #7
    Membre confirmé Avatar de supermanu
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    330
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 330
    Points : 452
    Points
    452
    Par défaut
    La fonction javascript "imprimer" que tu as mis plus haut n'a pas d'attribut, il faudrait lui en ajouter un.
    Je regarderais un peu plus demain

  8. #8
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    142
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 142
    Points : 73
    Points
    73
    Par défaut
    Bonjour supermanu,
    merci d'abords pour ta présence. En effet voici mon code actuel :

    function imprimer(titre)
    {
    var f1 = null;
    var PSR_f1 = null;
    <?php
    require_once('../Fonctions.php');
    $result=get_detail();
    $contenu=$result['CONTENU'];
    ?>

    var contenu=<? $contenu ?>;


    PSR_f1 = window.open ("","f1", "height=600,width=740,menubar=no,scrollbars=yes,resizable=no,left=10,top=10");
    PSR_f1.document.open();

    PSR_f1.document.write("<html><head><link rel='stylesheet' type='text/css' href='../joli.css'><title></title></head><body bgcolor='#ffffff'>"+contenu+"</body></html>");
    PSR_f1.document.close();
    PSR_f1.focus();
    PSR_f1.window.print();
    PSR_f1.window.close();


    }
    normalement "titre" doit être transmis en parametre à la fonction get_detail() mais pour l'instant je cherche pas à compliquer les choses et j'attends que je puisse résoudre mon premier problème déjà.

    Je rappelle que ma fonction ne s'exécute même pas et que Firefox m'affiche sur la Console Javascript que ma fonction imprimer n'est pas definie.

    Merci énormément.
    Bonne journée.

  9. #9
    Membre actif Avatar de David.V
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    191
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2004
    Messages : 191
    Points : 203
    Points
    203
    Par défaut
    Je suis pas trés rodé en PHP, mais ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var contenu=<? $contenu ?>;
    ne devrait il pas être écrit comme celà (ajout de quote) ;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var contenu = '<? $contenu ?>';
    ?

  10. #10
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    142
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 142
    Points : 73
    Points
    73
    Par défaut
    Je viens d'essayer avec les cotes Mr. David.V, mais aucun changement , j'ai le même message d'erreur et j'ai l'impression que l'exécution s'arrête a la première ligne de ma focntion .
    voici le message d'erreur :

    Erreur : imprimer is not defined
    Fichier source : javascript:imprimer('Mon titre')
    Ligne : 1
    Merci bcp.

  11. #11
    Membre actif Avatar de David.V
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    191
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2004
    Messages : 191
    Points : 203
    Points
    203
    Par défaut
    Pourrais tu nous donner le source obtenu par ce code (en faisant un clic droit > afficher la source)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    require_once('../Fonctions.php');
    $result=get_detail();
    $contenu=$result['CONTENU'];
    ?>
     
    var contenu=<? $contenu ?>;
    ?

  12. #12
    Membre actif Avatar de David.V
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    191
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2004
    Messages : 191
    Points : 203
    Points
    203
    Par défaut
    Citation Envoyé par loukili81
    Je viens d'essayer avec les cotes Mr. David.V, mais aucun changement , j'ai le même message d'erreur et j'ai l'impression que l'exécution s'arrête a la première ligne de ma focntion .
    voici le message d'erreur :



    Merci bcp.
    Quand je vois ton erreur, je me demande : est-ce que l'appel de la fonction imprimer ne se fait pas avant sa définition ? ça y ressemble beaucoup en tout les cas

  13. #13
    Membre confirmé Avatar de supermanu
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    330
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 330
    Points : 452
    Points
    452
    Par défaut
    Regarde le fichier attaché et test . J'ai mis en commentaire la fonction d'impression et de fermeture de la popup...
    Fichiers attachés Fichiers attachés

  14. #14
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    142
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 142
    Points : 73
    Points
    73
    Par défaut
    je reponds a tes questions:

    1/ concernant l'appel à la focntion, il est correct et marche parfaitement losque je met en commentaire le code php inclu dans cette focntion.
    l'appel est tout simplement :

    <script language="JavaScript" type="text/JavaScript" src="javascripts/include.js"></script>
    ....
    <a href="javascript:imprimer('<? echo $titre?>')">Imprimer</a>
    2/
    Pourrais tu nous donner le source obtenu par ce code (en faisant un clic droit > afficher la source)
    il n'y a pas de code obtenu parsque la fonction ne s'exécute pas et ma popup ne souvre pas non plus. je n'ai que du code HTML.

    en fait ma fonction javascript n'a pas l'aire d'accepter mon code PHP je pense

  15. #15
    Membre confirmé Avatar de supermanu
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    330
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 330
    Points : 452
    Points
    452
    Par défaut
    On veut juste le code de ta page principal

  16. #16
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    142
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 142
    Points : 73
    Points
    73
    Par défaut
    salut supermanu,

    en fait la difficulté c'est de combiner entre javascript et PHP et de restituer les données à partir d'une plate-forme distante pour etre affichées dans ma popup puis imprimées.

    concernant le code source de ma page, je ne peux vous l'envoyer car ça rentre dans le cadre d'un projet professionnel et donc c'est confidentiel

    mais en effet c'est simple, disons que ma page principale est une simple page HTML qui contient un lien impimer. ce lien imprimer doit ouvrir une popup et et afficher le contenu d'un fichier (à restituer d'une BDD) avant de l'imprimer.

    j'espere que vous voyer le problème là
    Merci a vous deux.

  17. #17
    Membre confirmé Avatar de supermanu
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    330
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 330
    Points : 452
    Points
    452
    Par défaut
    Il n'y a aucun problème pour écrire du code javascript avec des données php.
    Mais s'il y a une faute dans le code javascript généré, plus rien ne fonctionne...
    (c'est le problème avec le javascript)

    Avant cela tu as peut-être des erreurs php.

    Tout d'abord, mets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var contenu="<? echo $contenu; ?>";
    Si contenu est une chaine de caractères on doit avoir des " ".

    Puis tu affiche tas page principale et tu fais clique droit, afficher code source. on pourra voir le code javascript généré. on pourra aussi voir s'il y a des erreurs php (elles s'inscrivent à la fin du code source)
    Si on a pas ça... on ne pourra pas t'aider

  18. #18
    Membre confirmé Avatar de supermanu
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    330
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 330
    Points : 452
    Points
    452
    Par défaut
    oups , on a du poster en même temps !

    peux tu au moins poster le code source généré correspondant à ta fonction javascript et à son appel dans le <a href=...> ?
    Sinon ça va être dur.

  19. #19
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    142
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 142
    Points : 73
    Points
    73
    Par défaut
    --> en fait IE me dit qu'un objet est attendu quand je clique sur l'icone en
    bas de la page a gauche (erreur sur la page)

    pour le code source :

    <div id="print">
    <a href="javascript:imprimer('Mes obligations de formation du personnel')">Imprimer</a>

    </div><!-- #printPage -->

  20. #20
    Membre confirmé Avatar de supermanu
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    330
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 330
    Points : 452
    Points
    452
    Par défaut
    Tu peux poster le code source généré qui correspond à la fonction javascript, ce qu'il y a entre function imprimer(titre) { et } ?

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

Discussions similaires

  1. [PHP-JS] Interaction entre javascript et php pour XUL
    Par WalidNat dans le forum Langage
    Réponses: 2
    Dernier message: 25/05/2011, 13h26
  2. Communication entre Java et : PHP ou Javascript?
    Par benthebest dans le forum Langage
    Réponses: 5
    Dernier message: 09/11/2009, 20h02
  3. Communication d'erreur entre javascript et PHP
    Par bonbledf dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 29/01/2009, 17h20
  4. [PHP-JS] pb entre javascript et php
    Par LuckySoft dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 22/10/2007, 16h01
  5. [PHP-JS] Communication entre Php et Javascript
    Par tlardoux dans le forum Langage
    Réponses: 3
    Dernier message: 08/09/2007, 13h39

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