Die restlichen Inhalte werden korrekt dargestellt, aber das Euro-Zeichen scheint nicht richtig kodiert zu werden. Meine Vermutung ist, dass es an der Zeichenkodierung (UTF-8 oder ISO-8859-1) oder an der verwendeten Schriftart liegt.
Hat jemand eine Idee, wie ich dieses Problem beheben kann?
Vielen Dank im Voraus für eure Hilfe!
<?php
session_start();
include "db.php";
// Holen der Bestelldaten
$query = "SELECT
u.vorname,
u.nachname,
b.bestelldatum,
b.bestelladresse,
bp.anzahl,
bp.preis,
p.produktname
FROM
user u
JOIN
bestellungen b ON u.id_user = b.id_user
JOIN
bestellungen_products bp ON b.id_bestellung = bp.id_bestellung
JOIN
products p ON bp.id_product = p.id_product
WHERE
b.id_bestellung = ?";
$id_order = $_GET["order_id"];
$stmt = $conn->prepare($query);
$stmt->bind_param("i", $id_order);
$stmt->execute();
$result = $stmt->get_result();
$order = $result->fetch_assoc();
$rechnungs_nummer = $id_order;
$rechnungs_datum = $order["bestelldatum"];
$lieferdatum = date("Y-m-d", strtotime($rechnungs_datum . " +2 weeks"));
// Neues PDF erstellen
require_once('fpdf/fpdf.php');
$pdf = new FPDF();
$pdf->AddPage();
// Titel und Rechnungsinformationen
$pdf->SetFont('Helvetica', 'B', 16);
$pdf->Cell(190, 10, 'Rechnung', 0, 1, 'C');
$pdf->SetFont('Helvetica', '', 12);
$pdf->Cell(100, 10, 'Rechnungsnummer: ' . $rechnungs_nummer);
$pdf->Cell(90, 10, 'Rechnungsdatum: ' . $rechnungs_datum, 0, 1);
$pdf->Cell(100, 10, 'Lieferdatum: ' . $lieferdatum, 0, 1);
// Empfängerinformationen
$pdf->Ln(10);
$pdf->Cell(100, 10, 'Kunde:');
$pdf->Ln(5);
$pdf->Cell(100, 10, $order["vorname"] . " " . $order["nachname"]);
$pdf->Ln(5);
$pdf->Cell(100, 10, $order["bestelladresse"]);
// Postenübersicht
$pdf->Ln(15);
$pdf->SetFont('Helvetica', 'B', 12);
$pdf->Cell(90, 10, 'Produkt', 1);
$pdf->Cell(30, 10, 'Menge', 1);
$pdf->Cell(30, 10, 'Preis', 1);
$pdf->Cell(40, 10, 'Gesamt', 1, 1);
$pdf->SetFont('Helvetica', '', 12);
$gesamtpreis = 0;
do {
$produktname = $order["produktname"];
$anzahl = $order["anzahl"];
$preis = $order["preis"];
$gesamt = $anzahl * $preis;
$gesamtpreis += $gesamt;
$pdf->Cell(90, 10, $produktname, 1);
$pdf->Cell(30, 10, $anzahl, 1, 0, 'C');
$pdf->Cell(30, 10, number_format($preis, 2, ',', '') . ' €', 1, 0, 'R');
$pdf->Cell(40, 10, number_format($gesamt, 2, ',', '') . ' €', 1, 1, 'R');
} while ($order = $result->fetch_assoc());
// Gesamtsumme
$pdf->SetFont('Helvetica', 'B', 12);
$pdf->Ln(5);
$pdf->Cell(150, 10, 'Gesamtsumme:', 0, 0, 'R');
$pdf->Cell(40, 10, number_format($gesamtpreis, 2, ',', '') . ' €', 0, 1, 'R');
// Ausgabe des PDFs
$pdf->Output('F', 'Rechnung_' . $rechnungs_nummer . '.pdf');
//header("location:mail.php?order_id=$id_order")
header("location:confirmation.php?order_id=$id_order")
?>
Ich habe nicht viele Kunden und wollte das übersichtlich machen. Abgesehen von der Umständlichkeit: Ist es in Ordnung, wenn ich die Datei so an den Kunden verschicke: "Mein Firmenname-Rechnungsnummer-Name des Kunden" oder gibt es dazu irgendwelche Vorgaben auf die man achten muss?