Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] + / - parsen?

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] + / - parsen?

    Hallo Zusammen

    Mir macht das + oder - Fehlermeldungen, wenn ich sie als Variable ausgebe. Darum frage ich Euch, wie ich das richtig angehe.

    Ich frage ab:
    PHP-Code:
    if ($_POST['anzahl_personen'] < $zeile_r['anzahl_personen'])
    {
        
    $plusminus "+";
        
    $anzahl_differenz $zeile_r['anzahl_personen'] - $_POST['anzahl_personen'];
    }
    else
    {
        if (
    $_POST['anzahl_personen'] > $zeile_r['anzahl_personen'])
        {
        
    $plusminus "-";
        
    $anzahl_differenz $_POST['anzahl_personen'] - $zeile_r['anzahl_personen'];
        }

    Und übergebe die Variable weiter:

    PHP-Code:
    $reservierte_plaetze_neu $zeile_d['reservierte_plaetze'] + $anzahl_differenz;
    if (
    $zeile_d['total_plaetze'] - $zeile_d['reservierte_plaetze'] + $anzahl_differenz )
    {
    ...
    ... 
    Jedoch findet das PHP nicht wirklich ok..

    Fehlermeldung "... T_VARIABLE"...
    Habe herausgefunden, dass dies irgendwie am + / - liegen muss, denn wenn ich die Variable $plusminus durch ein geschriebenes +/- ersetzte, funktioniert es einwandfrei.

    Vielen Dank schonmal. Und Allen schöne Weihnachten

    Gruss
    Prinzli

  • #2
    du benutzt $plusminus nirgendwo ...
    allerdings vermute ich das du statt
    $var + $var2
    sowas willst wie
    $var $plusminus $var2

    das funktioniert nicht. die einzige möglichkeit sowas zu bewerkstelligen ist über
    eval()
    mit eval() musst du aber SEHR vorsichtig sein!

    sicherer und auch einfacher ist es über
    if ($plusminus == "+") $var = $var+$var2; else $var = $var-$var2;
    oder sowas

    mfg

    PS: so wie ich das sehe willst du doch onehin nur den betrag ausrechnen?
    in dem fall schau dir mal abs() an

    Kommentar


    • #3
      Hallo BlackWolf

      Danke Deiner Antwort.

      Ja, sorry, sowas wollte ich eigentlich tun
      $var $plusminus $var2

      Doch, ich verstehe eben nicht ganz, WARUM das nicht geht?

      PS: Nee, nix mit Betrag, wie die Variablen schon aussagen, geht es um Personenanzahl.

      Gruss
      Prinzli

      Kommentar


      • #4
        Zitat von prinzli Beitrag anzeigen
        Hallo BlackWolf

        Danke Deiner Antwort.

        Ja, sorry, sowas wollte ich eigentlich tun
        $var $plusminus $var2

        Doch, ich verstehe eben nicht ganz, WARUM das nicht geht?

        PS: Nee, nix mit Betrag, wie die Variablen schon aussagen, geht es um Personenanzahl.

        Gruss
        Prinzli
        Weil Variablen in PHP eine Aufgabe haben, und diese Aufgabe heißt "Werte speichern" und nicht "ausführbaren Code speichern". Allein schon aus dem Grund, weil PHP dann überhaupt nichtmehr zwischen Code und Werten unterscheiden könnte. Dummes Beispiel:
        $var = '; $muh = "eek";';
        echo $var;
        Woher sollte PHP wissen ob er nun was ausgeben oder ne Zuweisung machen soll oder wie?

        Funktioniert nicht.
        Wie schon gesagt, KANNST du code der in Variablen steht ausführen - über eval(). Das ist allerdings ein extremes Sicherheitsrisiko und sollte - wenn möglich - vermieden werden. Und in einem Fall bin ich mir zu 99% sicher das es vermieden werden kann

        mfg

        PS: Ja, du errechnest vielleicht eine Personenanzahl, im Endeffekt machst du aber nichts anderes als die Betragsfunktion abs() zu imitieren - zumindest soweit ich das sehen kann.

        Kommentar


        • #5
          Salut BlackWolf

          Danke Deiner Hilfe.
          Jetzt wird mir das langsam logischer
          Habe nun per if abgefragt und dann eben + oder - ausgegeben.

          Und ja stimmt, das Prinzip beläuft sich ja auf die "Betragsfunktion"

          Vielen Dank!

          Gruss
          Prinzli

          Kommentar

          Lädt...
          X