...
sysop ich habe deinen Code mal anhand eines php-Tutorials näher studiert, wobei sich mir vier Dinge nocht nicht erschliessen.
1.)Wozu benötigt man den else-Befehl? Es wird ja zwangsläufig eine Bedingung erfüllt, sofern jeweils ein Button aus jeder Gruppe angeklickt wird.
jaja, das stimmt zwar, aber ich bin noch von der alten schule ;ugl.
als ich php gelernt habe, war das zwingend b.z.w es musste ein endif gesetzt werden (wie übrigens immer noch in enigen anderen sprachen). ich finde es auch etwas übersichtlicher, dem parser macht es nichts (laufzeit wird nicht um einen deut kürzer) da er das else sonst automatisch setzt.
allerdings würde das script nach dem nicht erfüllten if OHNE else weiter laufen, was ja nicht erwünscht ist und auf einen ungültigen switch würde ich mich nicht verlassen. man könnte eventuell noch einen case default einfügen, der dann mit einem break abbricht.
2.) Wofür steht das "!" ? Ich habe es bis anhin lediglich im Kontext des Rechnens gesehen, wo es als "ungleich" interpretiert wird.
das ! steht für ein NOT (in worten wäre das also wenn $_POST NICHT gesetzt ist dann)
3.) Worauf wird hier genau verwiesen (?=$PHP_SELF?>)? Es wird dabei ja auf die Seite verwiesen, die für die Aktion gebraucht wird.
$PHP_SELF ist eine variable, in der der eigene dateiname steht. ob das script oben also yxz.php oder blabla.php heisst ist vollkommen egal, es wird wieder die selbe datei aufgerufen.
4.) Ist es richtig, dass jetzt der switch-Befehl noch beim if-Befehl mit entsprechendem Break fehlt?
das verstehe ich jetzt auch nicht. im script oben switche ich erst dann, wenn die beiden radios gesetzt sind, ansonsten rufe ich das formular auf. sind beide vars gesetzt, rechne ich sie zusammen und je nach summe rufe ich eine entsprechende andere datei auf.
oder anders, ich prüfe auf vorhanden sein von beiden radio-buttons, wenn ja, erst dann switche ich. ich habe übrigens nicht alle switch anweisungen angegeben, aber das prinzip sollte dir denke ich klar sein.
wenn du switchen willst, muss du nach jeder case anweisung mit einem break; das script abbrechen, sonst läuft es weiter.
der meta-befehl kann übrigens durch eine header anweisung ersetzt werden, wenn du die echos weg lässt.
hoffe ich konnte etwas helfen