Kann php keine addition?

hallo, ich habe dieses kleine php-script in dem ,je nachdem was mit GET übergeben worden ist, eine andere operation durchgeführt wird.
Das Problem ist, das dies nur bei -= und *= geht, bei += und /= nicht.

if(!empty($_GET[‚var221‘]))
{
switch($_GET[‚var211‘])
{
case „+“:
//echo „das echo klappt, die rechnung nicht“;
$var[‚A‘] += $_GET[‚var221‘];
case „-“:
$var[‚A‘] -= $_GET[‚var221‘];//hier ist es wie gewollt
case „/“:
$var[‚A‘] /= $_GET[‚var221‘];
case „*“:
$var[‚A‘] *= $_GET[‚var221‘];//hier auch
}
}

Danke für die Antworten
Mfg Alex

hallo alex,

  • kann anscheinend nicht per $_GET übergeben werden.
    ich würde entweder auf $_POST umstellen oder die werte durch zeichenwerte ersetzen.
    z.bsp.
    a = +
    s = -
    d = /
    m = *

oder so ähnlich :smile:

Gruß
phillip

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

hallo alex,

  • kann anscheinend nicht per $_GET übergeben werden.
    ich würde entweder auf $_POST umstellen oder die werte durch
    zeichenwerte ersetzen.
    z.bsp.
    a = +
    s = -
    d = /
    m = *

oder so ähnlich :smile:

Gruß
phillip

Naja das habe ich schon getestet, wenn ich(wie gesagt) eine echo ausgabe bei dem „Plus“ mache funktioniert alles, nur die operation an sich nicht, aber da die genauso aufgebaut ist wie die anderen, ok dann versuch ichs mal mit post…

echo ausgabe bei dem „Plus“ mache funktioniert alles, nur die
operation an sich nicht, aber da die genauso aufgebaut ist wie

warum änderst Du dann nicht in den Stil
$a = $b + $c; ??
zumindest beim Teilen scheinst Du das = irgendwie auszukommentieren, wenn ich das richtig vermute…

alles klappt nciht
es klappt nicht mit post, es klappt nicht mit $a = $a + $b es klappt auch nciht wenn ich switch weglasse, php weigert sich immer noch das zu rechnen.mache ich irgendeinen Blödheitsfehler?

also diese version klappt:

$var[‚A‘] = 5;
echo $_GET[‚var211‘];

if(!empty($_GET[‚var221‘]))
{
switch($_GET[‚var211‘])
{
case ‚p‘:
echo $_GET[‚var211‘] . „a=>“;
//echo „das echo klappt, die rechnung nicht“;
$var[‚A‘] += $_GET[‚var221‘];
echo $var[‚A‘];
break;
case „s“:
echo $_GET[‚var211‘] . „b=>“;
$var[‚A‘] -= $_GET[‚var221‘];//hier ist es wie gewollt
echo $var[‚A‘];
break;
case „d“:
echo $_GET[‚var211‘] . „c=>“;
$var[‚A‘] /= $_GET[‚var221‘];
echo $var[‚A‘];
break;
case „m“:
echo $_GET[‚var211‘] . „d=>“;
$var[‚A‘] *= $_GET[‚var221‘];//hier auch
echo $var[‚A‘];
break;
}
}

es klappt nicht mit post, es klappt nicht mit $a = $a + $b es
klappt auch nciht wenn ich switch weglasse, php weigert sich
immer noch das zu rechnen.mache ich irgendeinen
Blödheitsfehler?

nachtrag
ok, ich habe glaub ich den fehler, weiß aber noch nciht, wie ich den umgehe. - und * werden normla übergeben + und / werden in html code umgewandelt…

Danke
danke nochmal für eure hilfe, es funktioniert jetzt, ich hatte das break in der case: anweisung vergessen:

if(!empty($_GET[‚var221‘]))
{
switch($_GET[‚var211‘])
{
case „+“:
$var[‚A‘]+=$_GET[‚var221‘];
break;
case „-“:
$var[‚A‘]-=$_GET[‚var221‘];
break;
case „/“:
$var[‚A‘]/=$_GET[‚var221‘];
break;
case „*“:
$var[‚A‘]*=$_GET[‚var221‘];
break;
}
}