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
-~----------~----~----~----~------~----~------~--~---

Reply via email to