Champs d'un formulaire générés dans un doc
Fermé
Tl_IT
Messages postés
23
Date d'inscription
jeudi 4 juin 2015
Statut
Membre
Dernière intervention
9 juin 2015
-
4 juin 2015 à 15:42
jordane45 Messages postés 38137 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 - 6 juin 2015 à 18:09
jordane45 Messages postés 38137 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 - 6 juin 2015 à 18:09
A voir également:
- Champs d'un formulaire générés dans un doc
- .Doc - Guide
- Comment ouvrir un fichier doc ? - Guide
- Signer un doc word - Guide
- Formulaire de réclamation facebook - Guide
- Comment générer un qr code - Guide
7 réponses
jordane45
Messages postés
38137
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 avril 2024
4 649
Modifié par jordane45 le 6/06/2015 à 18:10
Modifié par jordane45 le 6/06/2015 à 18:10
Première chose .. afficher TOUS les éventuels messages d'erreur PHP
Pour cela, il faut utiliser :
Ensuite.. pour voir où ça bloque ... ajouter des TESTS et des ECHO / PRINT de tes variables.
Par exemple :
PS: Quels sont les droits du répertoires dans lequel se trouve ton script ?
dans l'idéal, (au moins pendant les tests...) mets les 755
Cordialement,
Jordane
Pour cela, il faut utiliser :
ini_set('error_reporting', E_ALL);
Ensuite.. pour voir où ça bloque ... ajouter des TESTS et des ECHO / PRINT de tes variables.
Par exemple :
<?php // Affichage des erreurs PHP ! ini_set('error_reporting', E_ALL); $filePhpWord = "PHPWord.php"; if(file_exists($filePhpWord )){ require_once($filePhpWord) ; }else{ echo "<br> Erreur ! Fichier $filePhpWord introuvable !"; } // rédupération des variables $nomClient = isset($_POST['nomClient']) ? $_POST['nomClient'] : ''; $adresseFact = isset($_POST['adresseFact']) ? $_POST['adresseFact'] : ''; // le temps des tests : echo "<br> nomclient : ".$nomClient ; echo "<br> adresseFact : ".$adresseFact ; $PHPWord = new PHPWord(); $document = $PHPWord->loadTemplate('modeledocx'); $document->setValue('nomClient', $nomClient); $document->setValue('adresseFact', $adresseFact); $document->save('modele_fin.docx'); ?>
PS: Quels sont les droits du répertoires dans lequel se trouve ton script ?
dans l'idéal, (au moins pendant les tests...) mets les 755
Cordialement,
Jordane
jordane45
Messages postés
38137
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 avril 2024
4 649
4 juin 2015 à 15:46
4 juin 2015 à 15:46
Bonjour,
Et donc ... quelle est la question exactement ?
Sur quoi bloques tu ?
Qu'as tu commencé à écrire comme code ?
As-tu au moins fais le code (html) de ton formulaire ?
Pour la manipulation des documents word en PHP ...as tu regardé du côté de la class PhpWord ?
https://archive.codeplex.com/?p=phpword
Et donc ... quelle est la question exactement ?
Sur quoi bloques tu ?
Qu'as tu commencé à écrire comme code ?
As-tu au moins fais le code (html) de ton formulaire ?
Pour la manipulation des documents word en PHP ...as tu regardé du côté de la class PhpWord ?
https://archive.codeplex.com/?p=phpword
Tl_IT
Messages postés
23
Date d'inscription
jeudi 4 juin 2015
Statut
Membre
Dernière intervention
9 juin 2015
4 juin 2015 à 15:52
4 juin 2015 à 15:52
Oui j'ai déjà créé le formulaire et j'avoue que je suis débutant en Php, donc je sais pas trop comment m'y prendre. Je sais pas si je dois opter pour une solution avec Word ou carrément un PDF pour que ça fasse plus professionnel et le souci c'est que j'ai d'ici samedi soir pour finir.
jordane45
Messages postés
38137
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 avril 2024
4 649
4 juin 2015 à 17:09
4 juin 2015 à 17:09
Et bien..
Comme je te l'ai indiqué.. pour faire du Word.. tu peux utiliser https://archive.codeplex.com/?p=phpword
Et pour faire du PDF : http://www.fpdf.org/
Des exemples sont disponibles sur les sites que je t'ai donné ... et tu pourras très certainement en trouver d'autres sur le net (pour peu que tu saches utiliser un minimum ton moteur de recherche....)
Comme je te l'ai indiqué.. pour faire du Word.. tu peux utiliser https://archive.codeplex.com/?p=phpword
Et pour faire du PDF : http://www.fpdf.org/
Des exemples sont disponibles sur les sites que je t'ai donné ... et tu pourras très certainement en trouver d'autres sur le net (pour peu que tu saches utiliser un minimum ton moteur de recherche....)
Tl_IT
Messages postés
23
Date d'inscription
jeudi 4 juin 2015
Statut
Membre
Dernière intervention
9 juin 2015
Modifié par jordane45 le 5/06/2015 à 15:26
Modifié par jordane45 le 5/06/2015 à 15:26
Merci pour ton aide, mais j'y arrive toujours pas :( .
Alors voilà, comme je l'ai déjà dit j'ai ma page web avec le formulaire. Une fois les valeurs saisies, le input button lance le script php ci-dessous:
Les valeurs seront récupérées dans le modèleWord template.htm, à partir de ce dernier, je veux faire la conversion htmlTOword.
Je vous remercie par avance pour votre aide.
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Merci d'y penser dans tes prochains messages.
.
Alors voilà, comme je l'ai déjà dit j'ai ma page web avec le formulaire. Une fois les valeurs saisies, le input button lance le script php ci-dessous:
<? //fichier template.htm $content=file_get_contents('template.htm'); //Je remplace les variables. $content=str_replace('$nomClient',$nomClient,$content); $content=str_replace('$adresseFact',$adresseFact,$content); ?>
Les valeurs seront récupérées dans le modèleWord template.htm, à partir de ce dernier, je veux faire la conversion htmlTOword.
Je vous remercie par avance pour votre aide.
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Merci d'y penser dans tes prochains messages.
.
jordane45
Messages postés
38137
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 avril 2024
4 649
5 juin 2015 à 15:31
5 juin 2015 à 15:31
Plutôt que de faire un "template" en html .. tu te fais un document word qui servira de modèle.
Ensuite tu peux utiliser un code (fournis dans le répertoire EXEMPLES du phpWord )
du genre :
Ensuite tu peux utiliser un code (fournis dans le répertoire EXEMPLES du phpWord )
du genre :
<?php require_once '../PHPWord.php'; $PHPWord = new PHPWord(); $document = $PHPWord->loadTemplate('Template.docx'); $document->setValue('Value1', 'Sun'); $document->setValue('Value2', 'Mercury'); $document->setValue('Value3', 'Venus'); $document->setValue('Value4', 'Earth'); $document->setValue('Value5', 'Mars'); $document->setValue('Value6', 'Jupiter'); $document->setValue('Value7', 'Saturn'); $document->setValue('Value8', 'Uranus'); $document->setValue('Value9', 'Neptun'); $document->setValue('Value10', 'Pluto'); $document->setValue('weekday', date('l')); $document->setValue('time', date('H:i')); $document->save('Solarsystem.docx'); ?>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Tl_IT
Messages postés
23
Date d'inscription
jeudi 4 juin 2015
Statut
Membre
Dernière intervention
9 juin 2015
Modifié par jordane45 le 5/06/2015 à 16:04
Modifié par jordane45 le 5/06/2015 à 16:04
Merci Jordane45, grâce à toi je suis sur la bonne voie.
Par ailleurs, ma question est comment mettre en place la variable qui vient du POST avec celle du document Word modèle?
Est-ce que ça pourrait être modifié comme ça?
EDIT : ajout du LANGAGE dans les balises de code
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
.
Par ailleurs, ma question est comment mettre en place la variable qui vient du POST avec celle du document Word modèle?
Est-ce que ça pourrait être modifié comme ça?
<?php require_once '../PHPWord.php'; $PHPWord = new PHPWord(); $document = $PHPWord->loadTemplate('MANDAT.docx'); $document->setValue('nomClient', $nomClient); $document->setValue('adresseFact', $adresseFact); /*$document->setValue('weekday', date('l')); $document->setValue('time', date('H:i'));*/ $document->save('MANDAT.docx'); ?>
EDIT : ajout du LANGAGE dans les balises de code
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
.
jordane45
Messages postés
38137
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 avril 2024
4 649
5 juin 2015 à 16:06
5 juin 2015 à 16:06
Oui.
Sachant que si les données viennent d'un "POST" .. alors il te faut récupérer ces valeurs pour les stocker dans tes variables.
(en utilisant ISSET pour t'assurer qu'elle existe bien .. AVANT ... de les utiliser. )
Sous la forme :
Sachant que si les données viennent d'un "POST" .. alors il te faut récupérer ces valeurs pour les stocker dans tes variables.
(en utilisant ISSET pour t'assurer qu'elle existe bien .. AVANT ... de les utiliser. )
Sous la forme :
$nomClient = isset($_POST['nomClient']) ? $_POST['nomClient'] : '';
Tl_IT
Messages postés
23
Date d'inscription
jeudi 4 juin 2015
Statut
Membre
Dernière intervention
9 juin 2015
Modifié par Tl_IT le 5/06/2015 à 17:05
Modifié par Tl_IT le 5/06/2015 à 17:05
voici le code ci-desous et malheureusement ça ne marche pas:
Nom du client Adresse de facturation
${nomClient} ${adresseFact}
en sachant que le phpword.php est dans le dossier racine de l'exécution.
Peux-tu m'aider stp à y voir plus clair?
.
- Formulaire
<form id="form10" name="form10" method="post" action="exporter.php" onclick=""> <p>Nom du Client : <input type="text" name="nomClient" id="nomClient" /> </p> <p>Adresse de facturation : <input type="text" name="adresseFact" id="adresseFact" /> </p> <input align="right" name="export" type="submit" id="export" value="exporter" /> </form>
- exporter.php
<?php require_once 'PHPWord.php'; $PHPWord = new PHPWord(); $document = $PHPWord->loadTemplate('modeledocx'); $nomClient = isset($_POST['nomClient']) ? $_POST['nomClient'] : ''; $adresseFact = isset($_POST['adresseFact']) ? $_POST['adresseFact'] : ''; $document->setValue('nomClient', $nomClient); $document->setValue('adresseFact', $adresseFact); $document->save('modele_fin.docx'); ?>
- Le fichier modéle.docx
Nom du client Adresse de facturation
${nomClient} ${adresseFact}
en sachant que le phpword.php est dans le dossier racine de l'exécution.
Peux-tu m'aider stp à y voir plus clair?
.
jordane45
Messages postés
38137
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 avril 2024
4 649
5 juin 2015 à 17:05
5 juin 2015 à 17:05
Tu as placé les fichiers de phpWord à la racine de ton site ou dans un autre répertoire ?
Peux tu me faire une capture écran de l'arborescence des répertoires de ton site ?
Par contre attention .. tu as écris :
.... le fichier se nomme : modéle.docx
Au passage .. renomme ton fichier SANS ACCENTS !
Peux tu me faire une capture écran de l'arborescence des répertoires de ton site ?
Par contre attention .. tu as écris :
$document = $PHPWord->loadTemplate('modeledocx');
.... le fichier se nomme : modéle.docx
Au passage .. renomme ton fichier SANS ACCENTS !
Tl_IT
Messages postés
23
Date d'inscription
jeudi 4 juin 2015
Statut
Membre
Dernière intervention
9 juin 2015
5 juin 2015 à 17:17
5 juin 2015 à 17:17
voir l'arborescence ci-dessous et merci encore pour ta réactivité.
Tl_IT
Messages postés
23
Date d'inscription
jeudi 4 juin 2015
Statut
Membre
Dernière intervention
9 juin 2015
5 juin 2015 à 17:13
5 juin 2015 à 17:13
Oui oui c'est modele.docx et il n'y a pas d'accents.
jordane45
Messages postés
38137
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 avril 2024
4 649
5 juin 2015 à 17:23
5 juin 2015 à 17:23
Il y a bien le fichier phpword.php .. mais où est le répertoire qui va avec ?
Il faut tout prendre sinon ça ne marchera pas !
Il faut tout prendre sinon ça ne marchera pas !
Tl_IT
Messages postés
23
Date d'inscription
jeudi 4 juin 2015
Statut
Membre
Dernière intervention
9 juin 2015
5 juin 2015 à 21:11
5 juin 2015 à 21:11
Je l'ai fais mais sans succès. Qu'est ce qui peux clocher dans ce code? J'ai surement oublier quelque chose...