Antworten auf deine Fragen:
Neues Thema erstellen

Erledigt - Math. Operatoren ignorieren

Kintrax

Noch nicht viel geschrieben

Guten Abend,
ich bin gerade dabei mich in PHP einzuarbeiten und mache gerade ein paar Übungsaufgaben.

Nun habe ich leider schon mein erstes Problem.
Ich sende Formulardaten an ein PHP-Skript das mir aus 2 Zahlen bestimmte berechnungen machen und ausgeben soll.

Das übermitteln klappt bereits.
HTML:
<form action="kaufen.php" method="post" />
<table>

<tr>
  <td>Erste Zahl:</td>
  <td><input type="text" name="zahl1" value="10"></td>
</tr>

<tr>
  <td>Zweite Zahl:</td>
  <td><input type="text" name="zahl2" value="5"></td>
</tr>
</table>
<input type="submit" name="submit" value="Rechnen">
Das berechnen auch.
PHP:
<?php

echo "10 + 5 = " . $_POST["zahl1"] + $_POST["zahl2"] . "<br>";
echo "10 - 5 = " . $_POST["zahl1"] - $_POST["zahl2"] . "<br>";
echo "10 * 5 = " . $_POST["zahl1"] * $_POST["zahl2"] . "<br>";
echo "10 / 5 = " . $_POST["zahl1"] / $_POST["zahl2"] . "<br>";

?>
Nur bei der optischen Ausgabe noch nicht.

Momentan sieht sie so aus:
15
5
10 * 5 = 50
10 / 5 = 2

Ich möchte aber gerne das bei den beiden oberen Ausgaben auch die Rechnenaufgabe angezeigt wird.

Also so:
10 + 5 = 15
10 - 5 = 5

Was muss ich tun um zuverhindern das "10 + 5 = " und "10 - 5 = " berechnet wird?

Edit: Und wieso habe ich bei * und / nicht das Problem?

Lg Kintrax
 
Zuletzt bearbeitet:

Robbyn-

PHP / Flex Programmierer

AW: Math. Operatoren ignorieren

Versuche es mal mit einfachen Anführungszeichen ' ' nicht mit doppelten " ". Dadurch wird die Berechnung meines wissens nach ignoriert.
 

Robbyn-

PHP / Flex Programmierer

AW: Math. Operatoren ignorieren

Dann mache mal vor den Operatoren ein Escape also wie folgt:

PHP:
echo "5 \+ 3"
 

hub

nicht ganz neu hier

AW: Math. Operatoren ignorieren

Moin moin,
grenze die Operation für Php mit Klammern einfach ein, dann wird es richtig interpretiert :

PHP:
echo "10 + 5 = " . ($_POST["zahl1"] + $_POST["zahl2"]) . "<br>";

Gruß Ulli
 

Duddle

Posting-Frequenz: 14µHz

AW: Math. Operatoren ignorieren

Ja, die Ursache hier ist die Reihenfolge der Operatoren. Addition und Subtraktion sind weniger priorisiert als die Konkatenation (Verbindung von zwei Zeichenfolgen/Strings). Deshalb wird hier
PHP:
echo "10 + 5 = " . $_POST["zahl1"] + $_POST["zahl2"] . "<br>";
zuerst die Konkatenation ausgeführt, also die erste Variable an den ersten String, die zweite an den zweiten
PHP:
echo "10 + 5 = 10" + "5<br>";
Danach will er dann zwei Strings addieren, aber das macht keinen richtigen Sinn, also kommt Unsinn raus.


Duddle
 

hub

nicht ganz neu hier

AW: Math. Operatoren ignorieren

@Duddle: das mit der Klammerung funktioniert tatsächlich und ist reproduzierbar. Offenbar ist Php so intelligent es dann doch zu unterscheiden.
 

Kintrax

Noch nicht viel geschrieben

AW: Math. Operatoren ignorieren

Super das hat geklappt. :)

Ich danke euch allen!
Danke auch an Duddle für die Erklärung des Problems.
Es ist immer gut zu Wissen wie ein Fehler zustande kommt.

Einen schönen Abend noch.
Lg Kintrax
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.565
Beiträge
1.538.067
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben