save.php 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. <?php
  2. // IMPORTANT
  3. // * database name : db_ifractions
  4. // * table name : ifractions
  5. // php/save.php on line 24, referer: http://milanesa.ime.usp.br/ifractions1/
  6. // @see js/globals.js
  7. // @see js/circleOne.js
  8. // @see js/squareOne.js
  9. // @see js/squareTwo.js
  10. function remove_accents ($stripAccents) {
  11. /*
  12. $stripAccents = strtr($stripAccents,
  13. 'àáâãäçèéêëìíîïñòóôõöùúûüýÿÀÁÂÃÄÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝ',
  14. 'aaaaaceeeeiiiinooooouuuuyyAAAAACEEEEIIIINOOOOOUUUUY');
  15. $stripAccents = preg_replace('/[^\x20-\x7E]/','', $stripAccents);
  16. */
  17. return $stripAccents;
  18. }
  19. // Creates array [0,1] of client data
  20. function clientIP () {
  21. if (getenv("HTTP_CLIENT_IP"))
  22. $ip = getenv("HTTP_CLIENT_IP");
  23. elseif (getenv("HTTP_X_FORWARDED_FOR"))
  24. $ip = getenv("HTTP_X_FORWARDED_FOR");
  25. elseif (getenv("REMOTE_ADDR"))
  26. $ip = getenv("REMOTE_ADDR");
  27. $strIP = $ip;
  28. $resp = gethostbyaddr($ip);
  29. if (isset($resp) && strlen($resp)>0) {
  30. $strIP .= "; " . $resp;
  31. }
  32. return $strIP;
  33. }
  34. $servername = "localhost";
  35. $username = "root"; // put here the name of user root of MySQL
  36. $password = "put_paswd"; // put here the password of user root of MySQL
  37. $dbname = "put_name_of_base"; // put here the name of data base used to register iFraction use
  38. // Create connection
  39. $conn = new mysqli($servername, $username, $password, $dbname);
  40. // Check connection
  41. if ($conn->connect_error) {
  42. die("Connection failed: " . $conn->connect_error);
  43. }
  44. $ip = clientIP();
  45. // /js/globals.js: data = s_ip=120.0.0.1&s_name=name&s_lang=pt_BR
  46. // /js/squareOne.js: data += &s_game=Square&s_mode=A&s_oper=Plus&s_leve=1&s_posi=1&s_resu=true&s_time=3&s_deta=numBlocks:3, valBlocks: 1,1,1, blockIndex: 2, floorIndex: 2;url=php/save.php
  47. $name = $_REQUEST["s_name"];
  48. $date = date("Y-m-d H:i:s");
  49. $lang = $_REQUEST["s_lang"];
  50. $game = $_REQUEST["s_game"];
  51. $mode = $_REQUEST["s_mode"];
  52. $oper = $_REQUEST["s_oper"];
  53. $leve = $_REQUEST["s_leve"];
  54. $posi = $_REQUEST["s_posi"];
  55. $resu = $_REQUEST["s_resu"];
  56. $time = $_REQUEST["s_time"];
  57. $deta = $_REQUEST["s_deta"];
  58. $nameUnchanged = $name; // /js/preMenu.js: playerName
  59. $name = remove_accents($name);
  60. if (is_object($lang))
  61. $lang = json_decode($lang);
  62. // Table 'ifractions': id s_hostip s_playername s_datetime s_lang s_game s_mode s_operator s_level s_mappos s_result s_time s_details
  63. $sql = "INSERT INTO ifractions
  64. (s_hostip, s_playername, s_datetime, s_lang, s_game, s_mode, s_operator, s_level, s_mappos, s_result, s_time, s_details)
  65. VALUES
  66. ('$ip', '$name', '$date', '$lang', '$game', '$mode', '$oper', $leve, $posi, '$resu', $time, '$deta')";
  67. // Register in database
  68. if ($conn->query($sql) === TRUE) {
  69. print "Saved.";
  70. $result = "OK";
  71. } else {
  72. print "Error: " . $sql . "<br>" . $conn->error;
  73. $result = "Error: " . $conn->error;
  74. }
  75. // DEBUG
  76. $date = date('Y_m_d_H_i_s');
  77. $fp = fopen('../temp/file_' . $date . ".txt", 'w');
  78. fwrite($fp, "name_unchanged=" . $nameUnchanged . ", name=" . $name . "\n" . $sql . "\nResultado: " . $result);
  79. fclose($fp);
  80. $conn->close();
  81. ?>