Start · Sprachen · PHP · Referenz · fdf_set_submit_form_action

fdf_set_submit_form_action

Funktion

Setzt eine Submit-Form-Aktion für ein bestimmtes Feld in einem FDF-Dokument.

seit PHP 4.3.0 Kategorie: io

Signatur

fdf_set_submit_form_action(resource $fdf_document, string $fieldname, int $trigger, string $script, int $flags): bool

Beschreibung

fdf_set_submit_form_action definiert eine Submit-Aktion für ein Formularfeld innerhalb eines FDF-Dokuments (Forms Data Format). Damit lässt sich festlegen, wie und wohin Formulardaten übermittelt werden, wenn ein bestimmtes Ereignis (z. B. ein Mausklick) auf dem Feld ausgelöst wird.

FDF wird vor allem im Zusammenspiel mit PDF-Formularen eingesetzt. Mit dieser Funktion kann ein Feld so konfiguriert werden, dass beim Auslösen eines definierten Ereignisses ($trigger) ein Skript aufgerufen und die Formulardaten an eine URL oder ein Verarbeitungsskript gesendet werden. Der Parameter $flags steuert dabei, welche Felder übermittelt werden und in welchem Format die Daten verschickt werden (z. B. FDF, HTML oder XFDF).

Typische Anwendungsgebiete sind interaktive PDF-Formulare, die nach dem Ausfüllen durch den Nutzer die Daten automatisch an einen Server senden. Die Funktion gehört zur veralteten FDF-Erweiterung (fdf), die in modernen PHP-Versionen nicht mehr standardmäßig enthalten ist und für die Nutzung die Adobe FDF Toolkit-Bibliothek voraussetzt.

Hinweis: Die FDF-Erweiterung gilt als veraltet und wird in aktuellen PHP-Versionen nicht mehr aktiv gepflegt. Für neue Projekte sollten moderne PDF-Bibliotheken wie TCPDF, mPDF oder FPDF bevorzugt werden.

Parameter

Name Typ Default Beschreibung
$fdf_document Pflicht resource Ein FDF-Dokumenten-Handle, das zuvor mit fdf_create() oder fdf_open() erzeugt wurde.
$fieldname Pflicht string Der Name des Formularfeldes, für das die Submit-Aktion gesetzt werden soll.
$trigger Pflicht int Das auslösende Ereignis, z. B. ein Mausklick. Typische Werte sind FDF-Konstanten wie FDFMouseUp, FDFMouseDown usw.
$script Pflicht string Die URL oder der Pfad des Skripts, an das die Formulardaten übermittelt werden sollen.
$flags Pflicht int Bitmaske, die das Übertragungsformat und den Umfang der gesendeten Felder steuert. Mögliche Werte sind z. B. FDFInclude, FDFExclude und Formatflags wie FDFSubmitFDF, FDFSubmitHTML oder FDFSubmitXFDF.

Rückgabewert

Typ
bool
Beschreibung
Gibt true bei Erfolg zurück, false bei einem Fehler.

Beispiele

Submit-Aktion für einen Submit-Button in einem PDF-Formular setzen

<?php
// Neues FDF-Dokument erstellen
$fdf = fdf_create();

// Einen Feldwert setzen (beispielhaft ein Text-Feld)
fdf_set_value($fdf, 'nachname', 'Mustermann', false);

// Submit-Aktion für das Feld 'submit_button' setzen:
// Bei MouseUp soll das Formular als FDF an das Verarbeitungsskript gesendet werden
fdf_set_submit_form_action(
    $fdf,
    'submit_button',
    FDFMouseUp,
    'https://example.com/verarbeitung.php',
    FDFSubmitFDF
);

// FDF-Dokument als Datei speichern
fdf_save($fdf, '/tmp/formular.fdf');

// Ressource freigeben
fdf_close($fdf);

echo 'Submit-Aktion erfolgreich gesetzt und FDF-Datei gespeichert.';
?>
Submit-Aktion erfolgreich gesetzt und FDF-Datei gespeichert.

Submit-Aktion mit HTML-Format und Feldauswahl

<?php
// FDF-Dokument öffnen
$fdf = fdf_open('/tmp/eingabe.fdf');

if ($fdf) {
    // Nur bestimmte Felder als HTML-POST an ein Skript senden
    // FDFSubmitHTML sendet die Daten als application/x-www-form-urlencoded
    $result = fdf_set_submit_form_action(
        $fdf,
        'abschicken',
        FDFMouseUp,
        'https://example.com/empfang.php',
        FDFSubmitHTML | FDFInclude
    );

    if ($result) {
        echo 'Submit-HTML-Aktion erfolgreich gesetzt.';
    } else {
        echo 'Fehler beim Setzen der Aktion.';
    }

    fdf_close($fdf);
}
?>
Submit-HTML-Aktion erfolgreich gesetzt.

// Wichtig · Fallstricke

Veraltete Erweiterung: Die fdf-Erweiterung setzt die proprietäre Adobe FDF Toolkit-Bibliothek voraus und ist in PHP 5+ nicht standardmäßig kompiliert. In aktuellen PHP-Installationen ist sie oft nicht verfügbar. Prüfen Sie die Verfügbarkeit mit extension_loaded('fdf').

Die Konstanten wie FDFMouseUp, FDFSubmitFDF, FDFSubmitHTML und FDFSubmitXFDF sind nur verfügbar, wenn die FDF-Erweiterung geladen ist. Verwenden Sie diese Funktion daher nur in Umgebungen, in denen die Erweiterung ausdrücklich installiert und konfiguriert wurde.

Für neue Projekte mit PDF-Formularen empfiehlt sich der Einsatz moderner Bibliotheken wie TCPDF, mPDF oder externer Dienste zur PDF-Verarbeitung.