FPDF

Eléphant du PHP | 89 Messages

25 avr. 2006, 15:38

Si simple que ça! Ben c'est cool ça!

Sinon, pour la réponse, oui non seulement il faut envoyer ce PDF, mais aussi enregistrer les données dans la BDD Emploi, table offre_emploi

Mammouth du PHP | 1029 Messages

25 avr. 2006, 15:56

Ben pour la bd, idem sauf que tu fais ton traitement en debut de fichier.

A demain, j'ai fini ma journée, et j'ai pas le web à la maison.

Bonne soirée
L'expérience est la somme de toutes nos erreurs.

Eléphant du PHP | 89 Messages

26 avr. 2006, 09:53

Alors, j'arrive bien à remplir ce PDF grâce au formulaire, mais depuis que j'utilise utf8_decode(), tous les caractères accentués sont remplacés par un point d'interrogation exemple : commetaires éventuls devient commentaires ?ntuels.

Plutôt génant

Mammouth du PHP | 1029 Messages

26 avr. 2006, 10:15

Ben laisse tomber utf8 alors, mais ça m'embète car tous le monde ne pourras lire correctement (du moins les linuxien utilisant utf8), mais tu dois savoir quel est la majorité du public que tu vises.

N'hésite pas j'ai un peu de temps aujourd'hui(mercredi 26)
L'expérience est la somme de toutes nos erreurs.

Eléphant du PHP | 89 Messages

26 avr. 2006, 10:21

C'est très simple, ce fichier PDF sera envoyé à trois personnes en tout, et l'entreprise ou je travaille comme stagiaire fonctionne avec Windows XP!

Donc pas de souci de compatibilité sous Unix!

Parcontre, pour l'instant, le fichier PDF s'affiche. Hors ce fichier doit être envoyé à trois personnes... puis-je mettre tout ce fichier PDF dans une variable, puis faire un mailto?

Mammouth du PHP | 1029 Messages

26 avr. 2006, 10:28

Alors là je n'ai jamais essayé, j'imagine que si on défint un nom de fichier dans le output (je pense que c'est possible je vais vérifier), et que tu appelles ce fichier via une fonction qui se trouve dans les pièces jointe de mail cela devrais marcher.

je n'ai pas de fonction mail sous la main, à toi d'essayer!
L'expérience est la somme de toutes nos erreurs.

Eléphant du PHP | 89 Messages

26 avr. 2006, 11:04

Je n'arrive pas à faire les deux "tavaux": création du PDF et enregistrement dans la BDD...

Il me dit :
Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-8\www\site\identifiant.php:3) in c:\program files\easyphp1-8\www\site\fpdf.php on line 1022
FPDF error: Some data has already been output to browser, can't send PDF file

Mammouth du PHP | 1029 Messages

26 avr. 2006, 11:14

Met moi le début du fichier
L'expérience est la somme de toutes nos erreurs.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

26 avr. 2006, 11:17

Suggestion bête mais... et si tu enlevais les entêtes (headers, tags html, espaces, retours à la ligne, ...) susceptibles de s'afficher sur ta page, du fichier identifiant.php, ligne 3, qui vraissemblablement empêche le traitement de fpdf.php de la ligne 1022 :)

Eléphant du PHP | 89 Messages

26 avr. 2006, 11:24

Début du fichier "envoi.php"

=>
<?
$tdate=$_POST['tdate'];
$tnom_entreprise=$_POST['tnom_entreprise'];
$tconseiller=$_POST['tconseiller'];
$tsiret=$_POST['tsiret'];
$tsecteur_act=$_POST['tsecteur_act'];

