Unable to connect to unity and mysql using php webservice

I use the scripts on the Server Side Records page for my purposes. I edited it a bit, but it does not work. The value is not saved, and I continue to receive this message on the php page:

Note: Undefined index: Name in C: \ xampp \ htdocs \ unitypb \ saveVerant.php on line 6

Note: Undefined index: Value in C: \ xampp \ htdocs \ unitypb \ saveVerant.php on line 7

Note: Undefined index: hash in C: \ xampp \ htdocs \ unitypb \ saveVerant.php on line 8

This is php code

<?php $db = mysql_connect('localhost', 'root', '') or die('Could not connect: ' . mysql_error()); mysql_select_db('unitypb') or die('Could not select database'); // Strings must be escaped to prevent SQL injection attack. $name = mysql_real_escape_string($_GET['name'], $db); $score = mysql_real_escape_string($_GET['score'], $db); $hash = $_GET['hash']; $secretKey="mySecretKey"; # Change this value to match the value stored in the client javascript below $real_hash = md5($name . $score . $secretKey); if($real_hash == $hash) { // Send variables for the MySQL database class. $query = "INSERT INTO verant VALUES (NULL, '$name', '$score');"; $result = mysql_query($query) or die('Query failed: ' . mysql_error()); } ?> 

and this is C # code:

 using UnityEngine; using UnityEngine.UI; using System.Collections; using System.Collections.Generic; public class SQL_InputVS : MonoBehaviour { private string secretKey = "mySecretKey"; // Edit this value and make sure it the same as the one stored on the server public string addScoreURL = "http://localhost/unitypb/saveVerant.php?"; //be sure to add a ? to your url Text text; void Awake (){ text = transform.Find ("Text").GetComponent <Text> (); } public void sendDatabase () { StartCoroutine (saveValue ("Verant-" + this.transform.name, text.text)); } IEnumerator saveValue (string name, string score) { //This connects to a server side PHP  that will add the name and score to a MySQL DB. // Supply it with a string representing the players name and the players score. string hash = Md5Sum (name + score + secretKey); string post_url = addScoreURL + "name=" + WWW.EscapeURL(name) + "&score=" + score+ "&hash=" + hash; // Post the URL to the site and create a download object to get the result. WWW hs_post = new WWW(post_url); yield return hs_post; // Wait until the download is done if (hs_post.error != null) { print("There was an error: " + hs_post.error); } } public string Md5Sum(string strToEncrypt) { System.Text.UTF8Encoding ue = new System.Text.UTF8Encoding(); byte[] bytes = ue.GetBytes(strToEncrypt); // encrypt bytes System.Security.Cryptography.MD5CryptoServiceProvider md5 = new System.Security.Cryptography.MD5CryptoServiceProvider(); byte[] hashBytes = md5.ComputeHash(bytes); // Convert the encrypted bytes back to a string (base 16) string hashString = ""; for (int i = 0; i < hashBytes.Length; i++) { hashString += System.Convert.ToString(hashBytes[i], 16).PadLeft(2, '0'); } return hashString.PadLeft(32, '0'); } } 
+6
source share
1 answer

Quote from Spiningit's comment.

I did this, now the script works very well. C # script seemed to have a problem. I searched and found a modified script from Appymole here and it works great for my application. appymole.com/tutorial

-one
source

All Articles