Zurück   PSD-Tutorials.de > Webbereich > PHP und andere Scriptsprachen


Antwort
 
Themen-Optionen
Alt 14.06.2012, 09:19   #1 Nach oben scrollen
Newbie
Newbie
 
Benutzerbild von waldmannvonritter
 

Registriert seit: 13.08.2009
Ort: Oberasbach
Beiträge: 74
Kamera: Canon 40D
Verwendet: CS6 Master

Zufallsgenerator mit Prozentualer auswertungsbeeinflussung

Hallo 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>
den code hier (http://htmledit.squarefree.com/) einfach mal einbauen damit ihr sehn könnt was passiert.

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.
  Mit Zitat antworten


Alt 14.06.2012, 09:41   #2 Nach oben scrollen
Posting-Frequenz: 14µHz
Premium-SupporterPremium-SupporterPremium-SupporterPremium-SupporterPremium-Supporter
 
Benutzerbild von Duddle
 

Registriert seit: 03.02.2006
Ort: Dresden
Beiträge: 3.262
AW: Zufallsgenerator mit Prozentualer auswertungsbeeinflussung
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
  Mit Zitat antworten
Alt 14.06.2012, 10:02   #3 Nach oben scrollen
Newbie
Newbie
Themenstarter
 
Benutzerbild von waldmannvonritter
 

Registriert seit: 13.08.2009
Ort: Oberasbach
Beiträge: 74
Kamera: Canon 40D
Verwendet: CS6 Master
AW: Zufallsgenerator mit Prozentualer auswertungsbeeinflussung
danke! damit kann ich aufjedenfall schonmal was anfangen



gruß Tomas
__________________
Wer das Rauchen aufgibt, muss nach dem Sex reden.
  Mit Zitat antworten
Alt 16.06.2012, 14:39   #4 Nach oben scrollen
Helper
HelperHelper
 
Benutzerbild von Fidelis_jpg
 

Registriert seit: 02.09.2009
Ort: Nürnberg
Beiträge: 251
Kamera: Canon EOS 600D
Verwendet: Adobe Creative Suite CS6; Cinema 4D R11.5; Autodest Maya 2012
AW: Zufallsgenerator mit Prozentualer auswertungsbeeinflussung
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.
  Mit Zitat antworten
Antwort


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