Avatar billede river_rage Nybegynder
02. april 2006 - 22:30 Der er 5 kommentarer og
1 løsning

Udregning med variabler der ikke nødvendigvis er defineret

Jeg skal lave en udregning (i et for loop) af nogle variabler, som kun er blevet sendt videre til siden, hvis brugeren har sat flueben i de pågældende checkbokse. PHP laver fejl, når den opdager, at nogle af dem ikke er blevet defineret, så hvordan skal jeg skrive koden, så udregningen kan finde sted selvom der mangler nogle variabler

Min kode ser således ud indtil videre. Jeg går ud fra, at der skal sættes noget isset ind, men kan ikke finde ud af den rette syntaks

$_SESSION["finaltotal$counter"] = $_SESSION['price'] + $_POST["afbestillingsforsikring$counter"] + $_POST["rejseforsikring$counter"] + $_POST["andet$counter"];

mvh
r_r
Avatar billede melange Nybegynder
02. april 2006 - 22:35 #1
Hvad med bare at teste for om de er blevet sat?

if (!isset($foo)) $foo = 0;
Avatar billede olebole Juniormester
02. april 2006 - 23:17 #2
<ole>

Principielt bruger man _aldrig_ variabler, der ikke er defineret - og stammer de fra bruger-input, skal de desuden være checket og valideret 'i begge ender'. Ved du ikke, hvor variabler stammer fra - og bruger dem alligevel - kan dit website i værste fald være meget let at lægge ned

/mvh
</bole>
Avatar billede river_rage Nybegynder
02. april 2006 - 23:46 #3
Olebole, det lyder fornuftigt det du siger, men hvordan kan jeg så tjekke om brugeren har valgt at sætte flueben i checkboksen på foregående side?
Avatar billede drbean Nybegynder
03. april 2006 - 07:55 #4
Som melange siger. Brug isset funktionen.
Avatar billede river_rage Nybegynder
03. april 2006 - 12:03 #5
Det tror jeg også jeg vil, men er det muligt at jeg kan få vist et eksempel på hvordan det vil se ud, når det er sat ind i udregningen? Det er nemlig mit største problem. Har været ved at prøve på en del af udregningen, men det jeg har indtil videre virker ikke.

$_SESSION["finaltotal$counter"] = $_SESSION['price'] if(isset($_POST["afbestillingsforsikring$counter"])) + $_POST["afbestillingsforsikring$counter"];

// + $_POST["rejseforsikring$counter"] + $_POST["andet$counter"];
Avatar billede river_rage Nybegynder
04. april 2006 - 01:59 #6
Jeg fandt selv ud af det...

Sætter lige koden ind her, hvis nogen skulle støde ind i samme problem som jeg:

//Tjekker hvilke ekstraydelser brugeren har valgt og definerer variabler derudfra til brug ved udregning af totalpris
    if(isset($_POST["afbestillingsforsikring$counter"]))
        $afbestillingsforsikring = $_POST["afbestillingsforsikring$counter"];
    else   
        $afbestillingsforsikring = 0;

    if(isset($_POST["rejseforsikring$counter"]))
        $rejseforsikring = $_POST["rejseforsikring$counter"];
    else   
        $rejseforsikring = 0;

    if(isset($_POST["party$counter"]))
        $party = $_POST["party$counter"];
    else   
        $party = 0;

//udregning af totalpris pr. rejsende
    $_SESSION["finaltotal$counter"] = $_SESSION['price'] + $afbestillingsforsikring + $rejseforsikring + $party;
     
echo $_SESSION["finaltotal$counter"];
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester