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 :

appel fonction php via javascript


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2015
    Messages : 262
    Par défaut appel fonction php via javascript
    Bonjour

    j'aimerai appeler une fonction php en cliquant sur un bouton (générer un PDF).

    Je crois savoir qu'il faut utiliser ajax mais j'ai également lu cela :

    Form

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <p><input type="button" name="btn_pdf" id="btn_pdf" value="GENERER UN PDF"/>
    ...
    <script src="../JS/Main.js"></script>

    Main.js
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     $('#btn_pdf').click(function(){
      $.get('../MODEL/Create_PDF.php', {action:'PDF'});
     });
    Create_PDF.php
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    use Spipu\Html2Pdf\Html2Pdf;
    require '../html2pdf/vendor/autoload.php';
     
    if(isset($_GET) && isset($_GET['action']) && $_GET['action'] == 'PDF') {
     PDF(); 
    }
     
    function PDF() {
     $html2pdf = new Html2Pdf('p','A4','fr','true', 'UTF-8');
     $html2pdf->writeHTML('<h1> Hello World </h1> This is my first test');
     $html2pdf->output('test.pdf','D');
    }

    J'aimerai en cliquant sur mon bouton - générer et télécharger mon pdf automatiquement

    Actuellement je suis obligé de réactualiser la page pour y parvenir

    Si vous avez une autre solution via AJAX mais je n'y arrive pas car je retourne une page ??

    merci pour votre aide

  2. #2
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    Il faut bien comprendre la chronologie et la géolocalisation des actions sur un appel ajax.

    Lorsque la page coté client fait un appel ajax sur le serveur, la conversation entre les deux se fait sous forme de string ...
    La page appelant reçoit un string en réponse.
    Tu pourrais à la limite récupérer le binaire de ton fichier PDF, mais du coup je ne vois pas trop comment tu pourrais l'afficher coté client.

    La solution que je te propose serait que ton appel ajax génère le fichier coté serveur, soit sous forme de fichier sur le serveur, soit sous forme de binaire stocké en base de données.
    lorsque le fichier PDF est généré la page de traitement renvoie une url ou une référence à ce fichier
    lors du success sur la page appelante, le callback de l'ajax fait un appel mais cette fois sous forme de window.open pour aller récupérer le PDF qui sera cette fois affiche soit en pointant directement sur le fichier soit en constituant le fichier avec un header PDF...

    Une autre possibilité serait sinon au lieu de faire un appel ajax, de faire un window open vers la page générant le PDF avec les paramètres en get dans l'url qui pointe sur la page qui génère le PDF et retourne le header PDF

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     $('#btn_pdf').click(function(){
      window.open('../MODEL/Create_PDF.php?action=PDF');
     });
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

Discussions similaires

  1. Appel fonction PHP via Onclick
    Par Snooze986 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 12/05/2014, 06h28
  2. Utilisation d'une fonction php via JavaScript
    Par Tablen dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 02/05/2013, 23h25
  3. Appel fonction php dans code javascript
    Par licorne dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 05/03/2008, 10h55
  4. Appel de fonction PHP via un lien
    Par redvivi dans le forum Langage
    Réponses: 1
    Dernier message: 21/02/2008, 20h56
  5. [PHP-JS] lancer une fonction php via onClick?
    Par popogendarme dans le forum Langage
    Réponses: 3
    Dernier message: 30/01/2007, 14h29

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