Avatar billede Slettet bruger
17. januar 2006 - 16:05 Der er 83 kommentarer og
1 løsning

Udregning ud fra en form hvor % indgår

Jeg vil gerne vide om nogen kunne fortælle mig hvordan man laver en udregner som denne eller en ligende?: http://www.rake4you.biz/index.php?main=offers&sub=calc&limit=15&hands=400&rakepct=25&submit=Calculate%21
Hvor sker selve udregningen henne i koden? Jeg kan kun se, at der er defineret en masse tal i "option" tag'en. Dernæst sender den via form action=, men hvorhen? Eller er det forkert?
Avatar billede nielle Nybegynder
17. januar 2006 - 17:56 #1
Udregningen sker på serveren. Når du trykker på Calculate sendes talene til scriptet index.php hvor udregningen så sker og resultatet sendes tilbage. Det er altså i PHP-kode at det foregår.

Formlerne som gemmer sig bag calculatoren ser sådan her ud:

"Rakeback per day" = "Hands per day" x "Your Percentage" x 0,00062
"Rakeback per week" = "Rakeback per day" * 7
"Rakeback per month" = "Rakeback per day" x 31
"Rakeback per year" = "Rakeback per day" x 365

for værdien Limit = "0.25 / 0.50 NL". Jeg har endnu ikke helt gennemskuet hvordan tallene afhænger af en varierende Limit.
Avatar billede nielle Nybegynder
17. januar 2006 - 18:28 #2
Den "hemmelige konstant" som indgår i beregningerne ser sådan her ud:

0.5/1 Limit => 0,0052
1/2 Limit => 0,0079
1/2 Limit 6-Max => 0,0092
2/4 Limit => 0,0110
2/4 Limit 6-Max => 0,0130
3/6 Limit => 0,0155
5/10 Limit => 0,0252
5/10 Limit 6-Max => 0,0258
10/20 Limit => 0,0268
10/20 Limit 6-Max => 0,0295
15/30 Limit => 0,0284
15/30 Limit 6-Max => 0,0337
30/60 Limit => 0,0300
50/100 Limit => 0,0300

0.25/0.50 NL => 0,0062
0.25/0.50 NL 6-Max => 0,0077
0.50/1 NL => 0,0083
0.50/1 NL 6-Max => 0,0092
1/2 NL => 0,0135
1/2 NL 6-Max => 0,0157
2/4 NL => 0,0168
2/4 NL 6-Max => 0,0200
3/6 NL => 0,0220
3/6 NL 6-Max => 0,0230
5/10 NL => 0,0245
5/10 NL 6-Max => 0,0272
10/20 NL => 0,0296

Umiddelbart kan jeg ikke se noget mønster i værdierne - de går op og nogen gange også ned.
Avatar billede nielle Nybegynder
20. januar 2006 - 19:13 #3
Hvad med noget respons?
Avatar billede Slettet bruger
20. januar 2006 - 20:50 #4
Sorry! Det er klart... Har ikke lige haft tid. Tak for svarene og indsatsen. Det ser fornuftigt ud. Jeg prøver at kigge nærmere på det om en uges tid.
Avatar billede nielle Nybegynder
20. januar 2006 - 20:53 #5
Oki :^)
Avatar billede Slettet bruger
31. januar 2006 - 16:57 #6
"Rakeback per day" = "Hands per day" x "Your Percentage" x 0,00062
"Rakeback per week" = "Rakeback per day" * 7
"Rakeback per month" = "Rakeback per day" x 31
"Rakeback per year" = "Rakeback per day" x 365

Skal disse ind i et php dokument for sig selv og deraf refereres til via "action post"
HAr lidt svært ved at finde ud af hvordan det hænger sammen. Jeg ved at alle mulighederne skal ind i en option tag.
Avatar billede nielle Nybegynder
31. januar 2006 - 17:27 #7
Korrekt forstået. :^)

Hvis du vælger den løsning som ligger tættest på af den måde rake4you har brugt, så ligger selve udregningsdelen i et PHP-script. Når man submitter formen, sendes alle valgene til PHP-scriptet, som udregner, og derefter sender resultatet tilbage til brugeren.

Har du adgang til PHP? Og har du noget erfaring i PHP-programmering?
Avatar billede Slettet bruger
31. januar 2006 - 20:50 #8
Jeg har arbejdet lidt med det, men hvor der fx står "your percentage" hvordan finder den ud af hvad man har valgt?
Avatar billede nielle Nybegynder
31. januar 2006 - 20:56 #9
Det står i HTML-koden:

<td><b>Your percentage:</b></td>
<td><input type="text" name="rakepct" size="4" maxlength="2" value="25" class="selectbox"></td>

