Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
  • Help Room /
avatar image
0
Question by spiningit · Jul 05, 2016 at 01:55 PM · mysqlphp

how to save value to mysql

Hi,

I'm using scripts from the page Server Side Highscores for my purposes. I edited it slightly but it doesn't work. The value is not saving and I keep getting this message in php page:

Notice: Undefined index: Name in C:\xampp\htdocs\unitypb\saveVerant.php on line 6 Notice: Undefined index: Value in C:\xampp\htdocs\unitypb\saveVerant.php on line 7 Notice: Undefined index: hash in C:\xampp\htdocs\unitypb\saveVerant.php on line 8

This is the 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['Value'], $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` ( `ID` , `Name` , `Value` ) VALUES ('10', 'a', 'b')";
             $result = mysql_query($query) or die('Query failed: ' . mysql_error()); 
         } 
 ?>

and this is the 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's 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 Value) {
 
         //This connects to a server side php script 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 + Value + secretKey);
 
         string post_url = addScoreURL + "name=" + WWW.EscapeURL(Name) + "&score=" + Value + "&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');
     }
 }



Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

1 Reply

· Add your reply
  • Sort: 
avatar image
0

Answer by VoidStick · May 08, 2017 at 09:14 PM

On line 30 of your C# code, you've indicated that:

 string post_url = addScoreURL + "name=" + WWW.EscapeURL(Name) + "&score=" + Value + "&hash=" + hash;

Which means you're passing it three arguments: name, score, and hash.

Meanwhile, your PHP code on lines 6, 7, and 8 are looking for three arguments: Name, Value, and hash. I'm not a PHP expert, but I believe that the indices of $_GET is case-sensitive and at a minimum need to match what's passed.

Comment
Add comment · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

60 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Unity sql PHP script can log in with wrong password, what's wrong? 0 Answers

display data from mysql 0 Answers

Why is MySQL search query not returning each row in 1 index of an array? 0 Answers

warning CS0649: Field `name.username' is never assigned to, and will always have its default value `null' 3 Answers

Using POST and WebRequest in Unity 0 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges