bazzo Skrevet 28. juni 2004 Skrevet 28. juni 2004 (endret) 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 ? 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 28. juni 2004 av bazzo
kakkle Skrevet 28. juni 2004 Skrevet 28. juni 2004 (endret) 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 28. juni 2004 av kakkle
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå