courriers type.

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : courriers type.

Re: courriers type.

par sirakawa » 22 juin 2012, 13:14

C'est sûrement le plus simple et le plus fiable quel que soit le traitement de textes.
En plus, il est nettement plus facile d'améliorer la mise en page, par exemple si on souhaite employer des enveloppes à fenêtre, ou si on veut créer des planches d'étiquettes...

Re: courriers type.

par Mazarini » 22 juin 2012, 12:03

Il y a un système de "template" simple pour générer une lettre html qui est ensuite transformée en PDF. Je ne sais pas s'il est possible de faire des templates PDF aussi simplement. Connaissant le domaine applicatif, il y a certainement un nombre de lettres très important.

Dans un environnement ASP, j'utilise word pour faire du publipostage et la transformation PDF.

Re: courriers type.

par sirakawa » 22 juin 2012, 09:59

Parce qu'elle s'intègre directement à PHP et qu'elle ne passe par aucun HTML.
Il suffirait d'écrire le code PHP des diverses lettres types...

Re: courriers type.

par piotrowski-s » 22 juin 2012, 08:08

c'est juste une autre librairie, je ne vois pas en quoi elle serait mieux que html2pdf?

Re: courriers type.

par sirakawa » 21 juin 2012, 22:20

et fpdf ferait parfaitement l'affaire

Re: courriers type.

par piotrowski-s » 21 juin 2012, 19:23

oui j'y ai pensé mais très difficile a mettre en place a mon niveau donc j'y vais crescendo.

Re: courriers type.

par Mazarini » 20 juin 2012, 10:32

A priori, je pensais que {date('...')} devait marcher. Au pire utilise une variable $date_jour.

J'ai l'impression que tu devrais traiter de facon générique certaines lettres simple à partir d'information comme dossier, débiteur, client, intervention sur le dossier et faire des traitements spécifiques pour la facturation et les relevés.

Tu dois avoir une table qui contient l'historique de ce qui se passe sur un dossier. A partir d'un élément, tu connais le dossier et donc le client, le débiteur. L'envoi d'une lettre peut se faire en 2 temps : ajout dans l'historique avec un statut "à envoyer" puis constitution de la lettre (et envoi).

Cela te permettrait de générer ce genre de lettre à partir d'une intervention :
1) lecture de l'intervention (modèle de lettre + quelques variables standards + dossier)
2) lecture du dossier (client, débiteur)
3) lecture du client
4) lecture du débiteur

Re: courriers type.

par sirakawa » 20 juin 2012, 09:11

Bonjour à tous, j'ai fais un module de gestion pour les courriers type,

je stocke donc mes données dans ma bdd, le soucis c'est que tout est stocké de la sorte:
en fait tout passe par ckeditor, lors de la génération de courrier
<p style="text-align: right; ">
	$debiteur['raison_sociale']<br />
	$debiteur['civilite']&nbsp;$debiteur['nom']&nbsp;$debiteur['prenom']<br />
	$debiteur['adresse']<br />
	$debiteur['code_postal'] -&nbsp;$debiteur['ville']<br />
	$debiteur['pays']</p>
<p style="text-align: right; ">
	&nbsp;</p>
<p style="text-align: left; ">
	Nos REF.:&nbsp;<strong>$creance['n_doss']</strong></p>
<p style="text-align: left; ">
	AFF.:&nbsp;$client['forme_juridique']&nbsp;$client['raison_sociale']<br />
	c/&nbsp;$debiteur['raison_sociale']&nbsp;$debiteur['nom']</p>
<p style="text-align: left; ">
	Vos REF.:&nbsp;$creance['ref_client']</p>
<p style="text-align: left; ">
	&nbsp;</p>
<p style="text-align: right; ">
	MAISONS-LAFFITTE, le&nbsp;date('d-m-Y')</p>
<p style="text-align: right; ">
	&nbsp;</p>
<p style="text-align: center; ">
	<u><strong>ATTESTATION DE PERTE</strong></u></p>
D'avance merci pour votre aide.
devrait donner un résultat imprimable?

Re: courriers type.

par piotrowski-s » 20 juin 2012, 08:47

