Hi!
Error_reporting ist natürlich auf e_all gesetzt und per var_dump habe ich herausgefunden dass immer der erste Wert flöten geht.
Hast du auch mit var_dump() herausgefunden, ob die von dir verwendeten Variablen das gewünschte enthalten und ob die Funktionen das zurückliefern, was du erwartest?
if(in_array($_GET['suppcol'], $_SESSION['allcol'])) {
//Wert wird aus dem Array gelöscht
unset($_SESSION['tablecolallpc'][array_search($_GET['suppcol'],$_SESSION['tablecolallpc'])]);
}
array\_search() liefert im Nicht-gefunden-Fall false zurück, das gleich 0 ist und somit das Löschen des ersten Array-Wertes erklären könnte. Kontrollausgaben können diese Vermutung bestätigen. Außerdem testest du das Vorhandensein in $\_SESSION['allcol'], lässt aber array\_search() auf $\_SESSION['tablecolallpc'] los.
Lo!