# Mit Formulareingaben rechnen



## rene5 (13. August 2010)

Hi
Ich erstellee gerade ein php skript und habe folgende Probleme:

Also ich habe 6 Formulareungabefelder mit html erstellt und weiß leider jetzt aber nicht wie ich diese eingaben weiterverwerte, ich habe die Formularfelder mit $_post gemacht
. Ich weiß nicht wie ich das skript dazu bringe die eingegebenn Werte in die $_post tabelle einzutragen und dann demensprechend weiterzuverwerten. 

Ich möchte also in diese Felder Zahlen eingeben die dan dem jeweiligen array index zugeschrieben werden und die dann nach einer bestimmten Fomel ausrechne.
Bis jetzt habe ich mich an diesen tutorial: http://tut.php-quake.net/de/post.html orientiert

Ich hoffe ihr könnt mir helfen


----------



## ComFreek (13. August 2010)

Wenn du ein Formular in HTML hast, ungefähr so:

```
<form action="yourscript.php" method="post">
```
dann werden die Werte automatisch in das globale Array $_POST geschrieben.

Auf die einzelnen Werte von den Eingaben muss du mit den vergebenen Namen (in HTML) darauf zugreifen:

```
$_POST['the_given_name'];
```


----------



## rene5 (13. August 2010)

OH das wird in einer anderen datei gespeichert.
Das habe ich ganz übersehen, steht ja auch im quelltext, da sieht man vor lauter buchstaben den Quelltext nicht mehr  )
DANKE


----------



## ComFreek (13. August 2010)

Wie meinst du das? Welche andere Datei?


----------



## rene5 (13. August 2010)

die script.php
das ist ne andere datei ich habe gedacht man muss das mit in die datei reinpacken wo die Formulare sind, deshalb hat es nicht funtioniert
hab jetzt hab ich nochmal ne frage:

Kann man in Php mathematische klammern setzten in etwa so   echo ($_post ['beispiel']- $_post['beispiel'])*$_post['beispiel'];


----------



## ComFreek (13. August 2010)

rene5 hat gesagt.:
			
		

> die script.php
> das ist ne andere datei ich habe gedacht man muss das mit in die datei reinpacken wo die Formulare sind, deshalb hat es nicht funtioniert


Doch, doch das klappt, z.B: so:

```
<?php
 if (!isset($_POST['submit']))
 // Der Wert 'submit' wird nur geliefert, wenn das Formular abgeschickt wurde
 {
    // Verarbeite $_POST
 }
 else
 {
    ?>
    <form action="selber_datei_name.php" method="post">
      ...<input type="submit" name="submit" value="Senden">  <!-- Hier wird der Wert 'submit' übertragen -->
    ?>
  }
?>
```



			
				rene5 hat gesagt.:
			
		

> Kann man in Php mathematische klammern setzten in etwa so echo ($_post ['beispiel']- $_post['beispiel'])*$_post['beispiel'];


Alle Eingaben werden als Strings (Zeichenketten) interpretiert. Du müsstest folgenden Cast ausführen:

```
$BeispielWert = (int)$_POST['beispiel'];

echo (($BeispielWert-$BeispielWert)*$BeispielWert);
```

*PS:* Das POST-Array schreibt man groß: $_POST
Außerdem würde ich dir empfehlen die Grundlagen von PHP zu lernen.


----------



## rene5 (13. August 2010)

Danke
Ich dachte zu nem neuen thema mach ich nen neuen thread auf 
das post habe ich nur hier klein geschrieben im quelltext natülich groß


----------



## ComFreek (13. August 2010)

Ich meine, es war eine leicht zu beantwortete Frage, da kann man auch im gleichen Thread posten


----------



## rene5 (13. August 2010)

Es tut mir echt Leid aber ich bekomme es immer noch nicht auf die Reihe
Ich weiß nicht welche werte ich als beispielwerte eintragen muss oder soll******
soll ich da einer meiner Formularfelder eingeben (die die ausgegeben werden)?
und du hast recht ich muss mir die grundlagen noch mal angucken.
Nur ich bin jetzt schon so weit (für mich weit) ich möchte idese "projekt" nicht an ein paar klammern scheitern lassen


----------



## ComFreek (13. August 2010)

Du hast ein Formular, z.B. das:

```
<form action="testscript.php" method="post">
  Beispielszahl: <input type="text" size="3" maxlength="3" name="zahl">
</form>
<!-- Der Wert bei "name" wird später an das Skript übertragen, also hier "zahl" -->
```

Und dein PHP-Skript sieht so aus:

```
<?php
  $BeispielWert = (int)$_POST['zahl'];  // zahl habe ich ja bei "name" angegeben!

  echo ((($BeispielWert-$BeispielWert)*$BeispielWert)+1);
?>
```

(Die Rechnung habe ich geändert, denn sonst müsste 0 rauskommen und das wird nicht angezeigt)

Also wenn alles richtig läuft bekommst du 1 raus (==>Gleichung auflösen )


----------



## rene5 (14. August 2010)

Ich habe das nun so gamcht:


```
<?php
 $AS = (int)$_POST['AS'];    // Das As und Ns... habe ich zuvor dem entsprechenden FOrmularfeld zugewiesen
 $NS = (int)$_POST['NS'];
 $OST = (int)$_POST['OST'];
 $AN = (int)$_POST['AN'];

	echo (($AN/($NS*$OST-$AS*$OST))); 
	?>
```

Leider funtioniert es nicht


----------



## tombe (14. August 2010)

Versuche das hier mal:


```
<?php
if (isset($_POST["button"])) {
    echo $_POST["AN"]/($_POST["NS"]*$_POST["OST"]-$_POST["AS"]*$_POST["OST"]);
}
?>
<form name="form" action="test.php" method="post">
<input type="text" name="AN" value="" size="20" maxlength="50" />
<br />
<input type="text" name="NS" value="" size="20" maxlength="50" />
<br />
<input type="text" name="OST" value="" size="20" maxlength="50" />
<br />
<input type="submit" name="button" value="Senden" />
</form>
```

Beim ACTION-Attribut musst du dann halt noch den Namen deiner Seite eintragen. Ansonsten müsste es damit klappen.

Thomas


----------



## ComFreek (14. August 2010)

Ich hatte schon öfters das Problem, dass meine Rechnungen in den echo-Anweisungen nicht klappten, weil keine Klammern drum waren.
Deshalb mach doch noch eine Klammer bei tombe's Lösung.


----------



## rene5 (14. August 2010)

DANKE 
ENDLICH FUNTIONIERT ES.
Da ich ja jetzt weiß was falsch war, hoffe ich kann ich es bei den folgenden codes anders machen
Danke


----------

