save.php 2.9 KB

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