LordLord: Zufallsauswahl auf Homepage - Nur einmal klickbar und speicherba

Tag zusammen,

um eine Gerechtigkeit in ein Fifa Turnier haben die User entschieden, das die Mannschaften zufällig an die Teilnehmer verlost werden.

Dabei habe ich mir gedacht, passwortgeschützer Bereich und der schnellste User klickt auf Zufall und dann wird der User mit dazugehöriger Mannschaft angezeigt.

Nun kann jeder andere User auf die Seite gehen und sieht nur noch die Auswahl:
Name 1 - Mannschaft 8
Name 2 - Mannschaft 1

Also das was zuvor per Zufall ausgewählt wurde, aber wie kann man dies bewerkstelligen, das zum einen der Zufallsbutton nur einmal getätigt werden kann und zum anderen danach die Auswahl zu sehen ist?

Dankeschön

  1. Hallo,

    Also das was zuvor per Zufall ausgewählt wurde, aber wie kann man dies bewerkstelligen, das zum einen der Zufallsbutton nur einmal getätigt werden kann und zum anderen danach die Auswahl zu sehen ist?

    Wenn ich das richtig verstehe, kann sich jeder Spieler einer (zufälligen) Mannschaft zuordnen.

    Serverseitig speicherst du ja die Zuordnung eines Spielers zu einer Mannschaft. Also zeigst du den Button nur an, wenn für den Spieler noch keine Zuordnung besteht. Das tust du, indem du serverseitig ein entsprechendes HTML-Dokument generierst, was entweder ein Formular mit einem Button oder eben kein Formular enthält. Serverseitig nimmst du die Formulardaten auch nur einmal entgegen, danach sind die Würfel gefallen und ein Spieler kann sich nicht mehr zuordnen.

    Browserseitiges JavaScript kann dir dabei nicht weiterhelfen. Das müsstest bzw. solltest du serverseitig lösen. Oder hast du dir gedacht, dass sich die Tabelle für alle anderen Spieler, die gerade auf der Site sind, quasi in Echtzeit aktualisiert, wenn ein Spieler die Würfel geworfen hat? Das wäre schon eher eine Aufgabe für JavaScript.

    Mathias

    1. Die Auswahl soll gar nicht für jeden User funktionieren, sondern der Link wird per Email versendet. Nun kann der schnellste User den Button betätigen und die Auswahl steht.

      Nun jeder weitere User kann das Ergebniss sehen, mehr nicht.

      Ok schade, PHP und MySQL kann ich leider auf die schnelle nicht erlernen

  2. Hallo,
    Allein mit JavaScript wirst Du dies nicht bewerkstelligen können, da dies ja clientseitig (also auf dem Computer des Users) ausgeführt wird, und folglich die anderen User davon nichts mitbekommen. Auch ist das "Würfel"-Eregbnis dadurch theoretisch manipulierbar(der User kann die "Zufallsauswahl" umprogrammieren, da sie ja auf seinem eigenen Rechner läuft, und sich damit die Mannschaften zuschustern, die er haben möchte).

    Du brauchst also eine Server-Seitige Lösung (z.b. mittels PHP/Perl/...).
    Da es theoretisch passieren kann, dass zwei User gleichzeitig "würfeln", musst Du irgendwie sicherstellen, dass sich zwei User nicht gegenseitig das Würfelergebis überschreiben (User A würfelt...bekommt Ergebnis X....User B würfelt...bekommt Ergebnis Y....X wird geschrieben...Y wird geschrieben (und überschreibt damit X) - dies lässt sich durch diverse Mechanismen sicher stellen, am einfachsten ist aber, Du benutzt zum "Merken" des Würfel-Ergebnisses ein Datenbanksystem, da dieses viele dieser benötigten Mechanismen gleich mitbringt.

    => Eine Beschäftigung mit (z.b.) PHP und MySQL sollte Dich weiterbringen.

    Hope that helps,

    Jörg

  3. moin,

    Also das was zuvor per Zufall ausgewählt wurde, aber wie kann man dies bewerkstelligen, das zum einen der Zufallsbutton nur einmal getätigt werden kann und zum anderen danach die Auswahl zu sehen ist?

    Zum "Einmal"-Button: Der User(Agent) muss dazu eine eindeutige ID bekommen, die er nicht manipulieren kann. Wobei: manipulierbar ist alles. Mal davon abgesehen, gäbe es die Möglichkeit, einen Cookie zu setzen. Unter Hinzunahme von Javascript könntest Du darüber hinaus eine Checksumme bilden aus verschiedenen System/Browserinformationen; einfach aneinanderhängen und serverseitig mit md5 verwursten.

    Serverseitig gibts dann eine oder besser zwei Tabellen, eine fürs Ergebnis (result_table) und eine für diejenigen, die geklickt haben (lock_table).

    Beim Klicken wird lock_table abgefragt (darf oder hat schon).

    Die Darstellung wird die rsult_table herangezogen.

    Schönes Wochenende,
    Horst H.