JavaScript connecteren met SQL via PHP
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<script>
$("#send_1").click(function () {
console.log("click");
hive_keychain.requestCustomJson(
'name',
'sm_token_transfer',
'active',
'{"to":"name2","qty":95,"token":"DEC","type":"withdraw","app":"something"}',
function (response) {
window.location.replace("purchase.php");
}
);
});
</script>
$("#send_1").click(function () {
console.log("click");
hive_keychain.requestCustomJson(
'name',
'sm_token_transfer',
'active',
'{"to":"name2","qty":95,"token":"DEC","type":"withdraw","app":"something"}',
function (response) {
window.location.replace("purchase.php");
}
);
});
</script>
Nu zou ik ook graag de transactiedata in mijn eigen SQL database opslaan. Echter vind ik dit niet zo evident om van JavaScript, wat een client side taal is, naar een server side taal als PHP over te gaan. Momenteel is er een callback functie die de gebruiker naar purchase.php stuurt als de transactie is afgerond. Echter hoe kan ik bijkomende informatie over de transactie meesturen naar die pagina?
Of bestaat er een betere manier om deze transactiedata in een SQL database te krijgen?
Gewijzigd op 25/09/2021 00:06:30 door Louis Deconinck
https://www.w3schools.com/jquery/ajax_ajax.asp
Stuur de data bij voorkeur via POST (of GET als je dat wilt doen) naar een purchase.php script.
Waar dat script alle $_POST data in een INSERT-query verwerkt, zodat het in de database komt.
Enne, vergeet niet te escapen tegen SQL-injection ;-)
Dat is een optie die ik eens zal bekijken. Vraag mij echter af of het wel mogelijks is om dit veilig te bouwen... Kan men geen valse variabelen via POST versturen en deze in de database opnemen.
Of anders kan je een check doen met een sessie die je aanmaakt op je index.php, en die ook bekend moet zijn op je purchase.php script.
Het probleem is dat je 'de transactiedata' van 'de blockchain' (of wat het ook is) wilt opslaan in een tweede JS request, dat relatief eenvoudig te hacken is. De browser kan geen garanties geven.
Je moet in feite van de twee HTTP-requests een veilige transactie maken. Dat moet server-side. Dus je moet of de request naar de blockchain plugin zo ver krijgen dat het ook een sein stuurt naar jouw server (kan via PHP), of het moet andersom, dus eerst naar jouw PHP script dat het verzoek doorstuurt naar de blockchain.
Spamkick, slotje