====== 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//])'' * //Inhalt// -- HTML Code, der als Inhalt des Knopfes angezeigt werden soll * //Daten// -- Daten, welche für den Knopf hinterlegt werden sollen, z.B. eine Zahl, Text oder ein Array. * //CSS-Klasse// -- Eine oder mehrere CSS-Klassen, welche für den Knopf verwendet werden sollen. 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 [[de:create:questions:internal|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('
'.$htmlButton.'
'); }