Modifier fichiers xml 2003 avec extension .doc via formulaire
Résolu
Tzmagnum
Messages postés
132
Statut
Membre
-
Tzmagnum Messages postés 132 Statut Membre -
Tzmagnum Messages postés 132 Statut Membre -
Bonjour,
Je souhaite modifier le contenu de fichiers xml 2003 avec extension .doc via formulaire,
je ne comprends pas d'habitude cela fonctionne toujours et là cela me génère des documents vierges.
Pourriez-vous m'aider svp ?
Merci d'avance.
Voici le code de ma page du formulaire :
Voici le code de ma page d'execution :
Je souhaite modifier le contenu de fichiers xml 2003 avec extension .doc via formulaire,
je ne comprends pas d'habitude cela fonctionne toujours et là cela me génère des documents vierges.
Pourriez-vous m'aider svp ?
Merci d'avance.
Voici le code de ma page du formulaire :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<?php
header('Content-type: text/html; charset=utf-8');
include('includes/fonctions.php');
connexionbdd();
global $current_user;
get_currentuserinfo();
?>
<form id="annexe" name="annexe" method="post" action="exporter.php" onclick="">
<input type="hidden" name="datej" id="datej" value="<?php echo date("d-m-Y"); ?>" />
<input type="hidden" name="consultant" id="consultant" value="<?php echo $current_user->display_name; ?>" />
<p>Type d'impulsion ? <br /><br />
<input type="radio" name="type" value="12" /> 12 mois + <br />
<input type="radio" name="type" value="25" /> - de 25 ans <br />
</p>
<br
<p>Première date de retenue :
<input type="text" name="dateret" id="dateret" size="10" />
</p>
<p>Numéro de registre national :
<input type="text" name="nreg" id="nreg" size="15" placeholder="xx.xx.xx-xxx.xx" />
</p>
<p>Nom :
<input type="text" name="nom" id="nom" size="15" />
</p>
<p>Prénom :
<input type="text" name="prenom" id="prenom" size="15" />
</p>
<p>Rue :
<input type="text" name="rue" id="rue" size="50" />
</p>
<p>N° :
<input type="text" name="num" id="num" size="5" />
Boîte :
<input type="text" name="boite" id="boite" size="5" />
</p>
<p>Code postal :
<input type="text" name="cp" id="cp" size="4" />
Commune :
<input type="text" name="commune" id="commune" />
</p>
<p>Numéro de téléphone :
<input type="text" name="tel" id="tel" placeholder="xxxx/xx.xx.xx" />
</p>
<p>Adresse mail :
<input type="text" name="mail" id="mail" />
</p>
<p>Q / S :
<input type="text" name="q" id="q" size="2" /> / <input type="text" name="s" id="s" size="2" />
</p>
<p>Compensations payées ? <br /><br />
<input type="radio" name="payees" value="oui" /> Oui <br />
<input type="radio" name="payees" value="non" /> Non <br />
</p>
<input align="right" name="export" type="submit" id="export" value="exporter" /> </form>
<br><br>
Voici le code de ma page d'execution :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<?php
session_start();
header('Content-type: text/html; charset=utf-8');
include('includes/fonctions.php');
connexionbdd();
global $current_user;
get_currentuserinfo();
$type=$_POST['type'];
$dateret=$_POST['dateret'];
$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
$nomcomplet=$nom.' '.$prenom;
$nreg=$_POST['nreg'];
$rue=$_POST['rue'];
$num=$_POST['num'];
$boite=$_POST['boite'];
$cp=$_POST['cp'];
$commune=$_POST['commune'];
$adresse1=$rue.' '.$num.','.$boite;
$adresse2=$cp.' '.$commune;
$tel=$_POST['tel'];
$mail=$_POST['mail'];
$q=$_POST['q'];
$s=$_POST['s'];
$datej=$_POST['datej'];
$consultant=$_POST['consultant'];
$payees=$_POST['payees'];
if ($q > $s)
{
if ($payees == 'oui')
{
$qs = $q.' / '.$q;
}
elseif ($payees == 'non')
{
$qs = $s.' / '.$s;
}
}
else
{
$qs = $q.' / '.$s;
}
//Nom du futur fichier.
$nom_fichier1 = 'annexe_impulsion.doc';
$nom_fichier2 = 'C109.doc';
$myContent = str_replace("@DATERET@",$dateret,$myContent);
$myContent = str_replace("@NOMCOMPLET@",$nomcomplet,$myContent);
$myContent = str_replace("@NREG@",$nreg,$myContent);
$myContent = str_replace("@ADRESSE1@",$adresse1,$myContent);
$myContent = str_replace("@ADRESSE2@",$adresse2,$myContent);
$myContent = str_replace("@TEL@",$tel,$myContent);
$myContent = str_replace("@MAIL@",$mail,$myContent);
$myContent = str_replace("@QS@",$qs,$myContent);
$myContent = str_replace("@DATEJ@",$datej,$myContent);
$myContent = str_replace("@CONSULTANT@",$consultant,$myContent);
if ($type == 12)
{
$nom_fichier0 = 'lettre_d_info_12_mois_plus.doc';
$newFile0 = file_get_contents("template_lettre_d_info_12_mois_plus.doc");
fopen("$nom_fichier0", "a");
fwrite($newFile0,$myContent);
fclose($newFile0);
}
elseif ($type == 25)
{
$nom_fichier0 = 'lettre_d_info_moins_de_25_ans.doc';
$newFile0 = file_get_contents("template_lettre_d_info_moins_de_25_ans.doc");
fopen("$nom_fichier0", "a");
fwrite($newFile0,$myContent);
fclose($newFile0);
}
$newFile1 = file_get_contents("template_annexe.doc");
fopen("$nom_fichier1", "a");
fwrite($newFile1,$myContent);
fclose($newFile1);
$newFile2 = file_get_contents("template_c109.doc");
fopen("$nom_fichier2", "a");
fwrite($newFile2,$myContent);
fclose($newFile2);
?>
<br><br>
6 réponses
-
Bonjour
Quelques erreurs....
Relis bien la doc !
https://www.php.net/manual/fr/function.fwrite.php
https://www.php.net/manual/fr/function.file-get-contents.php
Tu n'utilises pas correctement le filewrite... du moins pas avec les bons paramètres. ..
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonsoir, qu'as-tu changé?
d'après toi, que contient $myContent avant la ligne 52? -
J'ai relus et j'ai essayé avec le parametre "w" aulieu de "a".
Mais cela n'a donné aucun résultat.
Merci d'avance pour votre aide. -
Bonjour,
Je suis assez désorienté, je les ai toujours passés ainsi et j'ai jamais eu de problème.
Peux-tu m'aiguiller plus stp ?
Merci d'avance. -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Bonjour,
File_get_content est le fichier template sur lequel je veux que le code se base pour générer mon fichier final.
Bien à toi. -
J'ai réussi
Il n'y a que @ADRESSE@ et @SUITE@ qui ne se remplace pas.
Je ne sais pas pourquoi.
Pourtant quand je fais echo sur les variables $adresse et $suite sa s'affiche bien
Voici le code :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <?php session_start(); header('Content-type: text/html; charset=utf-8'); include('includes/fonctions.php'); connexionbdd(); global $current_user; get_currentuserinfo(); $type=$_POST['type']; $dateret=$_POST['dateret']; $nom=$_POST['nom']; $prenom=$_POST['prenom']; $nomcomplet=$nom.' '.$prenom; $nreg=$_POST['nreg']; $rue=$_POST['rue']; $num=$_POST['num']; $boite=$_POST['boite']; $cp=$_POST['cp']; $commune=$_POST['commune']; $adresse=$rue.' '.$num.', '.$boite; $suite=$cp.' '.$commune; $tel=$_POST['tel']; $mail=$_POST['mail']; $q=$_POST['q']; $s=$_POST['s']; $datej=$_POST['datej']; $datej_c109=$_POST['datej']; $consultant=$_POST['consultant']; $payees=$_POST['payees']; if ($q > $s) { if ($payees == 'oui') { $qs = $q.'/'.$q; } elseif ($payees == 'non') { $qs = $s.'/'.$s; } } else { $qs = $q.'/'.$s; } //Nom du futur fichier. $nom_fichier1 = 'impulsions/'.$nomcomplet.' - annexe_impulsion.doc'; $nom_fichier2 = 'impulsions/'.$nomcomplet.' - C109.doc'; if ($type == 12) { $nom_fichier0 = 'impulsions/'.$nomcomplet.' - lettre_d_info_12_mois_plus.doc'; $myContent = file_get_contents("template_lettre_d_info_12_mois_plus.doc"); $newFile0 = fopen("$nom_fichier0", "w"); fwrite($newFile0,$myContent); fclose($newFile0); $type_impulsion = '12 mois +'; } elseif ($type == 25) { $nom_fichier0 = 'impulsions/'.$nomcomplet.' - lettre_d_info_moins_de_25_ans.doc'; $myContent = file_get_contents("template_lettre_d_info_moins_de_25_ans.doc"); $newFile0 = fopen("$nom_fichier0", "w"); fwrite($newFile0,$myContent); fclose($newFile0); $type_impulsion = '- 25 ans'; } $myContent_annexe = file_get_contents("template_annexe.doc"); $newFile1 = fopen("$nom_fichier1", "w"); $myContent_annexe = str_replace("@DATERET@",$dateret,$myContent_annexe); $myContent_annexe = str_replace("@NOMCOMPLET@",$nomcomplet,$myContent_annexe); $myContent_annexe = str_replace("@NREG@",$nreg,$myContent_annexe); $myContent_annexe = str_replace("@QS@",$qs,$myContent_annexe); $myContent_annexe = str_replace("@DATEJ@",$datej,$myContent_annexe); $myContent_annexe = str_replace("@CONSULTANT@",$consultant,$myContent_annexe); fwrite($newFile1,$myContent_annexe); fclose($newFile1); $myContent_c109 = file_get_contents("template_c109.doc"); $newFile2 = fopen("$nom_fichier2", "w"); $myContent_c109 = str_replace("@DATERET@",$dateret,$myContent_c109); $myContent_c109 = str_replace("@NOMCOMPLET@",$nomcomplet,$myContent_c109); $myContent_c109 = str_replace("@NREG@",$nreg,$myContent_c109); $myContent_c109 = str_replace("@ADRESSE@",$adresse,$myContent_c109); $myContent_c109 = str_replace("@SUITE@",$suite,$myContent_c109); $myContent_c109 = str_replace("@TEL@",$tel,$myContent_c109); $myContent_c109 = str_replace("@MAIL@",$mail,$myContent_c109); $myContent_c109 = str_replace("@DATEJ_C109@",$datej_c109,$myContent_c109); $myContent_c109 = str_replace("@CONSULTANT@",$consultant,$myContent_c109); fwrite($newFile2,$myContent_c109); fclose($newFile2); echo $adresse; echo '<br>'; echo $suite; echo '<br>'; ?> <center>L'annexe impulsion <?php echo $type_impulsion; ?> et le C109 de <?php echo $nomcomplet; ?> avec date de première retenue au <?php echo $dateret; ?> et un Q/S de <?php echo $qs; ?> a bien été générée. </center> <br><br>