Informationen:

... input type="text" ...

angiver at det er et instastnibgsfelt. Informationen:

... name="rakepct" ...

angiver at det har navnet.

Når at du submitter formen, så kan værdien efterfølgende hentes i PHP-scriptet ved at aflæse værdien i:

$_POST["rakepct"]
Avatar billede Slettet bruger
31. januar 2006 - 20:58 #10
Ok, så vidt så godt... tror jeg har en idé om det eller henvender jeg mig lige igen.
Avatar billede nielle Nybegynder
31. januar 2006 - 21:28 #11
Fino :^)
Avatar billede Slettet bruger
31. januar 2006 - 21:55 #12
Jeg har i mit test dokument refereret til test2 som indeholder udregningsdelen.
Det har jeg gjort på denne måde <form action="test2.php">
Jeg har kopieret koden fra rake4you for at teste om det virker, men den kan ikke forbinde dokumenterne.
test2.php dokumentet ser således ud:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
  "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='da'>
 
<head>sjdjs</head>

<body>
<?php
           
"Rakeback per day" = "Hands per day" * "Your Percentage" * 0,00062
"Rakeback per week" = "Rakeback per day" * 7
"Rakeback per month" = "Rakeback per day" * 31
"Rakeback per year" = "Rakeback per day" * 365

?>

</body>
</html>

Jeg sidder fast og ved ikke lige hvordan jeg skal komme videre?
Avatar billede nielle Nybegynder
31. januar 2006 - 22:09 #13
Du kan ikke bare skrive "Rakeback per day" for det er slet ikke lovlige PHP-variabelnavne. Jeg skrev dem bare på den form fordi at det skulle være lættere at læse - og forda at det på det tidspunkt ikke var helt klart at vi tog vejen over PHP ;^)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
  "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='da'>
 
<head>sjdjs</head>

<body>
<?php

$HandsPerDay = 1;  // Den rigtige værdi skal hentes fra formen.
$YourPercentage = $_POST["rakepct"];
$SecretFactor = 0.00062;  // Den rigtigte værdi skal hentes fra formen.
           
$RakebackPerDay = $HandsPerDay * $YourPercentage * $SecretFactor;
$RakebackPerWeek = $RakebackPerDay * 7;
$RakebackPerMonth = $RakebackPerDay * 31;
$RakebackPerYear = $RakebackPerDay * 365;

echo "Rakeback per day: " . $RakebackPerDay . " $<br>";
echo "Rakeback per week: " . $RakebackPerWeek . " $<br>";
echo "Rakeback per month: " . $RakebackPerMonth . " $<br>";
echo "Rakeback per year: " . $RakebackPerYear . " $"
?>

</body>
</html>
Avatar billede Slettet bruger
31. januar 2006 - 22:21 #14
Ahh ok, er ikke så spids til det:-) Sorry! Kan det lade sig gøre uden om php da?
Det hjalp en del, at få din kode ind men den regner ikke ud. DEt er nok fordi at variable-navnene ikke stemmer over ens?
Avatar billede nielle Nybegynder
31. januar 2006 - 22:32 #15
Den skulle da gerne skrive noget ud?

Jo, det kan godt gøres uden PHP, men så skal det bare være med et andet programmeringssporg i stedet - f.eks. ASP eller i JavaScript.
Avatar billede nielle Nybegynder
31. januar 2006 - 22:33 #16
Der manglede forresten et ;-teg i slutningen af denne linje:

echo "Rakeback per year: " . $RakebackPerYear . " $";
Avatar billede Slettet bruger
31. januar 2006 - 22:39 #17
Den skriver dette:
Rakeback per day: 0 $
Rakeback per week: 0 $
Rakeback per month: 0 $
Rakeback per year: 0 $ ?>
Avatar billede nielle Nybegynder
31. januar 2006 - 22:41 #18
Prøv at ændre:

$SecretFactor = 0.00062;

- til:

$SecretFactor = 0,00062;
Avatar billede Slettet bruger
31. januar 2006 - 22:47 #19
Hmm så kommer denne besked: Parse error: parse error in c:\apache\htdocs\test2.php on line 13
Avatar billede nielle Nybegynder
31. januar 2006 - 22:49 #20
Ok, så skal det være den første

$SecretFactor = 0.00062;

Hvad skrev du egentligt i indtastningsfeltet i det tilfælde hvor at den skriver 0 over hele linjen?
Avatar billede Slettet bruger
31. januar 2006 - 22:56 #21
100 ved hands per day
25 ved your procentage
og en tilfældig limit
Avatar billede nielle Nybegynder
31. januar 2006 - 22:58 #22
Hmmm? Hvis jeg afprøver med denne lille kodebolk, så fpr jeg ellers ikke kun 0'er:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
  "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='da'>
 
