rekenen in PHP

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Bjorn Hoogeveen

Bjorn Hoogeveen

28/07/2011 13:40:41
Quote Anchor link
Hallo allemaal!

Ik heb een script voor een webshop. Hierbij wordt het totaalbedrag door gegeven aan ideal. Het ziet er als volgt uit:

Prijs Incl. BTW: €70,00
Verzendkosten: €6,75
Totaal: €76,75

Vervolg ik mijn actie, staat er echter bij het betaalscherm 76,00, in plaats van 76,75. In mijn code staat het volgende:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
$orderid = e107shop_order_id();
$subID = "0";
$paymentType = "ideal";
$total = $total * 100;
$validUntil = date("Y-m-d\TG:i:s\Z", strtotime("+1 week"));
$itemNumber1 = "1";
$itemDescription1 = "Artikel";
$itemQuantity1 = "1";
$itemPrice1 = $total;

### bereken alvast een deel van de shastring
$partOfSha = $partOfSha . $itemNumber1 . $itemDescription1 . $itemQuantity1 . $itemPrice1;

### de complete shastring
$shastring = $ideal_key . $ideal_id . $subID . $total . $orderid . $paymentType . $validUntil . $partOfSha;

### speciale HTML entiteiten verwijderen
$clean_shaString = html_entity_decode($shastring);

### tekens als "\t", "\n", "\r", " " (spaties) mogen niet voorkomen in de string
$not_allowed = array("\t", "\n", "\r", " ");
$clean_shaString = str_replace($not_allowed, "",$clean_shaString);

$shasign = sha1($clean_shaString);

$temp .= "
  
<form action='$ideal_url' method='post' id='form1' name='form1'>
<input type='hidden' name='merchantID' value='$ideal_id'>
<input type='hidden' name='subID' value='0'>
<input type='hidden' name='amount' value='$total'>
<input type='hidden' name='purchaseID' value='$orderid'>
<input type='hidden' name='language' value='$language'>
<input type='hidden' name='currency' value='$currency'>
<input type='hidden' name='description' value='$orderid'>
<input type='hidden' name='hash' value='$shasign'>
<input type='hidden' name='paymentType' value='ideal'>
<input type='hidden' name='validUntil' value='$validUntil'>
<input type='hidden' name='itemNumber1' value='$itemNumber1'>
<input type='hidden' name='itemDescription1' value='$itemDescription1'>
<input type='hidden' name='itemQuantity1' value='$itemQuantity1'>
<input type='hidden' name='itemPrice1' value='$total'>
<input type='hidden' name='urlCancel' value='".$shop_settings['path']."payment_canceled.php'>
<input type='hidden' name='urlSuccess' value='".$shop_settings['path']."payment_accepted.php'>
<input type='hidden' name='urlError' value='".$shop_settings['path']."payment_error.php'>";


if ($language == "nl") {
    $temp .= "<input type='submit' value='Ik wil nu betalen' id='submit2' name='submit2'></form>";
} else {
    $temp .= "<input type='submit' value='I want to pay now' id='submit2' name='submit2'></form>";
}

e107shop_process_order($orderid, "pending", $cart_id, "ideal", $region, $coupon);
return $temp;


kijk ik in de broncode, dan zie ik ook staan bij prijs: 7600. Als ik de regel "$total = $total * 100;" weg haal, dan staat er bij de prijs 76,75. Wat ik dus niet snap: 76,75 * 100 is toch 7675?
 
PHP hulp

PHP hulp

18/05/2024 01:15:22
 
- SanThe -

- SanThe -

28/07/2011 13:57:07
Quote Anchor link
Een getal bevat NOOIT een komma, maar een punt. De komma gebruik je alleen bij het presenteren.
 
Bjorn Hoogeveen

Bjorn Hoogeveen

28/07/2011 14:03:01
Quote Anchor link
Aaaah inderdaad! Probleem opgelost:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$total = str_replace(',', '.', $total);


Hartelijk dank SanThe!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.