Gå til innhold

Får ikke til summering med php


Anbefalte innlegg

Prøver å summere sammen resultetet fra to funktioner men får det ikke til, noen som kan se over koden min og se hva jeg gjør feil ? :hmm:

 

Php koden som liksom skal fungere.

//Test1 priser

$Test1Pris = 100;

$Test2Pris = 200;

 

//Ekstra priser

$EkstraPris1 = 500;

$EkstraPris2 = 600;

 

//Legger sammen Test Priser og Ekstra Priser

$SumTest = ifTest_pris($TestSelect);

$SumEkstra = ifEkstra_pris($EkstraSelect);

 

$SUM = $SumTest + $SumEkstra ;

 

 

//Funksjon for Test1 pris

function ifTest_pris($TestSelect) {

global $Test1Pris,$Test2Pris;

if ($TestSelect == "Test1") {

echo "$Test1Pris";

}

else if ($TestSelect == "Test2") {

echo "$Test2Pris";

}

}

 

//Funksjon for Ekstra pris

function ifEkstra_pris($EkstraSelect) {

global $EkstraPris1,$EkstraPris2;

if ($EkstraSelect == "Ekstra1") {

echo "$EkstraPris1";

}

else if ($EkstraSelect == "Ekstra2") {

echo "$EkstraPris2";

}

}

 

Her er formen

<form name="form1" method="post" action="testres.php">

  <select name="TestSelect">

    <option value="Test1">Test 1</option>

    <option value="Test2">Test 2</option>

  </select>

  <select name="EkstraSelect">

    <option value="Ekstra1">Ekstra 1</option>

    <option value="Ekstra2">Ekstra 2</option>

  </select>

  <br>

  <br>

  <input type="submit" name="Submit" value="Submit">

</form>

 

Og her skal resultatene komme.

<body>

<p>Resultat Ekstra Pris: <?php echo ifEkstra_pris($EkstraSelect); ?>

</p>

<p>Resultat Test Pris: <?php echo ifTest_pris($TestSelect); ?> </p>

<p>Sum: <?php echo $SUM ; ?> </p>

</body>

 

Dette er resultatet jeg får i IE.

100500    <<<<< HVORFOR SKRIVES DENNE HER ???

Resultat Ekstra Pris: 500

 

Resultat Test Pris: 100

 

Sum: 0

Endret av bazzo
Lenke til kommentar
Videoannonse
Annonse

Bruk return til å returnere verdien i funksjonen. Ved å bare skrive ut verdien med echo, vil ikke resultatet bli returnert. DVS at $sumTest og $sumEkstra ikke vil få noen verdi:

function ifTest_pris($TestSelect) {
global $Test1Pris,$Test2Pris;
if ($TestSelect == "Test1") {
return $Test1Pris;
}
else if ($TestSelect == "Test2") {
return $Test2Pris;
}
}

Og det samme på ifEkstraPris

 

Det er forresten derfor du får utskriften 100500 først, fordi når du kaller funksjonen, skriver den alltid ut resultatet:

$SumTest = ifTest_pris($TestSelect); // SKRIVER UT 100

$SumEkstra = ifEkstra_pris($EkstraSelect); // SKRIVER UT 500

 

EDIT: La til hvorfor utskriften 100500 kommer.

/Km

Endret av kakkle
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...