<head>sjdjs</head>

<body>

<form method="post">
Your percentage: <input type="text" name="rakepct" size="4" maxlength="2" value="25" class="selectbox">
<input type="submit">
</form>

<?php
if (isset($_POST["rakepct"]))
{
    $HandsPerDay = 1;  // Den rigtige værdi skal hentes fra formen.
    $YourPercentage = $_POST["rakepct"];
    $SecretFactor = 0.00062;  // Den rigtigte værdi skal hentes fra formen.
           
    $RakebackPerDay = $HandsPerDay * $YourPercentage * $SecretFactor;
    $RakebackPerWeek = $RakebackPerDay * 7;
    $RakebackPerMonth = $RakebackPerDay * 31;
    $RakebackPerYear = $RakebackPerDay * 365;

    echo "Rakeback per day: " . $RakebackPerDay . " $<br>";
    echo "Rakeback per week: " . $RakebackPerWeek . " $<br>";
    echo "Rakeback per month: " . $RakebackPerMonth . " $<br>";
    echo "Rakeback per year: " . $RakebackPerYear . " $";
}
?>

</body>
</html>
Avatar billede nielle Nybegynder
31. januar 2006 - 22:59 #23
Jeg bliver nødt til at smutte for i dag ... skal vi fortsætte i morgen eller hvad?
Avatar billede Slettet bruger
31. januar 2006 - 22:59 #24
Når du skriver; // Den rigtige værdi skal hentes fra formen. i koden betyder det at jeg skal gøre noget?
Der står fx $HandsPerDay = 1;
Hvad så hvis brugeren vil skrive flere hænder pr. dag, fx 100 som jeg gjorde. Har det nogen betydning?
Avatar billede Slettet bruger
31. januar 2006 - 23:02 #25
Det er helt i orden... tak for tiden i dag.
I morgen er fint, men det bliver nødt til at være i tidsrummet 16:00 - 19.30 eller må vi finde en anden dag, hvor du har tid?
Avatar billede nielle Nybegynder
31. januar 2006 - 23:04 #26
Indtastningsfeltet for "Hands per day" ser sådan her ud i deres HTML:

<td><b>Hands per day:</b></td>
<td colspan="2"><input type="text" name="hands" size="4" value="400" class="selectbox"></td>

- og felytet hedder altså "hands".

Over i PHP-koden bliver dette til $_POST["hands"], og derfor skal linjen:

$HandsPerDay = 1;  // Den rigtige værdi skal hentes fra formen.

- rettes til

$HandsPerDay = $_POST["hands"];
Avatar billede nielle Nybegynder
31. januar 2006 - 23:04 #27
... i morgen så :^)
Avatar billede Slettet bruger
01. februar 2006 - 17:24 #28
ok jeg prøver det.
Avatar billede Slettet bruger
01. februar 2006 - 17:32 #29
Hmm.. det virker stadig ikke. På nuværende tidspunkt ser php koden således og den ligger imellem body-tagene.

<?php

$HandsPerDay = $_POST["hands"];
$YourPercentage = $_POST["rakepct"];
$SecretFactor = 0.00062;  // Den rigtigte værdi skal hentes fra formen.
         
$RakebackPerDay = $HandsPerDay * $YourPercentage * $SecretFactor;
$RakebackPerWeek = $RakebackPerDay * 7;
$RakebackPerMonth = $RakebackPerDay * 31;
$RakebackPerYear = $RakebackPerDay * 365;

echo "Rakeback per day: " . $RakebackPerDay . " $<br>";
echo "Rakeback per week: " . $RakebackPerWeek . " $<br>";
echo "Rakeback per month: " . $RakebackPerMonth . " $<br>";
echo "Rakeback per year: " . $RakebackPerYear . " $";
?>
Avatar billede nielle Nybegynder
01. februar 2006 - 17:34 #30
1) Giver det stadig 0'er over hele linjen?

2) Hvordan ser HTML-koden ud for selve formen?
Avatar billede Slettet bruger
01. februar 2006 - 17:45 #31
ja,det gør den.
Den ser således ud:
<form action="test2.php">
<input type="hidden" name="main" value="offers">
<input type="hidden" name="sub" value="calc">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="150"><b>Limit:</b></td>