un ultime soucis avant de clore ce chapitre qui je dois dire m'aurait été impossible sans votre aide,

j'ai présentement un soucis avec la date date('d-m-Y')

rin ne s'affiche alors que normalement lors de l'eval elle devrait être interprétée non?

Re: courriers type.

par piotrowski-s » 20 juin 2012, 08:37

une question qui va vous paraitre stupide, si je ne met pas le while ($result = musql_fetch_assoc_result), alors lors de la recherche il va s'arrêter sur le premier résultat trouvé, c'est bien cela?

Re: courriers type.

par Mazarini » 19 juin 2012, 18:15

J'ai fini par faire un test :
<?php
$lettre = 'nom débiteur = \"{$debiteur[\'nom\']}\"';
$debiteur['nom'] = 'John Doe';
$commande = 'echo "'.$lettre.'";';
echo $commande;
echo '<hr>';
eval($commande);
?>
Le code source html :
echo "nom débiteur = \"{$debiteur['nom']}\"";<hr>nom débiteur = "John Doe"
Le résultat affiché :
echo "nom débiteur = \"{$debiteur['nom']}\"";
-----------------------------------------------------------------------------
nom débiteur = "John Doe"
Si rien ne s'affiche, c'est qu'un des while a une condition fausse (pas d'enregistrement)

Re: courriers type.

par piotrowski-s » 19 juin 2012, 16:49

quand je fais cela
<?php 	$sql= "SELECT * FROM `courrier` WHERE id ='".mysql_real_escape_string($_POST['courrier'])."'";
		$sql1= "SELECT * FROM `creance` WHERE `n_doss`='".mysql_real_escape_string($_GET['n_doss'])."'" ;
		$sql2= "SELECT * FROM `debiteur` WHERE `n_doss`='".mysql_real_escape_string($_GET['n_doss'])."' AND `qualite`=`n_doss`='".mysql_real_escape_string($_GET['qualite'])."'";
		$sql3="SELECT * FROM `decompte` WHERE `n_doss`='".mysql_real_escape_string($_GET['n_doss'])."'";
		$sql4="SELECT * FROM `factures` WHERE`n_doss`='".mysql_real_escape_string($_GET['n_doss'])."'";
		$sql5="SELECT * FROM `interets` WHERE `n_doss`='".mysql_real_escape_string($_GET['n_doss'])."'";
		$sql6="SELECT * FROM `client` WHERE `code_client`='".mysql_real_escape_string($_GET['code_client'])."'";


		$result = mysql_query($sql)  or die (__LINE__.mysql_error().$sql); 
		$result1= mysql_query($sql1) or die (__LINE__.mysql_error().$sql1); 
		$result2= mysql_query($sql2) or die (__LINE__.mysql_error().$sql2);
		$result3= mysql_query($sql3) or die (__LINE__.mysql_error().$sql3);
		$result4= mysql_query($sql4) or die (__LINE__.mysql_error().$sql4);
		$result5= mysql_query($sql5) or die (__LINE__.mysql_error().$sql5);
		$result6= mysql_query($sql6) or die (__LINE__.mysql_error().$sql6);

while($courrier = mysql_fetch_assoc($result))  { $lettre= $courrier['contenu'] ; $var=str_replace('"','\\"',$lettre); $var2=str_replace("'","'",$var); $commande = 'echo "'.$var2.'";'; 


while($creance  = mysql_fetch_assoc($result1)) { 
while($debiteur = mysql_fetch_assoc($result2)) { 
while($decompte = mysql_fetch_assoc($result3)) { 
while($factures = mysql_fetch_assoc($result4)) { 
while($interets = mysql_fetch_assoc($result5)) { 
while($client   = mysql_fetch_assoc($result6)) { 

?>		
<table width="790"><tr><td>
<p align="left"><?php  eval($commande) ?></p></td></tr>
 </table>
<?php 
}
}
}
}
}
}
}
?>
et afficher le code source j'ai un écran blanc et dans la source bah rien entre body et /body...

Re: courriers type.

par piotrowski-s » 19 juin 2012, 16:48

oui mais lorsque je mets l'eval après toutes mes variables rien ne s'affiche si ce n'est un écran blanc.

