Problem mit (globaler) Variable in SWITCH Anweisung

Chocobanana

Erfahrenes Mitglied
Hallo!

Stehe vor folgendem Problem und weiß nicht so recht woran es liegt:

Ich habe ein Login Formular worin Username und Passwort eingegeben werden muss. Diese sendet an die Datei "member.php".

Dort mache ich eine If Abfrage.....

Dann die Switch Abfrage, welche Aktion ausgeführ werden soll:

PHP:
$username=$_REQUEST['Username'];
$Schhritt=$_REQUEST['Schritt'];

Function Member()
{
switch($Schritt)
  {
  Case "1":
  echo ("Aktion 1");
  break;
  Case "2":
  echo ("Aktion 2");
  break;
  default:
  echo("Noch keine Aktion gewählt");  //Kommt frisch vom Login und hatte noch  
//nicht die möglichkeit eine Auswahl 
//zu treffen, darum kommt in "default" das Formular.
  Formular();
  }
}

Problem besteht jetzt darin, dass ich die Fehlermeldung bekomme: Variable "Schritt" nicht definiert.
Diese Fehlermeldung fällt weg, wenn ich in der Function Member() vor der Switch Anweisung der Variable Schritt einen Wert zuweise.

Woran liegt der Fehler dass er den oben zugewiesenen Wert nicht nimmt?

Greetz,...
 
Zuletzt bearbeitet:
PHP:
$username=$_REQUEST['Username'];
$Schhritt=$_REQUEST['Schritt'];

Function Member()
{
global $Schritt;
switch($Schritt)
  {
  Case "1":
  echo ("Aktion 1");
  break;
  Case "2":
  echo ("Aktion 2");
  break;
  default:
  echo("Noch keine Aktion gewählt");
// Kommt frisch vom Login und hatte noch  nicht die
// möglichkeit eine Auswahl zu treffen, darum kommt in
// "default" das Formular.
  Formular();
  }
}

So sollte es funktionieren...
Edit:
Die Länge des PHP-Feldes sprengt das Design.
Habe das noch geändert...
 
Zuletzt bearbeitet:
:rolleyes:

$Schhritt=$_REQUEST['Schritt'];

switch($Schritt)

Könnte das der Fehler sein ?!

Ich erläuter mal eben wo der Fehler sein müsste, er definiert eine Variable $Schhritt (mit 2mal h) und bezieht sich in der Switch Schleife auf eine Variable $Schritt (einmal h).
Daher kommt auch die Meldung "Var $Schritt nicht deffiniert" und wenn er sie extra definiert wie er sagte funktioniert es wieder ;)
Das kann doch gar nicht funktionieren, das Script sieht gut aus. Nur das mit dem echo(); ist doch auch falsch ... ?!
 
Zuletzt bearbeitet:
Das ist noch ein zusätzlicher Fehler ;-)

Variablen, die außerhalb einer Funktion verwendet werden und nicht mit global innerhalb der Funktion "globalisiert" werden, sind innerhalb dieser nicht verfügbar.
 
Danke Daxi!

Das mit der definition innerhalb der Function Member() war der Fehler. Funktioniert nun einwandfrei.

Schon langsam wirds auch in php (hab vorher asp gemacht), hat doch einige Vorteile mehr.

Greetz....
 
Zurück