Diebspiel-System Beschreibung

Creere

Mitglied
Hallo erstmal,

Ich wollte gerne wissen wie ein "Diebspiel System" genau funktioniert.
Die Umsetzung ist kein Problem und ich hab auch schon die Anmeldung
gemacht. Nur brauch ich jetz nocht eine etwaige Beschreibung für den
"Dieb Link". Also für die, die es noch nicht verstanden haben mit Diebspiel
ist gemeind, dass sich jemand auf meiner Page anmeldet dieser er erhält
dann einen link den er an andere schicken kann wenn sie drauf gehen werden
sie von dem Besitzer des links "beklaut" was natürlich nur mit ner reloadsperre
von z.B. 6 Stunden funktioniert. So lala weiss ich das auch mit dem IP lock in der
Datenbank aber naja nicht so genau :-)

Danke für die Ideen im Voraus Creere ! ;)
 
reptiler hat gesagt.:
Was wird diesen Leuten denn "geklaut"
Nichts Reeles; Denken, Phantasie und Spaß am Sinnlosen sind hier gefragt :)
reptiler hat gesagt.:
Und was hat man davon?
Wie bei so vielen Dingen im Leben, nichts.
reptiler hat gesagt.:
Wer will sowas ueberhaupt spielen?
Scheinbar gibts genügend Leute, da ich schon massig solcher Links erhalten habe.

Hier der letzte, kannst ja mal bei Info schauen und dich belesen: Klick
 
Das da nichts reelles geklaut wird war mir schon klar.

Ich mein ja nur, dass diese Art Spiel wirklich jegliche Art Sinn vermissen laesst.
Da kann man besser gegen sich selbst Schach spielen wenn man nichts zu tun hat. ;)

Naja, von Sinn und Unsinn dieses Systems mal abgesehen, dass ganze wird dann wohl so aussehen wie Voodoo bereits beschrieben hat.

Ich versuch das mal in etwas Code und eine kleine DB-Struktur zu packen.
Die Frage ist nur wie genau die Reload-Sperre realisiert werden soll.
Da gaebe es zum einen die guten, alten Cookies, welche aber vom User abgewiesen, bzw. geloescht werden koennen.
Dann gibt es noch die IP, welche man aber auch ohne weiteres durch eine erneute Einwahl aendern kann. Daher ist wohl keine der beiden Loesungen "der Stein der Weisen".

Ich nutze jetzt mal die Variante mit der IP, da Du diese ja bereits angesprochen hast.

Datenbank-Aufbau:
Tabelle users:
id INT
username VARCHAR
password VARCHAR
email VARCHAR
punkte INT

Tabelle ips:
ip VARCHAR
userid INT
clicktime TIMESTAMP

Okay, here we go...
Die Registrierung und das Login lass ich jetzt mal weg. Und auch auf die Datenbank-Verbindung verzichte ich jetzt einfach mal.

stats.php (diese Seite wird nach dem Login aufgerufen, $_SESSION['id'] enthaelt die ID des eingeloggten Users):
PHP:
<?php
if (isset($_SESSION['id']))
 {
  $id=$_SESSION['id'];
  $users=mysql_query("select * from users where id='$id'");
  $user=mysql_fetch_assoc($users);
  if (empty($user))
   {
    //header() zum Login/zur Registrierung
   }
  printf("%s<hr>%s Punkte",$user['username'],$user['punkte']);
  ?>
  <form method="post" action="mail.php">
  <input type="input" name="mail">
  <input type="submit" name="send" value="Abschicken">
  </form>
  <?php
 }
else
 {
  //header() zum Login/zur Registrierung
 }
?>

mail.php:
PHP:
<?php
if (isset($_SESSION['id']))
 {
  $id=$_SESSION['id'];
  $users=mysql_query("select * from users where id='$id'");
  $user=mysql_fetch_assoc($users);
  if (empty($user))
   {
    //header() zum Login/zur Registrierung
   }
  if (!empty($_POST['mail']))
   {
    $mail=$_POST['mail'];
    $text=$user['username']." hat Dich eingeladen am Diebspiel teilzunehmen.\nSeine eMail-Adresse ist ".$user['email'].", nur fuer den Fall, dass die ihn kontaktieren willst.\nUm Dich von ".$user['username']." beklauen zu lassen bitte klicke auf folgenden Link: http://www.wasweissich.de/beklaumich.php?user=".$user['id'];
    mail($mail,"Einladung zum Diebspiel",$text);
   }
  header("Location:stats.php");
 }
else
 {
  //header() zum Login/zur Registrierung
 }
?>

beklaumich.php:
PHP:
<?php
if (isset($_GET['user']))
 {
  $id=$_GET['user'];
  $users=mysql_query("select * from users where id='$id'");
  $user=mysql_fetch_assoc($users);
  $ip=$_SERVER['REMOTE_ADDR']; //oder so aehnlich
  $oldtime=time()-21600;
  $iplocks=mysql_query("select * from ips where ip='$ip' and clicktime>'$oldtime'");
  $iplock=mysql_fetch_assoc($iplocks);
  if ((!empty($user)) && ($empty($iplock)))
   {
    $user['punkte']++;
    mysql_query("update users set punkte='".$user['punkte']."' where id='id'");
    $clicktime=time();
    mysql_query("insert into ips (ip,userid,clicktime) values ('$ip','$id','$clicktime')");
    echo "Danke!<br>";
    //echo Link zum Login/zur Registrierung
   }
 }
?>

Ungefaehr so. Ich uebernehme keine Gewaehr ob das so funktioniert. Hab das ohne Testumgebung geschrieben, halt so aus dem Stehgreif.
 
Zuletzt bearbeitet:
Zurück