Du verwendest $this->empf1 im Konstruktor? Zu diesem Zeitpunkt ist es nämlich noch nicht gesetzt.
PDF automatisiert erzeugen
Einklappen
X
-
Ok, sry hier nochmal der überarbeitete Code
empf1 wird eigentlich erst im Header() benutzt.
PHP-Code:
<?php
define("FPDF_FONTPATH","fpdf16/font/");
include_once('fpdf16/fpdf.php');
// unsere Testklasse erbt von der FPDF-Klasse
class Testklasse01 extends FPDF {
// hier werden die Variablen für diese Klasse deklariert (also: "bekanntgemacht")
private $empf1 = "";
public function addempf1( $name ) { $this->empf1 = $name; }
// der Konstruktor dieser Klasse
function __construct() {
// Konstruktor der vererbenden Klasse aufrufen (also den von FPDF)
parent::__construct("P", "mm", "A4"); // L=Querformat(Landscape), P=Hochformat(Portrait)
// hier werden die Variablen dieser Klasse initialisiert (also: "gefüllt")
$this->header4 = "Telefon: (0)1805-012815 (0,14€/Min*)";
$this->header5 = "Telefax: (0)1805-012816 (0,14€/Min*)";
$this->header6 = "eMail: Support@X.com";
$this->header7 = "Kundennummer: 1033669";
$this->header8 = "Rechnungsnummer: 100369";
$this->header9 = "Datum:";
$this->datum = date("d.m.Y");
$this->rechnung = "Rechnung:";
$this->text1 = "Sehr geehrter Herr X,";
$this->text2 = "wir freuen uns Sie als neuen Kunden begrüßen zu dürfen!";
$this->text3 = "Ihre 14 Tägige Testphase ist heute abgelaufen, daher haben wir Ihren Vertrag, wie auf unserer Seite";
$this->text4 = "beschrieben, in den \"Standart\"-Tarif gewechselt. Nachfolgend erhalten Sie Ihre Rechnung,";
$this->text5 = "wir werden den Betrag (";
$this->gesamtpreisx = "95,40 Euro";
$this->text6 = ") die nächsten Tage von Ihrem Konto abbuchen. Bitte sorgen Sie";
$this->text7 = "dafür dass Ihr Konto ausreichend gedeckt ist, um unnötige Chargeback Kosten zu vermeiden! Die im";
$this->text8 = "Falle eines Chargebacks entstehenden Bankgebühren (15,00 Euro) müssten wir Ihnen ansonsten";
$this->text9 = "zusätzlich berechnen.";
$this->text10 = "Ihr X.com Team";
$this->rdatum = "Datum:";
$this->rleistung = "Leistung:";
$this->rpreis = "Preis:";
$a = date("d.m.Y"); $b = date("d.m"); $c = date("Y"); $c++;
$implode1 = array($b, $c); $datumende = implode(".", $implode1);
$implode2 = array($a, $datumende); $datum2 = implode(" - ", $implode2);
$this->datum2 = $datum2;
$this->leistung1 = "Vermietung eines \"Recorder Standart\"-Servers";
$this->leistung2 = "für jeweils 1 Jahr (12 x 6,68)";
$this->preisomwst = "80,16 Euro";
$this->mwst = "15,23 Euro";
$this->preisgesamt = "95,40 Euro";
$this->textmwst = "Zzgl. 19% MwSt.:";
$this->gesamtpreis = "Gesamtpreis:";
$this->umstid = "UmSt-ID: Beantragt";
$this->hra = "HRA XX";
$this->hra2 = "Amtsgericht ...";
// Einstellungen für das zu erstellende PDF-Dokument
$this->SetDisplayMode(100); // wie groß wird Seite angezeigt(in %)
// Seite erzeugen (sozusagen: starten)
$this->AddPage();
}
function Header() {
// Hintergrund
$this->Image('bg.png', 0, 0);
// eine Funktion zur Anzeige des Inhalts
$this->SetFont("Arial","","10");
$this->SetTextColor(000, 000, 000);
$this->SetXY(24.5, 45.5);
$this->Cell(90, 10, $this->empf1); // empf1 wird hier benutzt
// empf1 wird hier benutzt
// empf1 wird hier benutzt
// empf1 wird hier benutzt
// empf1 wird hier benutzt
$this->SetFont("Arial","","10");
$this->SetTextColor(000, 000, 000);
$this->SetXY(24.5, 45.5);
$this->Cell(90, 19, $this->abs2);
}
function Footer() {
}}
mysql_connect("localhost","X","X") or die ("keine Verbindung möglich! Benutzername oder Passwort sind falsch");
mysql_select_db("user") or die ("Die Datenbank existiert nicht.");
// noch die auswahlkriterien überarbeiten!
// noch die auswahlkriterien überarbeiten!
// noch die auswahlkriterien überarbeiten!
// noch die auswahlkriterien überarbeiten!
// noch die auswahlkriterien überarbeiten!
// noch die auswahlkriterien überarbeiten!
$news_sql = "SELECT id FROM user WHERE rechnungstatus = '0' ORDER BY id DESC";
$news_result = mysql_query($news_sql) or die('Fehler 3: '.mysql_error());
while ($row = mysql_fetch_array($news_result, MYSQL_NUM))
{$idausdb[] = $row[0];}
$news_sql = "SELECT vorname FROM user WHERE rechnungstatus = '0' ORDER BY id DESC";
$news_result = mysql_query($news_sql) or die('Fehler 3: '.mysql_error());
while ($row = mysql_fetch_array($news_result, MYSQL_NUM))
{$vornameausdb[] = $row[0];}
$news_sql = "SELECT servername FROM user WHERE rechnungstatus = '0' ORDER BY id DESC";
$news_result = mysql_query($news_sql) or die('Fehler 3: '.mysql_error());
while ($row = mysql_fetch_array($news_result, MYSQL_NUM))
{$servernameausdb[] = $row[0];}
$anzahl = count($idausdb);
$news_sql = "SELECT rechnungsnummer FROM user ORDER BY rechnungsnummer DESC";
$news_result = mysql_query($news_sql) or die('Fehler 3: '.mysql_error());
while ($row = mysql_fetch_array($news_result, MYSQL_NUM))
{$rechnungsnummerausdb[] = $row[0];}
$rechnungsnummer = $rechnungsnummerausdb[0];
$a = 0;
while($a < $anzahl)
{
$rechnungsnummer++;
$pdf = new Testklasse01();
$pdf->addempf1( "blub" );
$pdf->Output(); // "$servernameausdb[$a]$a$a$anzahl$rechnungsnummer.pdf"
$sql = "UPDATE user SET
`rechnungsnummer` = '" . $rechnungsnummer . "',
`rechnungname` = '" . $servernameausdb[$a] . $a . $a . $anzahl . $rechnungsnummer . "'
WHERE id='". $idausdb[$a] ."'";
$db_erg = mysql_query( $sql );
$a++;
}
/* ACHTUNG: darf kein einziges Leerzeichen hinter phpend sein (wegen header) !!! */
?>Zuletzt geändert von tim185; 27.05.2009, 20:43.
Kommentar
-
Zitat von tim185 Beitrag anzeigenempf1 wird eigentlich erst im Header() benutzt.
Oder wird Header() überhaupt nicht aufgerufen? Wie stellst du denn fest, dass empf1 leer ist?
Kommentar
-
Wie genau der Header() aufgerufen wird kann ich dir nicht sagen da es ein fertigscript ist was ich nur bearbeitet (andere würden sagen geschändet ^^) habe.
Aber das ist auf jedenfall der komplette code!
Also zB.
PHP-Code:
$this->SetFont("Arial","","10");
$this->SetTextColor(000, 000, 000);
$this->SetXY(24.5, 45.5);
$this->Cell(90, 19, $this->header4);
Telefon: (0)1805-012815 (0,14€/Min*)
PHP-Code:
$this->SetFont("Arial","","10");
$this->SetTextColor(000, 000, 000);
$this->SetXY(24.5, 45.5);
$this->Cell(90, 19, $this->empf1);
-----
Wenn ihr mir nicht glaubt... ich hab einfach mal die datei gezipt und hochgeladen ( die DB abfragen hab ich rausgenommen ) wenn ihr die testklasse01.php startet werdet ihr eine .pdf sehen allerdings fehlt der Name oben beim empfänger da müsste ja theoretisch "blub" stehen:
http://mdrtest.md.funpic.de/rechnung.rarZuletzt geändert von tim185; 28.05.2009, 07:19.
Kommentar
-
Zitat von tim185 Beitrag anzeigenWie genau der Header() aufgerufen wird kann ich dir nicht sagen
Kommentar
-
JAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
JAAAAAAAAAAAAAAAAAAa
JAAAAAAAAAAAAAAAAAAAAAAAAAA
ich habs !!!!
DANKE DANKE DANKE !!! ohne euch wäre ich nie drauf gekommen !!!!!!!!!!!!!!!!!!!!!!!!!!!
PHP-Code:
ich erzeuge den header und footer nu einfach später
public function addpag(){ $this->AddPage(); }
PHP-Code:
$pdf = new Testklasse01();
$pdf->addempf1( "blub" );
$pdf->addpag();
$pdf->Output();
Zuletzt geändert von tim185; 28.05.2009, 10:07.
Kommentar
Kommentar