Witam. Robię sklep internetowy a w nim mam dodawanie do koszyka. Odbywa się to za pomocą AJAXa(kod:
  1. <script type="text/javascript">
  2. function getXMLHttpRequestObject(){
  3. try{
  4. return new XMLHttpRequest();
  5. }
  6. catch(e){
  7. try{
  8. return new ActiveXObject("Microsoft.XMLHTTP");
  9. }
  10. catch(e){
  11. return false;
  12. }
  13. }
  14. }
  15. function buy(){
  16. var XMLHttpRequestObject = getXMLHttpRequestObject();
  17. if(XMLHttpRequestObject){
  18. var th = document.getElementById("idbuy");
  19. var url = "http://194.63.135.234/~sklep/buy.php?id=1";
  20.  
  21. XMLHttpRequestObject.open("GET", url);
  22. XMLHttpRequestObject.onreadystatechange = function(){
  23. if(XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200){
  24. th.innerHTML = XMLHttpRequestObject.responseText;
  25. delete XMLHttpRequestObject;
  26. XMLHttpRequestObject = false
  27. }
  28. }
  29. XMLHttpRequestObject.send(null)
  30. }
  31. }
  32.  
)
czyli ktoś klika na dodaj do koszyka i w komórkę idbuy jest wczytywana strona buy.php?id=1(kod:
  1. <?php
  2. include('config.php');
  3. $zapyt = query('koszyk', &#092;"`id_produktu` = '\".$_GET['id'].\"'\");
  4. $ilosc = mnr($zapyt);
  5. $row = mfa($zapyt);
  6. //print_r($row);
  7.  
  8. if($_SESSION['zalogowany']){
  9. if($ilosc == 1){
  10. $alert = '<font color=\"red\">'.RESERVED.'';
  11. }
  12. else{
  13. $dodaj = mysql_query(&#092;"INSERT INTO `koszyk` ( `ID` , `id_usera` , `id_produktu` , `data` , `ip` , `status`) VALUES(
  14. '',
  15. '\".$_SESSION['ID'].\"',
  16. '\".$_GET['id'].\"',
  17. '\".date(\"Y.m.d H:i\").\"',
  18. '\".$_SERVER['REMOTE_ADDR'].\"',
  19. '0'
  20. )&#092;");
  21. if($dodaj){
  22. $alert = '<font color=\"green\">'.ADDED_TO_BASKET.'';
  23. }
  24. else{
  25. $alert = '<font color=\"red\">'.ERR_ADDED_TO_BASKET.'';
  26. }
  27.  
  28. }
  29.  
  30. }
  31. echo($alert);
  32. ?>
)

Mój problem polega na tym, że ktoś widzi jaka strona jest wczytywana i może bezpośrednio wejść na nią, a jak wejdzie to odrazu doda się do koszyka. Chcę to zabezpieczyć, że dodać tylko można ze strony produktu. Próbowałem przez $_SERVER['PHP_SELF']; ale to ma wartość buy.php. Czy ktoś ma jakiś pomysł questionmark.gif </font color=\"red\"></font color=\"green\"></font color=\"red\">