bernd: php hiscoreliste parameter über url

hallo,

ich möchte eine hiscore liste für mein shockwave spiel schreiben. dazu möchte ich name & score übergeben, also über den url aufruf des scripts. die hiscore liste sollte aus einer simplen textdatei bestehen.
leider bin ich zu unerfahren in php, kann mir jemand ein basisscript zeigen, das diese funktionalität bietet? eventuell einen link?

vielen vielen dank schonmal im voraus,
schönen tag noch!

bernd ekkes

  1. ich möchte eine hiscore liste für mein shockwave spiel schreiben. dazu möchte ich name & score übergeben, also über den url aufruf des scripts. die hiscore liste sollte aus einer simplen textdatei bestehen.

    mit textdatein un dphp kenne ich mich leide nicht wirklich aus, aber such doch einfach mal bei www.php.net. da findest du jede funktion beschrieben. glaube du brauchst di function "fopen".

    deine variablen sind baer ganz einfach zu benutzen, mach doch einfach mal:

    echo $varname1;
    oder
    echo $varname2;

    mfg philipp

  2. hallo,

    Hallo zurück! :)

    ich möchte eine hiscore liste für mein shockwave spiel schreiben. dazu möchte ich name & score übergeben, also über den url aufruf des scripts. die hiscore liste sollte aus einer simplen textdatei bestehen.
    leider bin ich zu unerfahren in php, kann mir jemand ein basisscript zeigen, das diese funktionalität bietet? eventuell einen link?

    Das schöne an PHP ist, daß es die in einem Formular definierten Felder nach dem Absenden als Variablen kennt und schon gleich dekodiert hat (was man bei Perl alles noch per Hand machen müßte).

    Grundsätzlich gibt es für den Formularversand GET oder POST. Bei POST sieht man in der URL nichts, aber bei GET stehen dort die bekannten Parameter drin:
    http://www.deinserver.de/verzeichnis/seite.php?wert1=einwert&wert2=andererwert

    Auch wenn du KEIN Formular abschickst, kannst du diesen Mechanismus benutzen, um Werte an PHP zu übermitteln. Wenn du obige URL in einen Link einbaust, wird das Script seite.php sofort die beiden Variablen $wert1 und $wert2 kennen, die die entsprechenden Werte haben.

    Mit anderen Worten:
    <a href="highscore.php?name=Sven&score=5121024">Als Highscore eintragen</a>
    Mit solch einem Link wird der Spieler "Sven" mit seinem Highscore 5121024 in der Liste eingetragen (natürlich nur, wenn du das mit der Liste richtig programmierst... aber das sollte eigentlich relativ einfach sein bzw. sich durch Nachsehen in einer Anleitung erschließen).

    Es wäre gut, wenn du zusätzlich zu den offensichtlichen Daten Name und Highscore noch eine Prüfsumme mitschickst, die sich aus den beiden anderen Werten errechnet. Wie du das machst, bleibt dir überlassen. Also z.B. alle ASCII-Codes des Namens addieren, mit dem Highscore multiplizieren und modulo irgendwas (z.B. 576) nehmen. Das Script rechnet das dann nach - sonst kann sich jeder, der die URL kennt und einfach seine Werte "per Hand" eingibt, in die Liste eintragen.

    vielen vielen dank schonmal im voraus,
    schönen tag noch!

    bernd ekkes

    - Sven Rautenberg

    1. ich möchte eine hiscore liste für mein shockwave spiel schreiben. dazu möchte ich name & score übergeben, also über den url aufruf des scripts. die hiscore liste sollte aus einer simplen textdatei bestehen.
      leider bin ich zu unerfahren in php, kann mir jemand ein basisscript zeigen, das diese funktionalität bietet? eventuell einen link?

      Das schöne an PHP ist, daß es die in einem Formular definierten Felder nach dem Absenden als Variablen kennt und schon gleich dekodiert hat (was man bei Perl alles noch per Hand machen müßte).

      Grundsätzlich gibt es für den Formularversand GET oder POST. Bei POST sieht man in der URL nichts, aber bei GET stehen dort die bekannten Parameter drin:
      http://www.deinserver.de/verzeichnis/seite.php?wert1=einwert&wert2=andererwert

      Auch wenn du KEIN Formular abschickst, kannst du diesen Mechanismus benutzen, um Werte an PHP zu übermitteln. Wenn du obige URL in einen Link einbaust, wird das Script seite.php sofort die beiden Variablen $wert1 und $wert2 kennen, die die entsprechenden Werte haben.

      Wie Sven schon beschrieben hat gibt es die Möglichkeit die Variablen per GET und POST zu übergeben was sich beides auch problemlos in einem Shockwavespiel verwenden lässt. Unterschied zwischen beiden Möglichkeiten hat er auch beschrieben. Der Vorteil von GET wäre, dass der Benutzer beim Absenden aus dem Shockwavespiel keine Warnmeldung präsentiert bekommt (wollen Sie die Daten senden?). Bei POST sieht der Spieler nicht welche Variablen übergeben werden und kann so keinen Eintrag manipulieren (also sich selbst höhere Punktzahl geben).

      Ich stand selbst vor so einer Herausforderung (Ergebnis: http://clowns.mediage.de). Wir übergeben die Variablen per POST müssen die Warnmeldung in Kauf nehmen, aber der Spieler sieht nicht welche Variablen übergeben werden. Unter anderem übergeben wir auch die Versionsnummer des Spieles um zu sehen bei welcher Version die Spieler wie gut waren. Auch haben wir die Möglichkeit das Spiel auf mehreren Seiten anzubieten und können durch eine weitere Variable sehen auf welcher Seite das Spiel gespielt wurde. Die Highscore ist für alle die gleiche.

      Martin