Just ignore past messages. I got successful posting of data from unity to django localhost server. Now I am creating POST request from unity thats why I am doing request.POST if condition.
I could see that through print statements inside this code if request.POST: name = request.POST['name'] print name score = request.POST['score'] print score hash = request.POST['hash'] print hash before there was no output. So now I am sure that I am getting values. Can anybody help in storing name and score into database? i have models setup as follows. from django.db import models # Create your models here. class Scores(models.Model): name = models.CharField(max_length=100) score = models.IntegerField() class Meta: verbose_name_plural ="Scores" Thanks a ton! Dhruv Adhia http://thirdimension.com On Thu, Oct 22, 2009 at 2:54 PM, Dhruv Adhia <druf...@gmail.com> wrote: > here is the version I thought should have worked, but its not quite there > > def add_score(request): > #response_dict ={} > secret_key = "asdf789as7df89asdf87ds89a8f7sfd8" > name ="" > score=0 > hash="" > > # getting the posted data > if request.GET: > name = request.POST['name'] > print name > score = request.POST['score'] > print score > hash = request.POST['hash'] > print hash > #leaderboard = {'name': name, 'score': score, 'hash': hash} > > #hashlib stuff for encryption > m = hashlib.md5() > m.update(name+str(score)+secret_key) > real_hash = m.hexdigest() > > #storing it into database > if real_hash == hash: > # store the name and score into the database > leaderboard = Scores(name = request.POST['name'] ,score = > request.POST['score']) > leaderboard.save > > leaderboard = Scores.objects.all() > return render_to_response('add_score.html', {'leaderboard': > leaderboard}) > > > This version does not do what i wanted it do. which is 1) Read the posted > data 2) Store it into database > > Any help would be appreciated. > > Thanks > > Dhruv Adhia > http://thirdimension.com > > > > On Thu, Oct 22, 2009 at 1:05 PM, Dhruv Adhia <druf...@gmail.com> wrote: > >> Allright, I get that part. >> >> the url is coming from unity >> >> javascript part inside unity >> >> the part in bold is doing the post data. >> >> private var secretKey="mySecretKey"; >> function postScore(name, score) { >> //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. >> var hash=Md5.Md5Sum(name +""+ score + ""+ secretKey); >> >> *var highscore_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. >> hs_post = WWW(highscore_url);* >> yield hs_post; // Wait until the download is done >> if(hs_post.error) { >> print("There was an error posting the high score: " + >> hs_post.error); >> } >> } >> >> >> <?php >> >> $db = mysql_connect('mysql_host', 'mysql_user', 'mysql_password') >> or die <http://www.perldoc.com/perl5.6/pod/func/die.html>('Could not >> connect: ' . mysql_error()); >> mysql_select_db('my_database') or >> die<http://www.perldoc.com/perl5.6/pod/func/die.html> >> ('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 scores values (NULL, '$name', >> '$score');"; >> $result = mysql_query($query) or >> die<http://www.perldoc.com/perl5.6/pod/func/die.html> >> ('Query failed: ' . mysql_error()); >> } >> ?> >> >> This is the php side of things that I found online. Basically I am trying >> to convert that to python code as you can see. >> >> I wrote the getting part of the data and the rest is what I am working on >> right now. >> >> It would be nice, >> >> if I could read values sent by unity(which is fine) and store them into >> database rather than just displaying. >> >> Thanks Karen. >> >> Dhruv Adhia >> http://thirdimension.com >> >> >> >> On Thu, Oct 22, 2009 at 12:46 PM, Karen Tracey <kmtra...@gmail.com>wrote: >> >>> On Thu, Oct 22, 2009 at 3:25 PM, Dhruv Adhia <druf...@gmail.com> wrote: >>> >>>> Yep and sorry I am bit new to this stuff, I mistook 69 for 200. This >>>> explained it >>>> http://cwiki.apache.org/GMOxSAMPLES/using-asynchronous-http-client.data/s200.log >>>> >>>> so for '?' then should my url pattern for add_Score look like this >>>> (r'^add_score/?', 'carbon_chaos.highscore.views.add_score'), >>>> >>>> >>>> >>> No, query strings don't play any part in the url matching. You might >>> want to add a $ to the end of your existing pattern, to indicate that the >>> inbound URL path must end after the slash after add_score...as it is your >>> requested URL is only matching because that $ is missing from your pattern, >>> allowing any URL path that starts with add_score/ to get routed to your >>> add_score view, even if there is more after the add_score/ element of the >>> URL path. >>> >>> What you need to do to be able to access the query string values from the >>> request.GET dictionary is change whatever is generating that URL to generate >>> it properly, with the ? separating the URL path from the query string. But >>> near as I can tell you have not said anything about where that URL is coming >>> from, so I don't know what to tell you tot fix. You need the request coming >>> in to the server to have the ? in its proper place, you do not need the ? in >>> the pattern. >>> >>> Karen >>> >>> >>> >>> >> > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~----------~----~----~----~------~----~------~--~---