<td colspan="2">
<select name="limit" class="selectbox">
<option value="15">0.25/0.50 NL</option>
<option value=""></option>
<option value="1">0.5/1 Limit</option>
<option value="2">1/2 Limit</option>
<option value="3">1/2 Limit 6-Max</option>
<option value="4">2/4 Limit</option>
<option value="5">2/4 Limit 6-Max</option>
<option value="6">3/6 Limit</option>
<option value="7">5/10 Limit</option>

<option value="8">5/10 Limit 6-Max</option>
<option value="9">10/20 Limit</option>
<option value="10">10/20 Limit 6-Max</option>
<option value="11">15/30 Limit</option>
<option value="12">15/30 limit 6-Max</option>
<option value="13">30/60 Limit</option>
<option value="14">50/100 Limit</option>
<option value="">---------</option>
<option value="15">0.25/0.50 NL</option>

<option value="16">0.25/0.50 NL 6-Max</option>
<option value="17">0.50/1 NL</option>
<option value="18">0.50/1 NL 6-Max</option>
<option value="19">1/2 NL</option>
<option value="20">1/2 NL 6-Max</option>
<option value="21">2/4 NL</option>
<option value="22">2/4 NL 6-Max</option>
<option value="23">3/6 NL</option>
<option value="24">3/6NL 6-Max</option>

<option value="25">5/10 NL</option>
<option value="26">5/10 NL 6-Max</option>
<option value="27">10/20 NL</option>
</select>
</td>
</tr>
<tr>
<td><b>Hands per day:</b></td>
<td colspan="2"><input type="text" name="hands" size="4" value="400" class="selectbox"></td>
</tr>
<tr>
<td><b>Your percentage:</b></td>

<td><input type="text" name="rakepct" size="4" maxlength="2" value="25" class="selectbox"></td>
<td align="right">
<input type="submit" name="submit" value="Calculate!" class="selectbox"></td>
</tr>
<tr>

</tr>
</table>
</form>

Det er nok her den er gal???
Avatar billede nielle Nybegynder
01. februar 2006 - 17:53 #32
Sæt i hvert fald lige em method="post" på din for-tag.

I øvrigt kan du fjerne de to hidden-felter i toppen af formen.
Avatar billede Slettet bruger
01. februar 2006 - 17:59 #33
SÅDAN!!! så kom der tal du af det...
Den virker næsten. den reagere kun på hands værdien. Tallene er de samme lige meget hvilken limit man tager. Kan du gennemskue det?
Avatar billede nielle Nybegynder
01. februar 2006 - 18:03 #34
Nemt nok at forklare - koden tager endnu ikke hensyn til værdien af limit. :^)

Men den nuværende kode skulle da gerne helst også variere med det du indtaster i "Your percentage"?
Avatar billede Slettet bruger
01. februar 2006 - 18:04 #35
Det gør den også
Avatar billede Slettet bruger
01. februar 2006 - 18:04 #36
min fejl:-) var lidt for hurtigt
Avatar billede nielle Nybegynder
01. februar 2006 - 18:10 #37
Ok, så lad os få tilføjet Limit - det er denne linje som skal tilrettes:

$SecretFactor = 0.00062;  // Den rigtigte værdi skal hentes fra formen.
Avatar billede nielle Nybegynder
01. februar 2006 - 18:12 #38
Lad os dog først starte med at tilrette select'en sådan at den ser sådan her ud:

<select name="limit" class="selectbox">
<option value="1">0.5/1 Limit</option>
<option value="2">1/2 Limit</option>
<option value="3">1/2 Limit 6-Max</option>
<option value="4">2/4 Limit</option>
<option value="5">2/4 Limit 6-Max</option>
<option value="6">3/6 Limit</option>
<option value="7">5/10 Limit</option>
<option value="8">5/10 Limit 6-Max</option>
<option value="9">10/20 Limit</option>
<option value="10">10/20 Limit 6-Max</option>
<option value="11">15/30 Limit</option>
<option value="12">15/30 limit 6-Max</option>
<option value="13">30/60 Limit</option>
<option value="14">50/100 Limit</option>
<option value="15">0.25/0.50 NL</option>
<option value="16">0.25/0.50 NL 6-Max</option>
<option value="17">0.50/1 NL</option>
<option value="18">0.50/1 NL 6-Max</option>
<option value="19">1/2 NL</option>
<option value="20">1/2 NL 6-Max</option>
<option value="21">2/4 NL</option>
<option value="22">2/4 NL 6-Max</option>
<option value="23">3/6 NL</option>
<option value="24">3/6NL 6-Max</option>
<option value="25">5/10 NL</option>
<option value="26">5/10 NL 6-Max</option>
<option value="27">10/20 NL</option>
</select>
Avatar billede Slettet bruger
01. februar 2006 - 18:16 #39
jep:-)
Avatar billede nielle Nybegynder
01. februar 2006 - 18:21 #40
Ok. Denne valget værdi kan aflæses som $_POST["limit"] over i PHP-koden. Værdien er 1, 2, 3, 4, osv. Dette kan vi ikke bruge direkte - vi skal jo have værdierne 0,0052 0,0079 0,0092 0,0110 osv. (se 17/01-2006 18:28:46).
Avatar billede nielle Nybegynder
01. februar 2006 - 18:26 #41
Det kan til gengæld gøres med en switch:

