Server Based High Score - issues with adding new score

Hi,

I’m following this tutorial, having no prior experience with networking, databases etc…
http://gamedev.stackexchange.com/questions/53566/server-based-high-scores

I almost got it working, except for the running the addscore.php script. Here’s my slightly modified PostScores() coroutine:

public static IEnumerator PostScores(string name, int score, int rank)
{
	//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 = Utility.Md5Sum(name + score + secretKey);

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

	print (post_url);
	// 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 posting the high score: " + hs_post.error);
	}
}

So, the interesting part is that when I print the url thing and copy-paste it in my browser it works fine. I can see new entries added in my database and then the other script reads them correctly in my game.
So, I suspect it’s these lines that seem to be rogue:

 WWW hs_post = new WWW(post_url);
 yield return hs_post; // Wait until the download is done

This is all new stuff for me - I don’t even understand the coroutines fully. I also get no errors, so no clue what’s wrong. I can’t be asking my players to copy-paste the generated url in their browser every time, can I? :wink: :smiley:

Thanks in advance,

OK, so the problem was, that my object calling that coroutine was getting destroyed in the same frame, as I was loading a new level. I just moved stuff around, so the coroutine is getting called from a persistent object instead.