User mit Punkten belohnen bei speicherung
Hallo <3
Ich denke, bzw hoffe, dass mir hier wie immer super geholfen wird.
Diesmal möchte ich gerne wissen, wie man es umsetzen kann, dass User mit Punkten belohnt werden, sobald sie zum Beispiel etwas speichen (Formular absenden) oder sonstiges.
Ich hab nur den Quellcode gefunden, weiss aber nicht, wie ich es umsetzen muss:
Sollte jetzt nicht fürs GB sein, sondern einfach die Punktezahl manuell in einem Formailer einbauen <3
Gruss Raffy
Ich denke, bzw hoffe, dass mir hier wie immer super geholfen wird.
Diesmal möchte ich gerne wissen, wie man es umsetzen kann, dass User mit Punkten belohnt werden, sobald sie zum Beispiel etwas speichen (Formular absenden) oder sonstiges.
Ich hab nur den Quellcode gefunden, weiss aber nicht, wie ich es umsetzen muss:
|
|
PHP-Quelltext |
1 2 3 |
$userinfo=$DB->fetch_array($DB->query("SELECT * FROM ".$db_tab['user']." WHERE user_id='".$USER['id']."'"));
if ($userinfo['psp_aktiv']==1) {
$DB->query("UPDATE ".$db_tab['user']." SET psp_punkte=psp_punkte+".$psp_info['psp_gbeintrag']." WHERE user_id ='".$USER['id']."'");
|
Sollte jetzt nicht fürs GB sein, sondern einfach die Punktezahl manuell in einem Formailer einbauen <3
Gruss Raffy
Hallo Raffy, da ich gerne mit dem Punktesystem arbeite kann ich dir das gut empfehlen und zwar dorthin beim formmailer hinzusetzen wo die Insert Into zeile mit ist also darunter
Also mach die Abfrage so:
die Variable $punkteverteilen ist der Wert der verteilt wird.
Also mach die Abfrage so:
|
|
PHP-Quelltext |
1 2 3 4 5 |
$punkteverteilen = '5';
$userinfo=$DB->fetch_array($DB->query("SELECT * FROM ".$db_tab['user']." WHERE user_id='".$USER['id']."'"));
if ($userinfo['psp_aktiv']==1) {
$DB->query("UPDATE ".$db_tab['user']." SET psp_punkte=psp_punkte+".$punkteverteilen." WHERE user_id ='".$USER['id']."'");
}
|
die Variable $punkteverteilen ist der Wert der verteilt wird.
Dazu muss man erstmal einen configurationsbereich haben wo man erstmal die anzahl angibt und das dann das limit gezählt wird. und nächsten tag dann wieder auf 0 gesetzt wird. Dazu müsste man noch mit Zeit arbeiten. habe grad den code nicht zur Hand, sonst könnte ich ihn dir auf die schnelle vorbereiten. habe sowas nämlich auch schon realisiert bei meinem sammelkarten-addon auf http://animalcrossing-town.de dort kann man sich sammelkarten kaufen also das wären 3x3 packs an sammelkarten pro tag. und 0uhr wird das dann zurückgesetzt.
Du erstellt in der Tabelle user eine neue tabelle zb. userlimit
Dann lässt du diese bei jeden post hochzählen also userlimit+1
dann eine abfrage if(userlimit < 6) gib punkte else gib keine punkte mehr.
und dann legst du nen cronjob an der dir immer zb um 0:01 die tabelle userlimit wieder auf 0 setzt.
Das war jetzt mal so auf die schnelle wie man es umsetzen kann.
Dann lässt du diese bei jeden post hochzählen also userlimit+1
dann eine abfrage if(userlimit < 6) gib punkte else gib keine punkte mehr.
und dann legst du nen cronjob an der dir immer zb um 0:01 die tabelle userlimit wieder auf 0 setzt.
Das war jetzt mal so auf die schnelle wie man es umsetzen kann.
Seit 02.07.2010 Papa einer süssen Tocher !!!!
http://www.burnerfm.de
Mit den besten Hits der 80´s, 90´s und von heute. Plus einigen PHPKit Addons... uvm.
Mit den besten Hits der 80´s, 90´s und von heute. Plus einigen PHPKit Addons... uvm.
Ich hab das bei mir so lösen können:
ersteres wird bei mir mit $nextdate in die DB gespeichert.
und meine phpdatei die beim laden der seite das abfragt:
dieses setzt dann das limit wieder auf 0 und es funktioniert bei mir einwandfrei ohne Probleme.
|
|
PHP-Quelltext |
1 2 3 4 5 6 7 |
$thistime = time();
$thismonth = date("m" , $thistime);
$nextday = date("d" , $thistime)+1;
$hour = 0;
$minute = 0;
$second = 0;
$nextdate = mktime ($hour, $minute, $second, $thismonth, $nextday);
|
ersteres wird bei mir mit $nextdate in die DB gespeichert.
und meine phpdatei die beim laden der seite das abfragt:
|
|
PHP-Quelltext |
1 2 3 4 5 6 7 8 9 10 11 12 13 |
$thistime = time();
$pay = $DB->fetch_array($DB->query("SELECT cardsnormalpayday, cardsspecialpayday FROM ".$db_tab['user']." WHERE user_id='".$USER['id']."'"));
$cardsnormalpayday = $pay['cardsnormalpayday']; #Zeit für Normale Karten
$cardsspecialpayday = $pay['cardsspecialpayday'];#Zeit für Specialkarten
if ($cardsnormalpayday <= $thistime) {
$DB->query("UPDATE ".$db_tab['user']." SET daycardsnormalpay='0' WHERE user_id='".$USER['id']."'");
}
if ($cardsspecialpayday <= $thistime) {
$DB->query("UPDATE ".$db_tab['user']." SET daycardsspecialpay='0' WHERE user_id='".$USER['id']."'");
}
|
dieses setzt dann das limit wieder auf 0 und es funktioniert bei mir einwandfrei ohne Probleme.
|
|
PHP-Quelltext |
1 |
$DB->query("UPDATE ".$db_tab['user']." SET userlimit='0'");
|
Seit 02.07.2010 Papa einer süssen Tocher !!!!
http://www.burnerfm.de
Mit den besten Hits der 80´s, 90´s und von heute. Plus einigen PHPKit Addons... uvm.
Mit den besten Hits der 80´s, 90´s und von heute. Plus einigen PHPKit Addons... uvm.

- 1
- 2

Ähnliche Themen
-
Plauderecke »-
phpkitcenter.de ist wieder da aaaaaahhhhhhhhhhh
(6. Februar 2010, 13:29)
-
Web | Programmierung »-
Bannsystem |time() -> 7 Tage, 14 Tage usw.
(6. Mai 2010, 22:46)
-
Web | Programmierung »-
Highscoreliste
(3. Januar 2009, 14:26)
-
Web | Programmierung »-
Suche einen PHP Coder
(11. Oktober 2008, 22:10)