$SecretFactor = 0;
switch ($_POST["limit"])
{
    case 1 : $SecretFactor = 0,0052; break;
    case 2 : $SecretFactor = 0,0079; break;
    case 3 : $SecretFactor = 0,0092; break;
    case 4 : $SecretFactor = 0,0110; break;
    // ... og resten af tilfældene efter samme mønster.
}
Avatar billede Slettet bruger
01. februar 2006 - 18:27 #42
ok vil det sige at i stedet for 1, 2, 3 osv skal jeg indsætte 0,0052
0,0079 , 0,0092 osv?
Avatar billede Slettet bruger
01. februar 2006 - 18:28 #43
ok:-)
Avatar billede nielle Nybegynder
01. februar 2006 - 18:30 #44
Det andet er også en mulighed - men jeg er ikke helt sikker på om det virker eller ej. :^)
Avatar billede Slettet bruger
01. februar 2006 - 18:38 #45
Jeg har skrevet switch delen nu. Skal jeg gøre andet?
Avatar billede nielle Nybegynder
01. februar 2006 - 18:39 #46
Afprøv det og lad os se hvad der sker :^)
Avatar billede Slettet bruger
01. februar 2006 - 18:40 #47
Parse error: parse error in c:\apache\htdocs\test2.php on line 17
:-(
Avatar billede nielle Nybegynder
01. februar 2006 - 18:41 #48
Hvad står der på din linje 17?
Avatar billede Slettet bruger
01. februar 2006 - 18:43 #49
<?php

$HandsPerDay = $_POST["hands"];
$YourPercentage = $_POST["rakepct"];
$SecretFactor = 0; switch ($_POST["limit"])
{
    case 1 : $SecretFactor = 0,0052; break;
    case 2 : $SecretFactor = 0,0079; break;
    case 3 : $SecretFactor = 0,0092; break;
    case 4 : $SecretFactor = 0,0110; break;
    case 5 : $SecretFactor = 0,0130; break;
    case 6 : $SecretFactor = 0,0155; break;
    case 7 : $SecretFactor = 0,0252; break;
    case 8 : $SecretFactor = 0,0258; break;
    case 9 : $SecretFactor = 0,0268; break;
    case 10 : $SecretFactor = 0,0295; break;
    case 11 : $SecretFactor = 0,0284; break;
    case 12 : $SecretFactor = 0,0337; break;
    case 13 : $SecretFactor = 0,0300; break;
    case 14 : $SecretFactor = 0,0300; break;
   
    case 15 : $SecretFactor = 0,0062; break;
    case 16 : $SecretFactor = 0,0077; break;
    case 17 : $SecretFactor = 0,0083; break;
    case 18 : $SecretFactor = 0,0092; break;
    case 19 : $SecretFactor = 0,0135; break;
    case 20 : $SecretFactor = 0,0157; break;
    case 21 : $SecretFactor = 0,0168; break;
    case 22 : $SecretFactor = 0,0200; break;
    case 23 : $SecretFactor = 0,0220; break;
    case 24 : $SecretFactor = 0,0230; break;
    case 25 : $SecretFactor = 0,0245; break;
    case 26 : $SecretFactor = 0,0272; break;
    case 27 : $SecretFactor = 0,0296; break;
   
   
  }
         
$RakebackPerDay = $HandsPerDay * $YourPercentage * $SecretFactor;
$RakebackPerWeek = $RakebackPerDay * 7;
$RakebackPerMonth = $RakebackPerDay * 31;
$RakebackPerYear = $RakebackPerDay * 365;

echo "Rakeback per day: " . $RakebackPerDay . " $<br>";
echo "Rakeback per week: " . $RakebackPerWeek . " $<br>";
echo "Rakeback per month: " . $RakebackPerMonth . " $<br>";
echo "Rakeback per year: " . $RakebackPerYear . " $";
?>
Avatar billede nielle Nybegynder
01. februar 2006 - 18:48 #50
Nu spurgte jeg godt nok specifikt til hvad der stor på linje 17.

Men prøv at rette din kode lidt til sådan at den står pænt og struktureret:

<?php

$HandsPerDay = $_POST["hands"];

$YourPercentage = $_POST["rakepct"];

$SecretFactor = 0;
switch ($_POST["limit"])
{
    case 1 : $SecretFactor = 0,0052; break;
    case 2 : $SecretFactor = 0,0079; break;
    case 3 : $SecretFactor = 0,0092; break;
    case 4 : $SecretFactor = 0,0110; break;
    case 5 : $SecretFactor = 0,0130; break;
    case 6 : $SecretFactor = 0,0155; break;
    case 7 : $SecretFactor = 0,0252; break;
    case 8 : $SecretFactor = 0,0258; break;
    case 9 : $SecretFactor = 0,0268; break;
    case 10 : $SecretFactor = 0,0295; break;
    case 11 : $SecretFactor = 0,0284; break;
    case 12 : $SecretFactor = 0,0337; break;
    case 13 : $SecretFactor = 0,0300; break;
    case 14 : $SecretFactor = 0,0300; break;
    case 15 : $SecretFactor = 0,0062; break;
    case 16 : $SecretFactor = 0,0077; break;
    case 17 : $SecretFactor = 0,0083; break;
    case 18 : $SecretFactor = 0,0092; break;
    case 19 : $SecretFactor = 0,0135; break;
    case 20 : $SecretFactor = 0,0157; break;
    case 21 : $SecretFactor = 0,0168; break;
    case 22 : $SecretFactor = 0,0200; break;
    case 23 : $SecretFactor = 0,0220; break;
    case 24 : $SecretFactor = 0,0230; break;
    case 25 : $SecretFactor = 0,0245; break;
    case 26 : $SecretFactor = 0,0272; break;
    case 27 : $SecretFactor = 0,0296; break;
}
         
$RakebackPerDay = $HandsPerDay * $YourPercentage * $SecretFactor;
$RakebackPerWeek = $RakebackPerDay * 7;
$RakebackPerMonth = $RakebackPerDay * 31;
$RakebackPerYear = $RakebackPerDay * 365;

echo "Rakeback per day: " . $RakebackPerDay . " $<br>";
echo "Rakeback per week: " . $RakebackPerWeek . " $<br>";
echo "Rakeback per month: " . $RakebackPerMonth . " $<br>";
echo "Rakeback per year: " . $RakebackPerYear . " $";
?>
Avatar billede Slettet bruger
01. februar 2006 - 18:56 #51
Kan det være en ikke afsluttende tag et sted?
Avatar billede nielle Nybegynder
01. februar 2006 - 18:58 #52
Skal det forstås sådan at den stadig fejler? Med hvilken fejlbesked? Og har du mere kode i din fil end det der er vist?
Avatar billede Slettet bruger
01. februar 2006 - 18:59 #53
Jep, det er også rigtigt. Grunden til jeg ikke gjorde var at jeg skriver det i notepad hvor der ingen linje angivelse. Jeg kunne tælle i stedet, men jeg ramte et hul og fandt det ikke pålideligt. Derfor sendte jeg det hele, så du havde en chance for at se det i en sammenhæng
Avatar billede Slettet bruger
01. februar 2006 - 19:03 #54
Ja, den virker desværre  stadig ikke. Den skriver det samme som før, men bare linje 18. Men det er fordi jeg har slette mellemrum osv.
Jeg har ikke mere kode som burde have betydning.
Det der er udover er;
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
  "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='da'>

<head><p>test</p></head>

<body>
Indhold som ovenfor

</body>
</html>
Avatar billede nielle Nybegynder
01. februar 2006 - 19:07 #55
Prøv lige at poste hele siden som den ser ud nu.
Avatar billede Slettet bruger
01. februar 2006 - 19:11 #56
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
  "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='da'>

<head>
    <p>test</p>
</head>

<body>
<?php

$HandsPerDay = $_POST["hands"];

$YourPercentage = $_POST["rakepct"];

$SecretFactor = 0;
switch ($_POST["limit"])
{
    case 1 : $SecretFactor = 0,0052; break;
    case 2 : $SecretFactor = 0,0079; break;
    case 3 : $SecretFactor = 0,0092; break;
    case 4 : $SecretFactor = 0,0110; break;
    case 5 : $SecretFactor = 0,0130; break;
    case 6 : $SecretFactor = 0,0155; break;
    case 7 : $SecretFactor = 0,0252; break;
    case 8 : $SecretFactor = 0,0258; break;
    case 9 : $SecretFactor = 0,0268; break;
    case 10 : $SecretFactor = 0,0295; break;
    case 11 : $SecretFactor = 0,0284; break;
    case 12 : $SecretFactor = 0,0337; break;
    case 13 : $SecretFactor = 0,0300; break;
    case 14 : $SecretFactor = 0,0300; break;
    case 15 : $SecretFactor = 0,0062; break;
    case 16 : $SecretFactor = 0,0077; break;
    case 17 : $SecretFactor = 0,0083; break;
    case 18 : $SecretFactor = 0,0092; break;
    case 19 : $SecretFactor = 0,0135; break;
    case 20 : $SecretFactor = 0,0157; break;
    case 21 : $SecretFactor = 0,0168; break;
    case 22 : $SecretFactor = 0,0200; break;
    case 23 : $SecretFactor = 0,0220; break;
    case 24 : $SecretFactor = 0,0230; break;
    case 25 : $SecretFactor = 0,0245; break;
    case 26 : $SecretFactor = 0,0272; break;
    case 27 : $SecretFactor = 0,0296; break;
}
       
$RakebackPerDay = $HandsPerDay * $YourPercentage * $SecretFactor;
$RakebackPerWeek = $RakebackPerDay * 7;
$RakebackPerMonth = $RakebackPerDay * 31;
$RakebackPerYear = $RakebackPerDay * 365;

echo "Rakeback per day: " . $RakebackPerDay . " $<br>";
echo "Rakeback per week: " . $RakebackPerWeek . " $<br>";
echo "Rakeback per month: " . $RakebackPerMonth . " $<br>";
echo "Rakeback per year: " . $RakebackPerYear . " $";
?>

</body>
</html>
Avatar billede nielle Nybegynder
01. februar 2006 - 19:15 #57
Sådan, der er jo unægteligt noget nemmere at tælle sig frem til den rigtige linje 18 når man har alle linerne fra starten af. ;^)

