Highscore sichern (Session?)

nordi

Erfahrenes Mitglied
Hallo,

ich hab eine Frage. Also, ich habe ein Spiel geschrieben, bei dem man einen Highscore erzielen kann. Dieser wird in einem Feld wiedergegeben und wenn man auf "Senden" klickt, wird man auf eine Seite weitergeleitet, auf der man seinen Namen eintippen kann und sich in die Highscoreliste einträgt. Eigentlich ziemlich simpel. In letzter Zeit häufen sich aber bei mir die Highscoreeinträge, es wird also geschummelt (wurde auch zugegeben). Leute haben sich das Spiel (php/html basiert) runtergeladen und den highscore ins feld geschrieben und dann haben sie sich eingetragen. Kann man das unterbinden? Hatte an "Session" gedacht? Wird wird das gemacht, ist dies schwierig?

Könnte ich ja so machen, dass ne ID von der Spielseite (tetrisIE.php) an die Eintragungsseite (dbentry.php) übergeben wird, wenn diese nicht vorhanden ist, kann man sich nicht eintragen!

Wäre für Antworten sehr sehr dankbar!

Schönes WE

Marius
 
Der Ansatz ist nicht schlecht.
Du könntest das Ergebnis in einer Session speichern und dann in der dbentry.php die Session abfragen. So kann das Ergebnis nicht mehr so einfach manipuliert werden.
 
Wie schreibt man so eine session? die variable, die den highscore mitnimmt, heißt "$score". Wie würde jetzt das session script aussehen? Hab schonmal bisschen gelesen, aber blick da nicht ganz durch!
 
Du startest deine tetrisIE.php jetzt so:
PHP:
<?php
session_start();
// Dann dein restlicher Quelltext.
Wenn du deinen Score hast holst du ihn in die Session:
PHP:
$_SESSION['spieler_name'] = $variable_des_spielernamens;
$_SESSION['spieler_score'] = $score;
An der Stelle, an der du an die dbentry.php übergibst fügst du die Konstante SID hinten an:
Ich vermute jetzt einfach mal, das es eine <form action="dbentry.php"> ist:
PHP:
action="dbentry.php?<?php echo(SID); ?>"
Dann noch dieses session_start(); an den Anfang der dbentry.php.
Dann kannst du über $_SESSION['spieler_name'] und $_SESSION['spieler_score'] darauf zugreifen.
Fragen werden nur 17 Uhr beantwortet :DDDDD
 
Ok, also das Prinzip verstehe ich. Also, ich starte die "session" mit dem genannten befehl:
PHP:
<?php 
session_start();
aber was meinst du damit, wenn du den score hast, holst du dir ihn die session? Wo muss ich den code einsetzen. Hier das Formular:

PHP:
<FORM NAME="SC" method="post" action="hbhighentry.php">
<span class="scores">BALL :
<INPUT TYPE="text" NAME="BL" SIZE=5 VALUE = "3" style="background-color:#ffffff; font-size: 12px; font-family: "Lucida Grande", "Trebuchet MS", Verdana, Geneva, Arial, sans-serif;"></span><BR>
<span class="scores">TIME :
<INPUT TYPE="text" NAME="TM" SIZE=5 VALUE = "0" style="background-color:#ffffff; font-size: 12px; font-family: "Lucida Grande", "Trebuchet MS", Verdana, Geneva, Arial, sans-serif;"></span><BR>
<span class="scores">BLOCK:
<INPUT TYPE="text" NAME="CL" SIZE=5 VALUE = "0" style="background-color:#ffffff; font-size: 12px; font-family: "Lucida Grande", "Trebuchet MS", Verdana, Geneva, Arial, sans-serif;"></span><BR>
<span class="scores">SCORE:
<INPUT TYPE="text" NAME="SR" SIZE=5 VALUE = "0" onfocus="blur();" style="background-color:#ffffff; font-size: 12px; font-family: "Lucida Grande", "Trebuchet MS", Verdana, Geneva, Arial, sans-serif;"></span><BR>
<span class="scores">HIGHSCORE:
<?php $verbindung = @mysql_connect("$dbhost","$dbuser","$dbpass");

 if (!$verbindung) {
 		echo "Keine Verbindung möglich!\n";
 		exit;
 	}


$abfrage = "SELECT * FROM $hbhigh ORDER BY hs DESC LIMIT 1";
$ergebnis = mysql_db_query($dbtable,$abfrage,$verbindung);
while (list($id,$name,$hs) = mysql_fetch_row($ergebnis)) 
{
echo "<INPUT TYPE=\"text\" NAME=\"HS\" SIZE=5 VALUE=$hs style=\"background-color:#ffffff; font-size: 12px; font-family: \"Lucida Grande\", \"Trebuchet MS\", Verdana, Geneva, Arial, sans-serif;\">";
} 
	     ?><br><input type="submit" name="senden" value="senden!" style="background-color:#ffffff; font-size: 10px; font-family: Tahoma; border: 1 dotted #000000"></FORM>

Wäre dankbar für ne Antwort

MFg

Marius
 
ja tut mir leid. die variable heißt "$sr" und nicht score! deine erklärung ist nicht selbsterklärend ;)
 
Dafür, das du dich verschreibst, kann ich nix.
Vorgemalte Lösung sind hier (und von mir sowieso) sehr selten, du hast eine bekommen......

Entweder schaltest jetzt mal Verstand ein (oder Faulheit ab) und schaust, was ich dir (wortwörtlich) ge-/beschrieben habe oder du solltest mich mal über das Job-Forum hier anschreiben, dann lös ich dir das für Geld.

Dafür musste nichtmal PHP können, so wie ich dir das gezeigt hab.
 
Mh..ja.. du könntest mal deine Abgehobenheit abschalten.Aber trotzdem dank und viel Glück auf der Suche nach Arbeit.
 
Zurück