Ciao e scusa ma perché questo costrutto?
Codice PHP:
file_put_contents('data.txt''');        
        
$fp fopen('data.txt''a');
        
$all_data $textdata1.$char_divider.$checkbox1.$char_divider.$checkbox2;
        
fwrite($fp$all_data,);
        
fclose($fp); 
Praticamente non ha senso.

file_put_contents() riporta tre paramentri, di cui il terzo è opzionale, se omesso sovrascrive il file se presente (se non esiste va da se che lo crea nuovo) e se ho compreso cosa stai combinando, tu con questa espressione ('data.txt', '') vuoi sovrascrivere data.txt con un blank in modo da cancellare ciò che c'era scritto prima, ma non ti serve a nulla.
Come non si capisce perché poi utilizzi il costrutto fopen(); fwrite(); fclose(); invece di riutilizzare semplicemente file_put_contents(), che come dice il manula sostituisce l'altro costrutto.

In pratica scrivi due volte le stesse cose, inultilmente, così da rendere il tuo codice incasinato, soprattutto a te che devi leggerlo e magari rileggerlo tra qualche anno per effettuare una modifica.

Tutto quel codice si poteva riassumete in una sola riga, così da renderlo più semplice e semplificre anche il lavoro al server che non deve processare più linee di codice inutile.
Codice PHP:
file_put_contents('data.txt'$textdata1.$char_divider.$checkbox1.$char_divider.$checkbox2);