buttonDataCode() und buttonDataGet()

Die beiden Funktionen buttonDataCode() und buttonDataGet() erlauben es, Knöpfe auf einer Fragebogen-Seite zu platzieren, welche die aktuelle Seite wiederholen und dort Funktionen auslösen können.

Die Funktion buttonDataCode() erstellt einen Knopf, hinterlegt Daten und liefert den HTML-Code für den Knopf zurück.

string buttonDataCode(string Inhalt, [mixed Daten], [array|string CSS-Klasse])

Die Funktion buttonDataGet() prüft, ob zuvor ein mit buttonDataCode() erstellter Knopf gedrückt wurde, und liefert die dafür hinterlegten Daten zurück. Wenn keine Daten hitnerlegt wurden oder wenn kein Knopf gedrückt wurde, liefert die Funktion NULL.

mixed buttonDataGet()

Beispiel

In diesem Beispiel wird von dem Knopf einfach nur der String „nochmal“ übergeben. Wenn die Seite deshalb wiederholt wird, dann zählt der PHP-Code eine interne Variable IV01_01 hoch, und zeigt abhängig von der Variable eine andere Frage auf der Seite.

// Aktuellen Zähler prüfen,
// das (int) sorgt dafür, dass beim ersten Aufruf eine 0 verendet wird,
// das 'code:ifany' unterdrückt beim ersten Aufruf eine Warnung
$nummer = (int)value('IV01_01', 'code:ifany');
 
// Nummer ggf. hochzählen und die interne Variable aktualisieren
$data = buttonDataGet();
if ($data == 'nochmal') {
    $nummer = $nummer + 1;
    put('IV01_01', $nummer);
}
 
// Frage anzeigen - abhängig von der Nummer
// (die Einträge im Array haben die Indizes 0 bis 4)
$fragen = [
    'AB01',
    'AB02',
    'AB03',
    'AB04',
    'AB05'
];
question($fragen[$nummer]);
 
// Knopf auf der Seite einbinden - aber nur, wenn noch Fragen übrigs sind
if ($nummer < count($fragen) - 1) {
    $htmlButton = buttonDataCode('Nächste Frage', 'nochmal');
    html('<div style="margin: 1em 0; text-align: center;">'.$htmlButton.'</div>');
}