Re: courriers type.

par xTG » 19 juin 2012, 16:45

Non tes variables sont créées après la fonction eval().
Il faut qu'elles le soient avant, sinon on est bien d'accord qu'à cet endroit elles n'existent pas hein ?

Re: courriers type.

par piotrowski-s » 19 juin 2012, 16:22

bon ça fonctionne presque, je n'ai plus les problèmes avec les /' et autres, mais j'ai ceci::

Code : Tout sélectionner

( ! ) Notice: Undefined variable: debiteur in C:\wamp\www\NEOGETCASH\GESTIONNAIRE\DOSSIERS\editer-courrier4.php(92) : eval()'d code on line 2 Call Stack # Time Memory Function Location 1 0.0007 717184 {main}( ) ..\editer-courrier4.php:0 2 0.0082 745632 eval( 'echo " {$debiteur['nom']} {$debiteur['prenom']} {$debiteur['adresse']} {$debiteur['adresse2']} {$debiteur['ville']} - {$debiteur['code_postal']} {$debiteur['pays']} Affaire: {$client['raison_sociale']} c/ {$debiteur['nom']} Nos Refs: {$creance['n_doss']} Reference client: {$creance['ref_client']} Maisons-Laffitte, le {date('d-m-Y')} ATTESTATION - Affaire: c/ Nos Refs: Reference client: Maisons-Laffitte, le {date('d-m-Y')} ATTESTATION
alors que juste avant j'ai tous mes codes:
<?php 	$sql= "SELECT * FROM `courrier` WHERE id ='".mysql_real_escape_string($_POST['courrier'])."'";
		$sql1= "SELECT * FROM `creance` WHERE `n_doss`='".mysql_real_escape_string($_GET['n_doss'])."'" ;
		$sql2= "SELECT * FROM `debiteur` WHERE `n_doss`='".mysql_real_escape_string($_GET['n_doss'])."' AND `qualite`=`n_doss`='".mysql_real_escape_string($_GET['qualite'])."'";
		$sql3="SELECT * FROM `decompte` WHERE `n_doss`='".mysql_real_escape_string($_GET['n_doss'])."'";
		$sql4="SELECT * FROM `factures` WHERE`n_doss`='".mysql_real_escape_string($_GET['n_doss'])."'";
		$sql5="SELECT * FROM `interets` WHERE `n_doss`='".mysql_real_escape_string($_GET['n_doss'])."'";
		$sql6="SELECT * FROM `client` WHERE `code_client`='".mysql_real_escape_string($_GET['code_client'])."'";


		$result = mysql_query($sql)  or die (__LINE__.mysql_error().$sql); 
		$result1= mysql_query($sql1) or die (__LINE__.mysql_error().$sql1); 
		$result2= mysql_query($sql2) or die (__LINE__.mysql_error().$sql2);
		$result3= mysql_query($sql3) or die (__LINE__.mysql_error().$sql3);
		$result4= mysql_query($sql4) or die (__LINE__.mysql_error().$sql4);
		$result5= mysql_query($sql5) or die (__LINE__.mysql_error().$sql5);
		$result6= mysql_query($sql6) or die (__LINE__.mysql_error().$sql6);

while($courrier = mysql_fetch_assoc($result))  { $lettre= $courrier['contenu'] ; $var=str_replace('"','\\"',$lettre); $var2=str_replace("'","'",$var); $commande = 'echo "'.$var2.'";'; eval($commande); 


while($creance  = mysql_fetch_assoc($result1)) { 
while($debiteur = mysql_fetch_assoc($result2)) { 
while($decompte = mysql_fetch_assoc($result3)) { 
while($factures = mysql_fetch_assoc($result4)) { 
while($interets = mysql_fetch_assoc($result5)) { 
while($client   = mysql_fetch_assoc($result6)) { 

?>		
<table width="790"><tr><td>
<p align="left"><?php ?></p></td></tr>
 </table>
<?php 
}
}
}
}
}
}
}
?>
je sens que je commence a devenir fou ... toutes ces erreurs avec tout ce mal a les supprimer.

Edit: je n'ai pas la possibilité de faire de jointure.