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
-
Aber Header() rufst du überhaupt nicht auf. Da du trotzdem merkst, dass empf1 leer ist, scheint die Parent-Klasse diese Methode aufzurufen. Wann genau geschieht das, bei der Konstruktion oder beim Output()?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.
wird ja ausgegeben da kommt zB. wie weiter oben definiert: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*)
hier müsste ja eigentlich "blub" angezeigt werden in der pdf aber es wird halt nichts angezeigt der bereich ist leer.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
-
Dann kann ich dir nicht weiter helfen.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(); }
JAAAA, danke =)PHP-Code:
$pdf = new Testklasse01();
$pdf->addempf1( "blub" );
$pdf->addpag();
$pdf->Output();
Zuletzt geändert von tim185; 28.05.2009, 10:07.
Kommentar
Moderator
Kommentar