-
Aiuto PHP
Salve a tutti, premetto che ho provato a scrivere il codice svariate volte ma senza avere risultati.
Questo è il codice:
Codice PHP:
<?php
$url = "https://www.bitstamp.net/api/ticker/";
$decode = json_decode(file_get_contents($url), true);
$price = $decode["high"];
echo $price;
?>
facendo eseguire questo codice su altervista (https://tradeinvestmentgroup.altervi...rice/price.php) si può notare come le righe di codice non producano alcun risultato, mentre, facendo eseguire il codice attraverso questo sito (http://phpfiddle.org/lite/code/jsah-t4dv) i risultati si vedono.
In più non riesco a capire il perchè, scrivendo uno script con javascript venga eseguito senza problemi ma non riesco a capire il perchè, salvando i dati captati in una variabile, questa non produca alcun risultato, ho provato anche con una query per verificare effettivamente se salvasse i dati nel database.
Codice html:
Codice HTML:
<!DOCTYPE html>
<html>
<!-- require jquery -->
<script
src="https://code.jquery.com/jquery-3.2.1.min.js"
integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4="
crossorigin="anonymous">
</script>
<body>
<div id="btc" style="color:black"></div>
<div id="btchigh" style="color:black"></div>
</body>
<script src="js/price.js"></script>
</html>
Codice javascript:
Codice:
$.ajax({
async: true,
type: "GET",
url: "https://www.bitstamp.net/api/ticker/",
success: function(result) {
last = result.last;
document.getElementById("btc").innerHTML = last;
high = result.high;
document.getElementById("btchigh").innerHTML=high;
}
});
Vi ringrazio in anticipo per ogni eventuale aiuto!
PS: Non sapevo dove postare questa discussione, così dato che ho necessita del codice php, ho scelto questa sezione.
-
Per poter eseguire quello script PHP hai bisogno di impostare correttamente le connessioni server to server.
Riguardo al JavaScript, spiegati meglio: lo script che hai mostrato non dovrebbe essere in grado di essere eseguito, è una richiesta Cross-Domain, quindi bloccata dal browser.
-
Come accennato da maznella devi sbloccare le connessioni esterne al tuo domino o non presenti in whitelist..
Per vecchi utenti altersito accertarsi che si usi MySQL 5.6 per il corretto funzionamento di connessione verso il protocollo https.
Quindi fai una normale richiesta https://www.bitstamp.net/api/ticker/ (o la url che usi nel codice vero) e ricevi i dati in json..
Nota* Se si usa almeno jquery 1.6 e non si inviano dati va impostato il contentType su false e crossDomain su true
http://api.jquery.com/jquery.ajax/
Altresi traddandosi di una risposta jsnon significa utilizzare codifica utf-8 prima di ricevere i dati sistemare http://php.net/manual/en/ini.core.ph...efault-charset o per altre casistiche (anche la connessione e il database va gestito in utf-8 e altre cose)
-
Grazie mille per i consigli, provvederò a documentarmi meglio!
-
Perfetto! Ora funziona tutto alla perfezione! Grazie 1000 ancora!