Det er switch()-linjen den brokker sig over. Umiddelbart kan jeg ikke se noget galt med den. Med mindre at du submittede formen *uden* at have markeret en af mulighederne fra Limit?
Avatar billede Slettet bruger
01. februar 2006 - 19:21 #58
Jeg har prøvet at submitte med flere forskellige limits, men den siger stadig det samme.
Avatar billede nielle Nybegynder
01. februar 2006 - 19:23 #59
Pøv med dette:

$SecretFactor = 0;
$limit = $_POST["limit"];
switch ($limit)
{

- i stedet.
Avatar billede Slettet bruger
01. februar 2006 - 19:28 #60
Desværre, melder fejl i line 19
Avatar billede nielle Nybegynder
01. februar 2006 - 19:35 #61
Hmm, måske skal {-parentesen være spå samme linge som switchen:

$SecretFactor = 0;
$limit = $_POST["limit"];
switch ($limit) {
    case 1 : $SecretFactor = 0,0052; break;
    case 2 : $SecretFactor = 0,0079; break;
Avatar billede nielle Nybegynder
01. februar 2006 - 19:35 #62
... på samme linje som switchen
Avatar billede Slettet bruger
01. februar 2006 - 19:39 #63
nu er det line 18:-)
Avatar billede nielle Nybegynder
01. februar 2006 - 19:44 #64
Selv om du bruger notepaf kan du vel alligevel tælle: Hvad står der på linje 18?
Avatar billede nielle Nybegynder
01. februar 2006 - 19:46 #65
Prøv evt. at sætte "-tegn rundt om case'erne:

case "1" : $SecretFactor = 0,0052; break;
case "2" : $SecretFactor = 0,0079; break;
case "3" : $SecretFactor = 0,0092; break;
Avatar billede Slettet bruger
01. februar 2006 - 19:54 #66
Har sat " udenom case'erne men uden resultat.
Når jeg tæller og rammer 18 er det
case "1" : $SecretFactor = 0,0052; break; den brokker sig over
Avatar billede nielle Nybegynder
01. februar 2006 - 20:10 #67
Doh! Alle decimal-kommaerne, skal jo ændres til decimal-punktummer:

case 1 : $SecretFactor = 0.0052; break;
case 2 : $SecretFactor = 0.0079; break;
Avatar billede Slettet bruger
01. februar 2006 - 20:19 #68
Jubii!!! Nu virker det..
Avatar billede Slettet bruger
01. februar 2006 - 20:20 #69
Jeg siger tusind tak for din store hjælp. Ret flot du kunne holde tålmodigheden med mig. Jeg kan kun takke. De bedste anbefalinger herfra.
Avatar billede nielle Nybegynder
01. februar 2006 - 20:22 #70
Takker for de pæne ord :^)

Er vi færdig, eller er der lige lidte mere?
Avatar billede Slettet bruger
01. februar 2006 - 20:26 #71
Jep jeg tror vi er færdige.. Nu har jeg basen for at det virker, så nu kan jeg style osv. Det ser ud til den regner rigtigt. Måske henvender jeg mig igen:-)
Avatar billede nielle Nybegynder
01. februar 2006 - 20:29 #72
Du er velkommen til at gøre det.

