[PHP] Values zusammenrechnen

ruddel

Well-known member
21 April 2006
756
19
HallO!
Es geht hierdrum:

https://suendenrechner.de

PHP:
<input type="checkbox" value="67" /> Ich habe schonmal gespickt. <br/>
<input type="checkbox" value="21" /> Ich habe mir schonmal den Finger in den Po geschoben. <br/>


So sieht der Code da aus. Nun möchte ich die Values von den angeklickten Checkboxen zusammenrechnen und in einer Variable (DB) speichern, die ich dann ausgeben kann.


Jetzt die frage, kennt einer ne Möglichkeit wie das gehen könnte.?

mfg
ruddel
 
Zum einen solltest du deinen Checkboxen vielleicht mal Namen zuweisen,

name="checkbox1"
name="checkbox2"

z.B.

Danach kannst du dann mit

Code:
$value1 = $_POST['checkbox1']; // oder eben $_GET, je nachdem
$value2 = $_POST['checkbox2'];

$summe = $value1 + $value2;

deine Values addieren.
 
So die Namen sind verteilt:

PHP:
<input name="box1" type="checkbox" value="240" /> Ich bin schon einmal fremd gegangen. <br/>
<input name="box2" type="checkbox" value="190" /> Ich randaliere auf Baustellen und schmeiße Toilettenhäuser um. <br/>


So quasi, jetzt gehts ans zusammenrechnen.

PHP:
$value1 = $_POST['checkbox1']; // oder eben $_GET, je nachdem
$value2 = $_POST['checkbox2'];

$summe = $value1 + $value2;


Hierzu mal ne Frage. Wie is das mit value1 und 2 z.B. wie wird das definiert oder wird das automatisch gemacht das das value vom 1 dann value1 ist?
 
So die Namen sind verteilt:

PHP:
<input name="box1" type="checkbox" value="240" /> Ich bin schon einmal fremd gegangen. <br/>
<input name="box2" type="checkbox" value="190" /> Ich randaliere auf Baustellen und schmeiße Toilettenhäuser um. <br/>


So quasi, jetzt gehts ans zusammenrechnen.

PHP:
$value1 = $_POST['checkbox1']; // oder eben $_GET, je nachdem
$value2 = $_POST['checkbox2'];

$summe = $value1 + $value2;


Hierzu mal ne Frage. Wie is das mit value1 und 2 z.B. wie wird das definiert oder wird das automatisch gemacht das das value vom 1 dann value1 ist?

Du musst auch die Namen von den Boxen verwenden ;)

PHP:
$value1 = $_POST['box1'];
$value2 = $_POST['box2'];

$summe = $value1 + $value2;

Wenn du die Daten des Formulars mit Get übermitteltst:

PHP:
$value1 = $_GET['box1'];
$value2 = $_GET['box2'];

$summe = $value1 + $value2;
 
Code:
<?php

//PHP TEIL Definition

$value1 = $_POST['box1'];
$value2 = $_POST['box2'];
$value3 = $_POST['box3'];
$value4 = $_POST['box4'];
$value5 = $_POST['box5'];
$value6 = $_POST['box6'];
$value7 = $_POST['box7'];
$value8 = $_POST['box8'];
$value9 = $_POST['box9'];
$value10 = $_POST['box10'];
$value11 = $_POST['box11'];
$value12 = $_POST['box12'];
$value13 = $_POST['box13'];
$value14 = $_POST['box14'];
$value15 = $_POST['box15'];
$value16 = $_POST['box16'];
$value17 = $_POST['box17'];
$value18 = $_POST['box18'];
$value19 = $_POST['box19'];
$value20 = $_POST['box20'];
$value21 = $_POST['box21'];
$value22 = $_POST['box22'];
$value23 = $_POST['box23'];
$value24 = $_POST['box24'];
$value25 = $_POST['box25'];
$value26 = $_POST['box26'];
$value27 = $_POST['box27'];
$value28 = $_POST['box28'];
$value29 = $_POST['box29'];
$value30 = $_POST['box30'];

//Zusammenrechnen


$summe = $value1 + $value2 + $value3 + $value4 + $value5 + $value6 + $value7 + $value8 + $value9 + $value10 + $value11 + $value12 + $value13 + $value14 + $value15 + $value16 + $value17 + $value18 + $value19 + $value20 + $value21 + $value22 + $value23 + $value23 + $value24 + $value25 + $value26 + $value27 + $value28 + $value29 + $value30;  

echo "Der Wert deiner Sünden beträgt:$summe";
?>


So sieht das ganze jetzt aus.


https://suendenrechner.de //Livedemo


Das hier ist der Absenden Button

Code:
<input type="submit" value="Berechnen" style="background-color: #FFF; border: 1px solid #000;" />

Jetzt muss es doch eigentlich nur noch hinbekommen werden dasnn wenn alles angeklickt wurde und dann auf Berechnene geklickt wurde die $summe zusammengerechnet wird oder?
 
Wäre nicht vielleicht ein Array praktischer, als dieselbe Zeile Code mit einem anderen Index 30mal untereinander zu schreiben ? :roll:
 
Ich hätte es auch im Array gelassen wie theHacker schon sagt dann kann man nämlich ganz einfach:

PHP:
if(isset($_POST['sunden_check']))
{
   $summe = 0;
   foreach($_POST AS $k => $v)
   {
      if(empty($v) || !is_int($v) || $v == 0)
         continue;
      else
         $summe += $v;
   }
   echo "Sündenpunkte betragen ".$summe;
}
und als Button:
HTML:
<input type="submit" name="sunden_check" value="Berechnen" style="background-color: #FFF; border: 1px solid #000;" />
naja und natürlich das Form-HTML-Tag außenrum wie andere schon sagten.
 
@strolch00:
Viel zu kompliziert 8O
HTML:
<input name="box[0]" type="checkbox" value="240" /> Ich bin schon einmal fremd gegangen. <br/> 
<input name="box[1]" type="checkbox" value="190" /> Ich randaliere auf Baustellen und schmeiße Toilettenhäuser um. <br/>
<!-- .... -->
PHP:
$sum=0;
foreach($_POST['box'] as $value)
  $sum+=$value;

echo $value;
 
Ja krass ^^ von keine Ahnung wieviele zeilen auf eine reduziert.

Habt beide Recht aber es war ja auch schon spät^^.
 
und natürlich solltest Du Deine <form>...</form> - Tags auch um die Checkboxen herum machen, damit HTML weiß, dass die zu dem Submit-Button gehören. :)