I’m looking for some assistance with some code. I’m trying to put this to bed as it’s driving me nuts. The Psuedo code for this would be to
- Download the rates from the Yahoo API and declare my base rate to my foreign exchange.
- Store an array of currencies to choose from to compare against the base currency.
- I then GET the chosen currency and register it in a
SESSIONto be used on other pages. (I’m unsure if this is correct?) - I then calculate the Price of my product which is in
GBPto the selected foreign currency. - Output the converted price anywhere on the page.
My script takes GET values from the URL like so:
.com?c=EUR
My code is like so..
-
First I get the rates from the Yahoo API:
session_start(); $from = 'GBP'; $to = '$c'; $url = 'http://finance.yahoo.com/d/quotes.csv?e=.csv&f=sl1d1t1&s='. $from . $to .'=X'; $handle = @fopen($url, 'r'); if ($handle) { $result = fgets($handle, 4096); fclose($handle); } $allData = explode(',',$result); /* Get all the contents to an array */ $PoundValue = $allData[1]; -
Then I store an array of the currencies.
$currency_array = array ('USD','EUR','RMB','JPY','AUD','CHF') -
Then I get the chosen currency.
if(isset($_GET['c'])) { $c = $_GET['c']; if(array($currency_array)) { $_SESSION['currency_array'] = $c; } } -
I then calculate the product price.
$Total = $Price * $currency_array; $outprice = number_format($Total, 2, '.', ','); -
Then I output on the page
<?php echo .$outprice; ?>
So is all my coding logically in the right order?
Any help would be greatly appreciated.
Just as a side note. When I type in the URL ending in .php?c=EUR
I have put a dump in there and my output is
array
0 => string '"GBP$C=X"' (length=9)
1 => string '0.00' (length=4)
2 => string '"N/A"' (length=5)
3 => string '"N/A"
' (length=7)
Why is the $c value not being returned as the chosen currency?
Cheers,
Jonah
should probably just be
or
Single quoted strings do not interpolate variable values.