Yadgar: Ich verstehe das nicht, ich verstehe das nicht, ich verstehe das nicht!

Beitrag lesen

Hi(gh)!

Ich bin im Begriff, an der Programmiererei zu verzweifeln:

Ein Formular übermittelt den Wert $_POST['Position'], der fünf verschiedene Stringwerte haben kann ("Pedal", "Unteres Manual", "Oberes Manual", "3. Manual", "4. Manual"); entsprechend dem Stringinhalt soll ein Integerwert von 0 bis 4 in die Datenbank eingetragen werden. Da die Variablen für die Datenbank in mehreren Funktionen verwendet werden sollen (und ich nicht jedesmal $_POST['soundso'] schreiben will, habe ich globale Variablen definiert:

  global $Position;
  global $Pedaltyp;
  global $Schweifung_Horizontal;
  global $Schweifung_Vertikal;
  global $Radial;
  global $Tastentyp;
  global $Gewichtet;
  global $Aftertouch;

Die Zuweisung von $Position sieht so aus:

     if ($_POST['Position'] == "Pedal")
        $Position = 0;
      else if ($_POST['Position'] == "Unteres Manual")
        $Position = 1;
      else if ($_POST['Position'] == "Oberes Manual")
        $Position = 2;
      else if ($_POST['Position'] == "3. Manual")
        $Position = 3;
      else 
        $Position = 4;

Wenn ich dann vor dem Eintrag in die Datenbank noch einmal $_POST und $Position prüfe, wird mir $_POST korrekt angezeigt:

array(7) { ["Position"]=> string(14) "Unteres Manual" ["Tiefste_Taste"]=> string(1) "F" ["Hoechste_Taste"]=> string(4) "c'''" ["Pedaltyp"]=> string(0) "" ["Tastentyp"]=> string(12) "Vorspringend" ["Gewichtet"]=> string(4) "nein" ["Aftertouch"]=> string(4) "nein" } 

in $Position steht aber immer nur NULL! Warum? In diesem Fall sollte doch 1 drinstehen... Ich verstehe das alles nicht... warum ist Programmieren so elend schwer?

Bis bald im Khyberspace!

Yadgar