Ein Post pro Tag
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abgeben
adresse
benutzer
beschriebene problem
code
erledigen
freundin
garnichts
gewinnspiel
importieren
prinzip
rechner
router
speichern
stimme
stunden
tag
umsetzen
url
zahl
-
Guten Mittag liebe Community,
ich mache gerade zum PHP lernen ein kleines Gewinnspiel, was auch schon fast fertig ist. Ziel ist es, eine Zahl zu erraten. Nun möchte ich, dass jede IP nur einmal pro Tag eine Stimme abgeben darf. Da der Router ja jeden Tag wechselt, darf die IP theoretisch sogar gesperrt werden, oder?
Wie kann ich die Idee umsetzen?
Quelltext:
<body background="green.jpg"> <?php $nummer1=$_GET['eingabefeld1']; $nummer2='57'; if ($nummer1==$nummer2) { $antwort1='Du hast gewonnen! Du bekommst "Garnichts"! <br /> Besonders wenn man sich zu dick fühlt, ist "Garnichts" <br /> die beste Ernährung! Deine Bude ist zu voll? Stell einfach <br /> "Garnichts" hinein! Du willst deiner Freundin ein Geschenk machen, <br /> weisst aber nicht, was? Schenk ihr einfach "Garnichts!"<br /> Wie du siehst, ist "Garnichts" praktischer und vielseitiger <br /> als alles andere! Überigens: Wir importieren "Garnichts" aus <br /> den 3. Welt Ländern, denn die haben dort davon (leider) mehr als <br /> Genug!'; } if ($nummer1<$nummer2) { $antwort2='Die Zahl ist zu klein!'; } if ($nummer1>$nummer2) { $antwort3='Die Zahl ist zu gross!'; } if (!is_numeric($nummer1)) { $antwort4='Du musst eine Zahl eingeben!'; } ?> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Gewinnspiel</title> </head> <body background="green.jpg"> <Center> <b> <p> <h1> Gewinnspiel </h> </p> </b> <div style=position:absolute;top:0px;left:100px> <img src="selfmadescriptbanner.jpg"> </img> </div> <p> Errate die Zahl zwischen 1-100! Zu gewinnen gibt es zwar </br> nichts, aber es lohnt sich trotzdem (nicht)! </p> <form action="gewinnspiel.php" method="get"> <input type="text" name="eingabefeld1"> </input> <input type="submit"> </input> </form> <div style=color:green> <?php echo $antwort1; ?> </div> <div style=color:red> <?php echo $antwort2; ?> </div> <div style=color:red> <?php echo $antwort3; ?> </div> <div style=color:red> <?php echo $antwort4; ?> </div> </Center> </div> </div> </body> </html>
Freue mich auf hilfeiche Antworten.
mfg
Beitrag zuletzt geändert: 28.10.2011 14:37:11 von schinkenmedia -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Das kannst du erst später machen, denn irgendwo musst du die Information ja hinterlegen. Dafür empfiehlt sich eine Datenbank, aber um diese zu benutzen, solltest du etwas weiter sein.
Außerdem musst du den rechtlichen Mist bzgl. IP-Speicherung beachten.
Wenn es dir nur ums Prinzip geht, dann setze doch einen Cookie, der nach 24 Stunden abläuft. Zwar ist es so, dass man dann den Rechner oder Browser wechseln, bzw. einfach die Cookies löschen kann, und erneut spielen kann, aber für das Prinzip dürfte diese "Lösung" genügen. -
Hallo,
Aber ich bin mir nicht sicher, vielleicht könntest du die IP-Adresse mit md5 verschlüsseln und dann in eine mysql abspeichern! -
rankweil-1afel schrieb:
Hallo,
Aber ich bin mir nicht sicher, vielleicht könntest du die IP-Adresse mit md5 verschlüsseln und dann in eine mysql abspeichern!
Nochmal: Nein, auch verschlüsselt ist nicht erlaubt, da der "Besitzer" der IP weiterhin eindeutig identifizierbar bleibt. Allerdings ist es erlaubt, IP-Adressen temporär (bis zu 24-Stunden) zu speichern. Anschließend einfach löschen und noch einen Hinweis in die Datenschutzbestimmungen, dann ist das nicht mehr bedenklich... -
Willst du denn, dass pro IP nur eine Stimme abgegeben wird, oder pro Seitenbesucher?
Mit der IP ist eben das oben beschriebene Problem.
Andere Möglichkeiten einen Benutzer zu identifizieren, ist z.B. ein Cookie auf dem Rechner zu setzen, so können auch mehrere Rechner hinter einem Router teilnehmen. Ein Problem ist nur, wenn der Benutzer den Cookie abblockt oder ändern, es ist ja eine kleine Textdatei auf seinem Rechner.
Ich hoffe, ich konnte dir noch ein wenig helfen und dass ich nicht zu spät komme. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage