Runtop: session_start verträgt sich nicht mit POST- und Feldübergabeprüf

Beitrag lesen

Hallo an alle,

ich entwerfe gerade ein Affenformular (Kontaktformular) und zur normalen Eingabeüberprüfung benutze ich auch eine POST- sowie Feldübergabeprüfung.
Das heißt, mit count vergleicht das Script was ankommt und ob es mit dem Array sowie Count angaben übereinstimmt.

Mein Problem liegt bei der session_start.
Wenn ich das Formular beim ersten mal öffne, teils befülle und dann absende dann gibt das Script als echo folgendes aus: POST stimmt nicht und Stimmt nicht mit Array überein
Normalerweise wird das Script mit exit(); abgebrochen, habe es aber jetzt weggelassen!

Wenn ich das Formular schließe und wieder neu öffne, wieder neu befülle und dann absende habe ich das Problem nicht mehr!

Sollte ich aber den Browser (egal ob IE oder FF) schließen, die vollständigen Temporären Internetdateien (Cookies und Dateien) löschen, dann fängt das Problem wieder von vorne an.

Auszug aus dem Code (etwas gekürzt):

session_start(); // steht bei beginn der Seite ganz oben als erstes!

if (isset($_POST['absenden'])) {

$formElements=array('lala',0,1,2,3,4,5,6,7,8,9,10,
                           usw.);

if (count($_POST)!=33 OR count($_POST['lala'])!=11)
     {
      echo "POST stimmt nicht";
       session_unset();
     }

$postElements=array_keys($_POST);

foreach($_POST as $element)

{

if (is_array($element))

$postElements=array_merge($postElements,array_keys($element));
     }

$formElementsDif=array_diff($postElements,$formElements);
       $postElementsDif=array_diff($formElements,$postElements);

if (count($formElementsDif)>0 OR count($postElementsDif)>0)
     {
      echo "Stimmt nicht mit Array überein";
       session_unset();
     }

Ich hoffe dass Ihr mir ein wenig weiterhelfen könnt!

Danke.

Runtop