FPDF.............................au secours!!!!!!!!!!!!!!

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 : FPDF.............................au secours!!!!!!!!!!!!!!

par DIEGO007 » 20 sept. 2006, 18:14

ah.........!!!!
j ai compris!!!!!!!!!!!!!!!!!!
mon erreur et que je maittais mon code PHP a l interieur d une balise <BOdy>(ma honte.. :oops: )......maintenant j ai avancé d un pas et j obtiens bizareries ($#~é...)....je vai essayer de trouver ce qui cloche et je vous tiens aucourant!!!!!!!!!!

en tout cas merci à vous tous!!!!!!!!!!!!!

par Ryle » 20 sept. 2006, 18:05

A la ligne 9, tu as un tag ouvert <?

Qu'as tu sur les lignes précédentes ? est ce que tu ne serais pas déjà en train d'envoyer du code html ? Un simple espace ou un retour à la ligne en dehors des balises <? et ?> est envoyé au navigateurs, perturbant l'envoi des headers :)

Et je suppose que c'est éxactement ce que tu as entre ta ligne 8 et ta ligne 9 ;)

par Henri » 20 sept. 2006, 17:58

Attention : le message indique que des informations ont déjà été envoyées sur le browser de l'internaute et donc que ta redirection ne peut pas fonctionner.Ces informations déjà envoyées, cela peut être n'importe quel caractère, y compris des espaces et des retours-chariots. Pour exemple, je viens de résoudre il y a 15 minutes le même problème.

Extrait de mon fichier
include_once ("../libs/connect.php");
include_once ("../libs/functions.lib.php");

...

header("location:view.php?id=$id");
?>

Il m'indiquait donc une erreur sur la dernière ligne, celle de l'ordre header.
L'erreur venait en fait du fichier functions.lib.php
<?php
// Des déclarations de fonctions sans problème

?>
[retour-chariot]
[retour-chariot]
[retour-chariot]
L'erreur c'était ça : 3 retour-chariots entre le tag de fermeture de php ?> et la fin du fichier. Ces retour-chariots étaient envoyés au browser et donc le header ne pouvait plus être envoyé.

A noter 1 : avant d'être mis en production sur un serveur Apache, ce développement a été testé sur IIS sans aucun problème.
A noter 2 : il ne faut pas oublier non plus de vérifier avant le tag <?php. J'ai eu ce genre de problème avec un fichier php qui génère dynamiquement une image. Il y avait un espace de trop avant le tag <?php

par diego007 » 20 sept. 2006, 16:34

first merci d avoir repondu aussi vite!!!!!!!!!!
à la ligne 9 j ai ça:
9-<?
10-require('../fpdf/fpdf.php');
maintenan je l ai remplacé par:
9-<? ob_start();
10-require('../fpdf/fpdf.php');
et ça ne marche tj pas!!!!
j ai le meme probleme à la meme ligne!!!
vous en dites quoi?

Re: FPDF.............................au secours!!!!!!!!!!!!!

par Maitrepylos » 20 sept. 2006, 16:11

Bonjour,
Je vais encore me faire taper sur les doigts, mais essaye ceci.
ob_start();
require('../fpdf/fpdf.php');
class PDF extends FPDF
{
//En-tête
function Header()
{
    //Logo
    $this->Image('gep.PNG',10,8,33);
    //Police Arial gras 15
    $this->SetFont('Arial','B',15);
    //Décalage à droite
    $this->Cell(80);
    //Titre
    $this->Cell(30,10,'Titre',1,0,'C');
    //Saut de ligne
    $this->Ln(20);
}

//Pied de page
function Footer()
{
    //Positionnement à 1,5 cm du bas
    $this->SetY(-15);
    //Police Arial italique 8
    $this->SetFont('Arial','I',8);
    //Numéro de page
    $this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'C');
}
}

//Instanciation de la classe dérivée
$pdf=new PDF();
$pdf->AliasNbPages();
$pdf->AddPage();
$pdf->SetFont('Times','',12);
for($i=1;$i<=40;$i++)
    $pdf->Cell(0,10,'Impression de la ligne numéro '.$i,0,1);
ob_end_clean();
$pdf->Output();
?>
ob_start();

ob_end_clean();

Re: FPDF.............................au secours!!!!!!!!!!!!!

par Ryle » 20 sept. 2006, 16:09

Hello :)
là j ai vraiment besoin de votre aide. je suis pressé par le temps!!!!!!!!
C'est possible, mais nous on ne l'est pas ... faudra donc faire avec ou passer par une boite qui se fera une joie de te répondre en temps et en heure puisqu'elle pourra te facturer ;)

En commençant par le début :
Warning: Cannot modify header information - headers already sent by (output started at c:\wamp\www\stage k\untitled.php:9) in c:\wamp\www\fpdf\fpdf.php on line 1022
FPDF error: Some data has already been output to browser, can't send PDF file
En français cela donne : il y a une erreur ligne 1022 du fichier fpdf.php, celui-ci ne peut pas modifier les informations d'entête car celles ci ont déjà commencé à être envoyées dans le fichier untitled.php ligne 9.

Question : que contient le fichier untitled.php à la ligne 9 ? n'y aurait-il pas par hasard un espace, un retour à ligne, un echo ou quelque chose du genre en dehors de balises <?php et ?>, qui serait dès lors renvoyé au navigateur ? :)

FPDF.............................au secours!!!!!!!!!!!!!!

par diego007 » 20 sept. 2006, 15:56

Salut à vous tous!!!! :P
je suis un débutant php..............je commence à me débrouiller pas mal :) !!!!
donc j ai décidé d avancer un peu et de m attaquer au fpdf!!!
donc je me connecte au site je copie tutorial 2 et je l exécute sur mon poste pour voir ce que ça donne!!!!!!!!!!
....et finalement ........ça ne donne rien!!!!!!!!!!!! :?
Sauf le maudit message d erreur:

Warning: Cannot modify header information - headers already sent by (output started at c:\wamp\www\stage k\untitled.php:9) in c:\wamp\www\fpdf\fpdf.php on line 1022
FPDF error: Some data has already been output to browser, can't send PDF file
[et pourtant je n ai rien modifier!!!!!!!

Code : Tout sélectionner

require('../fpdf/fpdf.php'); class PDF extends FPDF { //En-tête function Header() { //Logo $this->Image('gep.PNG',10,8,33); //Police Arial gras 15 $this->SetFont('Arial','B',15); //Décalage à droite $this->Cell(80); //Titre $this->Cell(30,10,'Titre',1,0,'C'); //Saut de ligne $this->Ln(20); } //Pied de page function Footer() { //Positionnement à 1,5 cm du bas $this->SetY(-15); //Police Arial italique 8 $this->SetFont('Arial','I',8); //Numéro de page $this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'C'); } } //Instanciation de la classe dérivée $pdf=new PDF(); $pdf->AliasNbPages(); $pdf->AddPage(); $pdf->SetFont('Times','',12); for($i=1;$i<=40;$i++) $pdf->Cell(0,10,'Impression de la ligne numéro '.$i,0,1); $pdf->Output(); ?>
je précise que mon fichier et dans www/stage k/test.php
et ma biblio dans www/fpdf/fpdf.php.....
là j ai vraiment besoin de votre aide. je suis pressé par le temps!!!!!!!!
merci !!!!!!!!!