Moin!
Mit dem blöden json habe ich mit Ärger als alles andere
Daran liegt es aber nicht. Du hast einfach zu wenig Geduld und weißt scheinbar gar nicht, was Du tust, weil Du dir die Ergebnisse der Schritte nicht ausgeben lässt aber mit komplexem Zeug rummachst:
darauf habe ich kein Bock mehr. Ich bleib bei meiner Version
$eingabe = array ( $_POST['test']); $ausgabe = serialize ( $eingabe ); echo $ausgabe; $array = unserialize ( $ausgabe ); if (array_key_exists('firma', $array[0])) { echo "Das Element 'Firma' ist in dem Array vorhanden"; }
Du musst wirklich lernen, Dir Deine Daten mit var_dump($_POST) oder print_r($_POST) anzusehen und aus den Ausgaben zu schließen, was Du zu tun hast.
z.b. kannst Du schon hier abkürzen: $array=$_POST['test']; Das spart Dir die ersten 3 nichtleeren Zeilen und das Gefummel mit
# Unsinn:
$array=deserialize(serialize($_POST['test']));
worauf Deine Zeilen hinauslaufen. Das obige ist aber auch sonst völlig "von hinten durch die Brust ins Auge" weil
if (array_key_exists('firma', $_POST)) {
echo "Das Element 'Firma' ist in dem Array vorhanden";
}
das gewünschte Ergebnis erzielen sollte wenn Dein Formular so aussieht:
<form method="post">
<input type="checkbox" name="firma" id="firma" value="1"><label for="firma">Firma</label>
</form>
und Firma angeklickt wurde.
Noch mal: Wozu Du in Deinem Skriptstück Daten erst serialisiert und dann deseralisierst erschließt sich überhaupt nicht. Das ist wie wenn Du Deine deutsche Zeitung morgens ins Russische übersetzen lässt um sie dann nachmittags in Deutsche übersetzen zu lassen und abends zu lesen. Mit dem Speichern hat das nichts zu tun und json ist ganz gewiss nicht schuld.
Jörg Reinholz