PHP highscore

Hi leutz
Weiß vileleicht jemand wo ich ein tutorial herbekomme
in dem klar wird wie ich mit PHP eine highscore liste mache?
Oder weiß jemand von euch wie das geht??
 
hab dazu ne frage....irgendwie musst du ja die einträge updaten. ob du dies jetzt im html file oder sonstwo machst ist wohl kein grosser unterschied. oder sehe ich das irgendwie falsch??
 
also das solle so ausehen:
man spielt ein online Flash spiel und anschliesent
werden die punkte angezeikt. schicke sie dan mit einen EINTRAGEN button and die php datei wenn ich eine hätte.Die datei soll dies nun in eine eine text datei schreiben.Gut wäre natürlich wenn die php datei immer die textdatein liest und dann guckt ob die neue punkt zahl reingeschrieben werden (wenn sie höher ist) oder nicht wenn sie kleiner ist. Und das ganze vielleicht mit 10 plätzen oder so.
 
Actionscript:

Highscore speichern:
Code:
datei = \"highscore.txt\";

loadVariablesNum (\"speichern.php?datei=\"+_root.datei+\"&name=\"+_root.name+\"&hits=\"+_root.punkte, 0, \"POST\");

also:
datei = _root.datei
name = _root.name
hits = _root.punkte
Diese Pfade sind natürlich nur ein Beispiel!

Highscore laden:

Actionscript:
Code:
if (geladen == \"1\") {
   play ();
} else {
   loadVariables (\"laden.php?datei=\"+_root.datei+\"&\"+random(99999), this, \"GET\");
   gotoAndPlay (irgendwohin);
}

Der Highscore wird in 2 dynamische Textfelder "hits" und "namen" geladen !


speichern.php

PHP:
<? 
# Verhindert den Verzeichnis Wechsel 
if (!preg_match(\"=../|^/=\",$datei))  
{ 
    # Der Inhalt der Highscore wird in die Variable $inhalt geladen 
    for($i=0;$i<count($line=file($datei));$i++) { 
        $inhalt .= $line[$i]; 
    } 

    # Der neue Eintrag wird der Variable $inhalt hinzugefügt 
    $inhalt .= $hits.\";\".$name.\"\n\"; 

    # Inhalt wird in die Datei geschrieben 
    $fp=fopen($datei, \"w\"); 
    fputs($fp,$inhalt); 
    fclose($fp); 
} 
?>


laden.php:

PHP:
<? 

$i = 0;  
$fp = @fopen($datei,\"r\");  
while ($zeile= @fgets($fp,1000)) {  
    # entfernt Leerzeichen am Anfang und Ende der Zeile 
    $zeile = trim($zeile);  
      
    # Teilt die Zeile anhand des Semikolons 
    $zeile = split(\";\",$zeile);  
      
    # Erstellt ein Mehrdimensionales Array 
    $id{$i} = array(\"Name\" => $zeile[1], \"Hits\" => $zeile[0]);  
      
    $i++;  
}  
@fclose($fp);  

# Sortiert das Array nach Punkten 
usort($id, sortier_funktion);  

# Sortierfunktion 
function sortier_funktion($a, $b) {   
    return strnatcasecmp($a[\"Hits\"],$b[\"Hits\"]);  
}  

# Ausgabe wird umgedreht 
$id = array_reverse($id);  

$fp=fopen($datei.\".bak\",\"w\");  
# Array Ausgabe 
while (list($key, $value) = each($id)) {   
    $dat_namen = $id{$key}{\"Name\"};  
    $dat_hits = $id{$key}{\"Hits\"};   
      
    fputs($fp,$dat_hits.\";\".$dat_namen.\"\n\");  
      
    $namen .= $dat_namen.\" <br>\";  
    $hits .= $dat_hits.\" <br>\";   
      
    # Nur die ersten 10 Ergebnisse ausgeben (Index fängt bei 0 an) 
    if($key == 9) { break; }  
}  

fclose($fp);  
unlink($datei);  
rename($datei.\".bak\", $datei);  

# Ausgabe für Flash 
echo \"hits=\".$hits;  
echo \"&namen=\".$namen;  
echo \"&geladen=1\"; # Variable die für einen evtl. Loader im Flash-Movie benötigt wird 

?>

Soweit die Scripte, jetzt musst du das natürlich noch in dein Flash einbauen.
Es kommt ganz auf dein movie an, wo welches Script plaziert werden muss, bzw. inwiefern du daran Veränderungen vornehmen musst bzw. die Pfade anpassen musst. Das lässt sich nicht pauschal sagen.

Darauf achten die Zeilenumbrüche aus dem Code zu löschen wenn du ihn hier rauskopierst !!!
 
Zurück
Oben