Modifier fichiers xml 2003 avec extension .doc via formulaire
Résolu
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
-
ModérateurBonjour
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. ..
-
Contributeurbonsoir, 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. -
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>