Javascript aan te passen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Lord Gaga

Lord Gaga

23/08/2011 13:06:43
Quote Anchor link
Hallo,

Bij het kopen van producten (RPG) op mn site, maak ik gebruik van javascript, ik heb deze functie:

BuyItem(id, naam, desc, amount, cost, image, galleons);

Bij het kopen van dit product word alleen het id in de database gezet, en die maakt verbinding met de tabel met producten, maar bij het weergeven in javascript worden de argumenten van het script weergegeven.

Maar nu kun je met Firefox en ik denk wel meer browsers de pagina aanpasen (HTML en javascript), men kan dus ook de argumenten van BuyItem veranderen. Hoe moet ik dit oplossen?
 
PHP hulp

PHP hulp

15/01/2025 14:32:07
 
Jacco Brandt

Jacco Brandt

23/08/2011 13:34:13
Quote Anchor link
server-side verifieren.
 
Lord Gaga

Lord Gaga

23/08/2011 13:35:42
Quote Anchor link
Hoe zou ik dat dan moeten doen? Want bij het kopen van een item moet je erop klikken, en dan moet ik hoe dan ook het ID meesturen van dat item, en dat ID is altijd aan te passen volgens mij.. dus ik weet niet hoe ik dit dan goed moet oplossen?
 
Vincent Huisman

Vincent Huisman

23/08/2011 13:40:11
Quote Anchor link
het is toch niet erg als iemand het id veranderd? de kosten wordt toch uit de database gehaald
 
Lord Gaga

Lord Gaga

23/08/2011 13:43:15
Quote Anchor link
ja, maar toch heb ik liever niet dat men het ID aan kan passen, omdat ik ook items in de databse heb staan die niet verkocht kunnen worden, maar alleen verdiend, of kan ik daar dan beter een extra variable voor aanmaken en daarop checken?
 
Jacco Brandt

Jacco Brandt

23/08/2011 13:48:17
Quote Anchor link
Dat kun je ook server-side checken. Gewoon een rij in je database 'sellable'.
En dan kun je bij de 'aankoop' een array doorlopen, en overal hierop checken.
 
Lord Gaga

Lord Gaga

23/08/2011 13:52:02
Quote Anchor link
Oké, ik zal dat es proberen

Toevoeging op 23/08/2011 14:25:22:

Ik heb nu dit:

inc/inc.buy-item.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
if ($_POST['id'] != '')
{

  $select = "SELECT * FROM site_items WHERE id = '" . $_POST['id'] . "' ";
  $query = mysqli_query($con, $select);
  $list = mysqli_fetch_object($query);

  echo 'var name = "' . $list->name . '"';
}

?>


stukje javascript / ajax code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
  $.post('inc/inc.buy-item.php',
  {
    id: id
  },
  function(data)
  {
    alert(data);
  });


Maar nu word de uitkomst weergegeven in een alert, ik wil dat de uitkomst word uitgevoerd, dus zo:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
var name = "Appel"


Is hier een functie voor?
 
B a s
Beheerder

B a s

23/08/2011 15:06:36
Quote Anchor link
Je moet kijken of een item inderdaad verkocht mag wowrden en als dat het geval is, dan haal je credits bij de koper vandaan.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
if ($_POST['id'] != '')
{

  $select = "SELECT * FROM site_items WHERE id = '" . $_POST['id'] . "' ";
  $query = mysqli_query($con, $select);
  $list = mysqli_fetch_object($query);

  echo 'var name = "' . $list->name . '"';
}

?>


Dit gaat ook compleet verkeerd. Je kijkt of $_POST['id'] leeg is, zo ja, voer dan een query uit die ook verkeerd gaat.

Check of $_POST['id'] een integer is en voer dan een query uit waarbij je de $_POST['id'] niet tussen quotes zet (dat hoort niet bij integers) en waarbij je wel gebruik maakt van mysql_real_escape_string.
 



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.