include("identifiant.php");//identifiant de la BDD   
   $db = mysql_connect($hote,$utilisateur,$passwd)  or die('Erreur de connexion '.mysql_error());
   
   // sélection de la base  
    mysql_select_db('emploi',$db)  or die('Erreur de selection '.mysql_error()); 
     
    // on écrit la requête sql 
    $sql = "INSERT INTO prise_offre(date, Nom_Entreprise, Conseiller, SIRET, Secteur_Activite) VALUES('$tdate','$tnom_entreprise','$tconseiller','$tsiret','$tsecteur_act')"; 
     
    // on insère les informations du formulaire dans la table 
    mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 

    // on affiche le résultat pour le visiteur 
    echo "Vos infos on été ajoutées.<BR>"; 
    
    mysql_close();  // on ferme la connexion 

  ob_start(); 
require('fpdf.php'); 

$pdf=new FPDF('P','mm','A4');//on instancie un objet Portait en milimètre et au format A4 
/** 
* Comme je met les mesure en mm cele me permet de placer tous les éléments aux mm prés 
* Cela fonctione sur le principe de l'abscice et l'ordonnée 
* le X représente la largeur 
* le Y représente la hauteur 
*/ 

$pdf->AddPage();//on crée la page 
$pdf->Image('logo_milo.jpg',20,20,40,20); 
etc..... 

Mammouth du PHP | 1029 Messages

26 avr. 2006, 11:44

Tous simplement, je te rapelle mon premier post, Fpdf n'accepte aucun caractère même blanc avant l'envoi du fichier, en conséquence on met le ob_start() au début du fichier, il suffit donc de déplacer cette lignne
<?
ob_start();//à mettre au début du fichier
require('fpdf.php'); 
$tdate=$_POST['tdate'];
$tnom_entreprise=$_POST['tnom_entreprise'];
$tconseiller=$_POST['tconseiller'];
$tsiret=$_POST['tsiret'];
$tsecteur_act=$_POST['tsecteur_act'];

include("identifiant.php");//identifiant de la BDD   
   $db = mysql_connect($hote,$utilisateur,$passwd)  or die('Erreur de connexion '.mysql_error());
   
   // sélection de la base  
    mysql_select_db('emploi',$db)  or die('Erreur de selection '.mysql_error());
     
    // on écrit la requête sql
    $sql = "INSERT INTO prise_offre(d..................

?>

L'expérience est la somme de toutes nos erreurs.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

26 avr. 2006, 11:50

La solution de Maitrepylos est bonne, sinon il te suffit d'aller voir le fichier identifiant.php que tu inclus ligne 8 :
include("identifiant.php");//identifiant de la BDD    
Et de t'assurer qu'il n'envoi rien en "html" (ni espace, retour à la ligne, ...) à la ligne 3 (ou ailleurs en fait :)) bref, que cette page commence par <? (dès la premiere ligne) et termine par ?> (sur la toute dernière ligne) et qu'il n'y ait pas d'echo, de print ou autre entre les deux :)

Eléphant du PHP | 89 Messages

26 avr. 2006, 12:01

Et ben ça marche perfect! Merci!!!! :D

M'reste pu qu'a savoir si j'peux envoyer le PDF en mail au lieu de l'ouvrir...

EasyPhp bloque la fonction mail, du coup j'dois attendre que l'admin revienne afin qu'il m'otorise à mettre tout ça sur le serveur!

Encore merci

Mammouth du PHP | 1029 Messages

26 avr. 2006, 12:04

Envoie moi un code mail pour que je teste ça
L'expérience est la somme de toutes nos erreurs.

Eléphant du PHP | 89 Messages

26 avr. 2006, 13:18

Voili voilou,
$MailTo = "vous@nom_domaine.com"; //adresse à laquelle sera envoyé le contenu du formulaire
$MailCc = "[email protected]"; // adresse à laquelle sera envoyé un communiqué
$MailSubject = "Sujet du message"; //texte qui va figurer dans le champ "sujet" du email
$MailHeader = "From: expediteur@nom_domaine.com"; //adresse email qui va figurer dans le champ "expéditeur" du email et qui peut être remplacé par la variable "$champx" ("$champ3").
mail($MailTo, $MailSubject, $MailBody, $MailHeader);