Anzeige
Tutorialbeschreibung

PHP-Taschenrechner

PHP-Taschenrechner

In diesem Tutorial zeige ich euch, wie ihr ganz einfach einen Taschenrechner mit plus, minus, mal und geteilt erstellen könnt.


1. Formular

Damit der Benutzer sagen kann, welche Zahlen er berechnet haben will, brauchen wir ein Formular. Da dies ein PHP-Tutorial ist, werde ich darauf nur kurz eingehen.

Das einzig Interessante hier ist, dass $_SERVER['SCRIPT_NAME']; was im <form action=" "> Code zu finden ist. Das gibt ganz einfach den Dateinamen an, in dem ihr gerade schreibt.

<form method="post"action="<?php echo $_SERVER['SCRIPT_NAME']; ?>">
<input type="text" name="1zahl" />
<select name="rechenart">
<option value="Mal (*)">Mal (*)</option>
<option value="Geteilt (:)">Geteilt (:)</option>
<option value="Plus (+)">Plus (+)</option>
<option value="Minus (-)">Minus (-)</option></select>
<input type="text" name="2zahl" />
<input type="submit" value="Berechnen" />
</form>

Im Code oben ist es hauptsächlich für PHP wichtig, dass wir dem jeweiligen Element einen Namen geben. Die erste Textbox hat zum Beispiel den Namen 1zahl.

<input type="text" name="1zahl" />

Das ist wichtig, dass PHP weiß, mit welchen Zahlen es dann später überhaupt rechnen soll.

Vielleicht noch ein kleiner Hinweis: Wir verwenden oben die Methode Post; es ginge aber genauso mit der Methode Get. Ich benutze aber eigentlich von Haus aus die Methode Post.


2. PHP-CODE

Ich setze auf jeden Fall voraus, dass du die Grundlagen von PHP beherrschst; deswegen werde ich nicht im Speziellen sagen, was zum Beispiel "if" macht.

Als Allererstes fragen wir PHP, ob denn überhaupt oben schon eine Zahl eingetragen wurde, denn sonst käme eine Fehlermeldung; dazu tragen wir folgenden Code ein ...

if(isset($_POST['1zahl'])){

}

 
Zwischen die zwei geschweiften Klammern kommt nun der unten geschriebene Code ...


Das ist der Code, den PHP ausführen soll, wenn im Formular-Dropdown "Menü Mal (*)" ausgewählt wurde.
 
if ($_POST['rechenart'] == 'Mal (*)'){
$ergebnis = $_POST['1zahl'] * $_POST['2zahl'];
echo $ergebnis;
}
Ich werde jede Zeile des Codes erklären.

if ($_POST['rechenart'] == 'Mal (*)'){


Gibt an, dass, wenn im Dropdown-Menü der Text "Mal (*)" ausgewählt wurde, dieses Skript in geschweiften Klammern ausgeführt werden soll.


$ergebnis = $_POST['1zahl'] * $_POST['2zahl'];

Gibt an, dass die Variable "ergebnis" die 1zahl mit der 2zahl multiplizieren soll. Wie man hier im Code erkennen kann, taucht hier wieder das POST auf. Das ist auch sehr wichtig, dass man das je nach der Methode, die im Formular angegeben wurde, in Get oder Post ändert.

echo $ergebnis;


Gibt die Variable "ergebnis" aus. Also auf deutsch: Hier wird das Endergebnis ausgegeben.

Das Ganze kann man jetzt noch mit +/-/: machen; ich werde dazu aber keine einzelnen Beispiele zeigen, da sich lediglich 2 Sachen ändern; das heißt, aus * wird zum Beispiel +.

Ich werde hier anhand eines Beispiels zeigen, was man ändern müsste:



Vorher:
if ($_POST['rechenart'] == 'Mal (*)'){
$ergebnis = $_POST['1zahl'] * $_POST['2zahl'];
echo $ergebnis;
}

Nachher:
if ($_POST['rechenart'] == 'Plus (+)'){
$ergebnis = $_POST['1zahl'] + $_POST['2zahl'];
echo $ergebnis;
}

Das "Plus (+)" habe ich oben aus dem Formular herausgenommen (im Drop-Down-Menü; siehe oben). Und man muss sonst nur noch den Operator ändern, aus * wird also + oder eben ein anderes Rechenzeichen.

Operatoren (andere Rechenzeichen):

"/" = Geteilt
"*" = Mal
"+" = Plus
"-" = Minus

DVD-Werbung
Kommentare
Achtung: Du kannst den Inhalt erst nach dem Login kommentieren.
Portrait von CastorTroy85
Portrait von xxchucki
  • 31.01.2011 - 17:54

Wie mckbrother schon sagte Switch Abfragen nehmen und die jeweiligen Arten in Functions packen und mehrere Zahlen als 2 verwendbar machen.
Sonst ist es eig gut erklärt.
xxchucki

Portrait von anoel50
  • 31.01.2011 - 09:55

Hallo,

Super erklärt. Ich bin noch Anfänger, habe aber alles verstanden.
gruß anoel50

Portrait von mckbrother
  • 30.01.2011 - 11:07

Ein schön leicht erklärtes Tutorial.
Um doppelten Code zu vermeiden hätte ich aber eine Switch Abfrage genommen.
Gruß,
Mckbrother

x
×
×