... i mellemtiden lægger jeg så et svar :^)
Avatar billede Slettet bruger
01. februar 2006 - 21:35 #73
Så er jeg her igen. Den viser ikke helt det samme alligevel. Når hans viser 1,3 viser min 13, så det tyder på jeg skal have en division lavet?
Avatar billede nielle Nybegynder
01. februar 2006 - 21:37 #74
Hvilke input-værdier er det der giver det?
Avatar billede Slettet bruger
01. februar 2006 - 21:39 #75
Har prøvet mig lidt frem... den virker hvis jeg gør sådan:
case 1 : $SecretFactor = 0.0052/10; break;
Er det lovligt?
Avatar billede nielle Nybegynder
01. februar 2006 - 21:41 #76
Ja, det er lovligt. Men så kan du jo lige så godt skrive:

case 1 : $SecretFactor = 0.00052; break;

- i stedet for.
Avatar billede Slettet bruger
01. februar 2006 - 21:43 #77
Sandt! Det gør jeg bare ved dem alle sammen. Det burde være det ik?
Avatar billede nielle Nybegynder
01. februar 2006 - 21:44 #78
Du må hellere tjekke efter ... jeg undre mig dig, for jeg synes ellers at jeg var omhyglig med at regne rigtigt.
Avatar billede Slettet bruger
01. februar 2006 - 21:51 #79
Nu har jeg tjekket mange forskellige muligheder igennem og de stemmer overens.
Tror det var det der skulle til.
Hvis nu jeg vil have en linie(------) imellem sidste limit tal og begyndelse af nl tallene, kan jeg bare indsætte den i option og deraf ikke gøre noget ved case strengene?
Avatar billede nielle Nybegynder
01. februar 2006 - 21:57 #80
Nej det kan du desværre ikke - folk kan jo finde på at vælge din ------ og så har du et problem med hvad resultatet skal være.

