![]() |
|
|
Themen-Optionen |
|
|
#1
|
|
Newbie
![]() Registriert seit: 13.08.2009
Ort: Oberasbach
Beiträge: 74
Kamera: Canon 40DVerwendet: CS6 Master |
Zufallsgenerator mit Prozentualer auswertungsbeeinflussungHallo zusammen,
würde gern für unseren club auf der Website ein kleines gewinnspiel einbauen. Es soll ein klassischer zufallsgenerator sein den ich aber gerne prozentual beeinflussen möchte. Zu gewinnen gibt es quasi einen Freien Eintritt in den Club. Ich bin zwar schon auf etwas gestoßen, weis aber nicht obs da richtige ist: HTML-Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title>Zufallsgenerator</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <!-- jQuery einbinden --> <script src="http://code.jquery.com/jquery-latest.js"></script> <script type="text/javascript"> /* Wenn der Body geladen ist werden die enthaltenen Funktionen ausgeführt. $(document).ready(function(){ ... }); Alle in dieser enthaltenen Funktionen werden entsprechd erst bei geladenem Body ausgeführt */ $(document).ready(function(){ /* Der Button mit der id #auslosungstarten wird mit einer click Funktion belegt. */ $('#auslosungstarten').click(function(){ /* Der Button selbst wird ausgeblendet */ $(this).hide('slow'); /* Ein Interval wird gestartet und die Funktion auslosung() alle 300 Milisekunden ausgeführt */ intVal = window.setInterval("auslosung()", 100); /* Nach 30 Sekunden wird der Gewinner gezogen */ window.setTimeout("winneris()", 3000); /* return false verhindert, dass der href des Links aufgerufen wird */ return false; }); auslosung = function(){ /* member enthält die Anzahl der Teilnehmer der Verlosung */ member = $('.member li').length; /* Math.random() generiert eine Zufallszahl. Diese mit den Teilnehmern multipliziert ergebit den index Wert eines der Teilnehmer. */ randNum = Math.floor(Math.random()*member); /* Die CSS Klasse "win" wird von allen li's entfernt und ... */ $('.member li').removeClass('win'); /* ... für den durch die Zufallszahl gewählten Teilnehmer neu gesetzt */ $('.member li:eq('+randNum+')').addClass('win'); /* Diese Funktion wiederholt sich alle 300 Milisekunden. Dadurch entsteht das Muster, dass immer ein anderer Teilnehmer markiert wird. */ } winneris = function(){ /* Nachdem 30 Sekunden lang zufällige Teilnehmer markiert wurden, wird der Intervall nun beendet */ clearInterval(intVal); /* Der zuletzt markierte Teilnehmer wird nun als Gewinner gezogen */ winner = $('.member li.win').html(); /* Der Gewinner wird in der #andthewinneris ausgegeben. */ $('#andthewinneris').html('Status: <strong>'+winner+'<\/strong>'); } }); </script> <style type="text/css"> /* Das ist der CSS Code zum Verlosungs-System und bedarf meiner Meinung nach keiner weiteren Erklärung */ *{outline:none;padding:0px;margin:0px;} body{padding:40px;font:14px "Myriad Pro";color:#333;} h1{margin-bottom:20px;font-size:26px;font-weight:normal;} .member{list-style:none;width: 100%;} .member li{padding:10px;width:160px;background:#efefef;border:1px solid #ddd;margin:0 10px 10px 0;float:left;text-align:center;} .member li.win{background:#fff9d7;border:1px solid #e2c822;} #auslosungstarten{padding:10px;width:160px;background:#f24f04;border:1px solid #c13d00;margin:0 10px 10px 0;float:left;text-align:center;font-weight:bold;text-decoration:none;display:block;color:#fff;margin-top:40px;} #andthewinneris{margin-top:40px;font-size:26px;font-weight:normal;color: #f24f04;} </style> </head> <body> <h1>Gewinnspiel</h1> <!-- Dashier ist die Liste der Teilnehmer von der Verlosung --> <ul class="member"> <li>fail</li> <li>fail</li> <li>Freier Eintritt</li> <li>fail</li> </ul><br clear="all" /> <!-- Button zum starten der Verlosung --> <a href="#" id="auslosungstarten">Auslosung starten...</a> <!-- Ausgabe des Gewinners: --> <h1 id="andthewinneris"></h1> </body> </html> und folgende schritte dachte ich mir noch zusätzlich: + eine stelle im code wo ich den prozentualen wert festlegen kann + eine 24std ip-sperre + eine mail soll an mich geschickt werden mit der ip und der emailadresse des gewinners (diese soll natürlich nirgend gespeichert werden, da es sonst Rechtlicher dinge benötigt) + wenn jemand gewonnen ha, soll ein popup aufgehen indem man seine e-mail adresse eingibt. Derjenige erhält dann eine eMail mit einer Karte die ausgedrukt werden soll. Auf der Karte muss ein code abgebildet werden z.b. seine ip-adresse, die ich dann im Club vergleichen kann ich weis das ist etwas sehr viel, aber kann ich diesen code dafür gut benutzen oder muss ich mit php und eine mysql arbeiten.? gruß Tomas
__________________
Wer das Rauchen aufgibt, muss nach dem Sex reden. |
|
|
|
#2
|
|
Posting-Frequenz: 14µHz
![]() ![]() ![]() ![]() ![]() Registriert seit: 03.02.2006
Ort: Dresden
Beiträge: 3.225
|
Was meinst du mit "prozentualer Wert festlegen"? Meinst du für bspw. A, B, C soll A zu 50% gewählt werden, B zu 35% und C zu 15%?
Falls ja, ist das eine gewichtete Zufallszahl (Suchbegriff: weighted random number). Dafür gibt es einen sehr einfachen Algorithmus. Alternativ kannst du ein Array mit 100 Einträgen erzeugen, davon 50 für A, 35 für B, 15 für C. Dieses Array mischst du dann und gehst es durch. Die IP-Sperrre kann nur serverseitig erfolgen. Für PHP findest du etlich viele Tutorials / Scripts in dieser Richtung. Für einen E-Mailer gilt das gleiche. PHP bzw. eine serverseitige Sprache musst du sowieso benutzen, du willst schließlich nicht clientseitig entscheiden wer gewonnen hat, ne. Deinen Code kannst du als Augenschmaus oben drauf setzen, nachdem du schon festgelegt hast ob dieser Nutzer / diese IP gewonnen hat. Duddle
__________________
»To a cosmologist, a hundred thousand light-years rounds down to zero.« - RobotRollCall |
|
|
|
#3
|
|
Newbie
![]() Themenstarter
Registriert seit: 13.08.2009
Ort: Oberasbach
Beiträge: 74
Kamera: Canon 40DVerwendet: CS6 Master |
danke! damit kann ich aufjedenfall schonmal was anfangen
gruß Tomas
__________________
Wer das Rauchen aufgibt, muss nach dem Sex reden. |
|
|
|
#4
|
|
Helper
![]() ![]() Registriert seit: 02.09.2009
Ort: Nürnberg
Beiträge: 251
Kamera: Canon EOS 600DVerwendet: Adobe Creative Suite CS6; Cinema 4D R11.5; Autodest Maya 2012 |
Bei Gewinnspielen MUSST du immer serverseitig arbeiten. Ansonsten kann jeder der ein bisschen Javascript versteht alles manipulieren.
Schreibe also alles in PHP und übergebe der HTML-Seite am Ende einfach die Ausgabe, die der User sehen soll. Zusätzlich kannst du das Popup mit Javascript öffnen, oder was besser wäre, - da viele User Popups blocken - ein DIV in den Vordergrund legen, in dem die Nachricht steht. |
|
![]() |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Zufallsgenerator Bildrotation | stefan211 | Flash - ActionScript | 3 | 02.01.2010 10:10 |
| Höhe per Zufallsgenerator ? | action_papst | C4D - XPresso, Thinking Particles, C.O.F.F.E.E. und Py4D | 2 | 28.01.2009 00:31 |
| Zufallsgenerator einbauen im ladeskript ??? | The_Picture_World | Flash - ActionScript | 5 | 02.11.2008 11:26 |
-
Reklame
-
-
- 72. Foto-Contest - "Gegenlicht" [WIP]
- Wunschliste Zubehör
- Welches Objektiv könnt ihr mir empfehlen
- Kiriko's Showroom
- Anzeigenformate und Farben 1+2+3+4 ?
- Canon Service Point im Rhein Main Gebiet gesucht
- 21. Foto-Kreativcontest Gegensätze "hell-dunkel" [VOTING]
- Sichel erstellen ... Anfänger
- Spyder4Pro: Zwei Monitore an einem PC kalbrieren
- Ein Spiel. Ich bestelle ein Bild.
- wie entferne ich den schwarzen Rahmen
- Anfängerfrage zum Color Wheel
- Bestimmte Pixel in HTML anfragen
- Sigma 18-35 1.8
- 2. HDR/LDR-Fotocontest 2013 "Es war einmal" [Voting]
- Kaufentscheidung Scanner A3
- Wie integriere ich ein Loading-Bild in einen bestehenden Upload Skript ?
- Displacement Map ruft seltsame Fragmente hervor
- Adobe kündigt neues Photoshop an
- Karteireiter links oder rechts
-
-
Aktuelles Commag
Anzeige
-
Anzeige










Social Media