Men du kan måske bruge optgroup i stedet:

<select name="limit" class="selectbox">
<optgroup label="With limit">
<option value="1">0.5/1 Limit</option>
<option value="2">1/2 Limit</option>
<option value="3">1/2 Limit 6-Max</option>
<option value="4">2/4 Limit</option>
<option value="5">2/4 Limit 6-Max</option>
<option value="6">3/6 Limit</option>
<option value="7">5/10 Limit</option>
<option value="8">5/10 Limit 6-Max</option>
<option value="9">10/20 Limit</option>
<option value="10">10/20 Limit 6-Max</option>
<option value="11">15/30 Limit</option>
<option value="12">15/30 limit 6-Max</option>
<option value="13">30/60 Limit</option>
<option value="14">50/100 Limit</option>
</optgroup>
<optgroup label="No limit">
<option value="15">0.25/0.50 NL</option>
<option value="16">0.25/0.50 NL 6-Max</option>
<option value="17">0.50/1 NL</option>
<option value="18">0.50/1 NL 6-Max</option>
<option value="19">1/2 NL</option>
<option value="20">1/2 NL 6-Max</option>
<option value="21">2/4 NL</option>
<option value="22">2/4 NL 6-Max</option>
<option value="23">3/6 NL</option>
<option value="24">3/6NL 6-Max</option>
<option value="25">5/10 NL</option>
<option value="26">5/10 NL 6-Max</option>
<option value="27">10/20 NL</option>
</optgroup>
</select>
Avatar billede Slettet bruger
01. februar 2006 - 22:02 #81
ja, jeg må sige du er genial... Det virker perfekt!
Kan jeg stadig give points?
Avatar billede nielle Nybegynder
01. februar 2006 - 22:05 #82
Nej, og det ville i øvrigt også være imod Ekspertens regler (som siger maks 200 points for et spørgsmål). Men ellers tak for tilbudet. :^)
Avatar billede Slettet bruger
01. februar 2006 - 22:08 #83
Ok, fair nok... men synes bare at man godt kunne give lidt ekstra for at have spurgt så mange gange.
Nu skal du nok få fred fra mig. Tror den er her nu:-)
Takker!
Avatar billede nielle Nybegynder
01. februar 2006 - 22:09 #84
Det er nu fedt nokl i sig selv at få at vide at hjælpen blev værdsat. :^)
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
Kurser inden for grundlæggende programmering

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