iets 1x per 24 uur mogelijk maken
Ik wil graag een systeem maken dat je 1x per 24 uur Credits kan krijgen. deze credits krijg je 1x gratis voor een Crime game maar nu wil ik het zo maken dat het ook maar 1x mogelijk is Bijvoorbeeld met een Cookie of IP ban van 24 uur.. is dit mogelijk zo ja heeft iemand voor mij zoon scripje?????
Gr Remco
Iets meer informatie graag, maar weet niet of iemand het voor je gaat programeren gratis of je moet zelf al iets hebben.
Er komt een LINK op de site.. daar klik je op dan krijg je een code te zien die je in je Game kan invullen als die code goed is ontvang je 500 game credits...
maar deze optie is maar 1x per 24uur mogelijk is en niet 2 of 3x
Gr remco
1 keer voor die user of 1 keer vanaf een bepaalde pc (waarbij 1 user dus vanaf verschillende pc's die credits kan krijgen)
je moet dan eerst een veld toevoegen in je table.. met een tijd erin.
als je credits ontvangt, kijk je eerst of de tijd uit de table + 24 uur al verstreken is,
zo ja: credits ontvangen en tijd updaten
zo nee: bericht weergeven dat je niet meer dan 1X per 24 uur credits kunt ontvangen!
gr. leroy
Maar nou moet er een bericht komen als die cookie er nog is iemand een idee?
Remco van Lent schreef op 24.04.2007 19:50:
Met cookies doe je zo
Maar op IP is in het algemeen sterker. Want wat wil je met gebruikers die (net zoals ik) een addon hebben waarmee ze in 2 klikken de cookies gewist hebben?
Dit is op IP wat het opslaat in een tabel
Eerst de tabel
Code (php)
1
2
3
4
5
6
2
3
4
5
6
CREAT TABLE `credits` {
`id` int(11) NOT NULL auto_increment,
`ip` VARCHAR(15) NOT NULL,
`moment` timestamp NOT NULL default CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
}
`id` int(11) NOT NULL auto_increment,
`ip` VARCHAR(15) NOT NULL,
`moment` timestamp NOT NULL default CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
}
Dan de code
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?
$toegestaan = false; //of de link mag
$query = "SELECT id, moment FROM credits WHERE ip=".$_SERVER['REMOTE_ADDR']." LIMIT 1";
$result = mysql_fetch_array(mysql_query($query));
if($result['ip'] == $_SERVER['REMOTE_ADDR']){
if($result['moment']<(time()-86400)){ //60*60*24=86400
$toegestaan = true;
$query = "UPDATE credits SET `moment`=".time()." WHERE id=".$result['id']." LIMIT 1";
mysql_query($query);
}
}else{
$toegestaan = true;
$query = "INSERT INTO credits VALUES(``,`".$_SERVER['REMOTE_ADDR']."`,`".time()."`)";
mysql_query($query);
}
if($toegestaan){
//hier dan het ophogen van de credits
}
?>
$toegestaan = false; //of de link mag
$query = "SELECT id, moment FROM credits WHERE ip=".$_SERVER['REMOTE_ADDR']." LIMIT 1";
$result = mysql_fetch_array(mysql_query($query));
if($result['ip'] == $_SERVER['REMOTE_ADDR']){
if($result['moment']<(time()-86400)){ //60*60*24=86400
$toegestaan = true;
$query = "UPDATE credits SET `moment`=".time()." WHERE id=".$result['id']." LIMIT 1";
mysql_query($query);
}
}else{
$toegestaan = true;
$query = "INSERT INTO credits VALUES(``,`".$_SERVER['REMOTE_ADDR']."`,`".time()."`)";
mysql_query($query);
}
if($toegestaan){
//hier dan het ophogen van de credits
}
?>
Ps. Dit is niet getest
Remco van Lent schreef op 24.04.2007 19:50:
Wat nou als ik die cookie steeds verwijder?
Edit:
Misschien kan je wat met Cron Job loope kloote?
Gewijzigd op 01/01/1970 01:00:00 door Cake Masher
Remco van Lent schreef op 24.04.2007 20:24:
Het is gelukt
Dank jullie voor jullie hulp
Dank jullie voor jullie hulp
Je weet dat dit vraagt om problemen, zeker bij online games proberen mensen er altijd omheen te gaan (spreek helaas uit ervaring)
En die cookies zijn dus waarschijnlijk niet goed als enige beveiliging. Maar als het wel genoeg dan heb je geluk (en hele nette gebruikers).
Veel succes
Je kunt ook een combinatie maken van database en session... Zo heb je redelijke fool-proof systeempjes.
als ik jouw spel ga spelen zal ik idd gewoon die cookies verwijderen, of de cookie aanpassen :) dan krijg ik zoveel credits als ik zelf wil :P
Als je de beschikking hebt over MySQL 5.2 probeer het dan eens met events ongeveer dezelfde dingen als cronjobs.
Tobias schreef op 24.04.2007 20:01:
Wat is er MIS met deze .sql????
Code (php)
1
2
3
4
5
6
2
3
4
5
6
CREAT TABLE `credits` {
`id` int(11) NOT NULL auto_increment,
`ip` VARCHAR(15) NOT NULL,
`moment` timestamp NOT NULL default CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
}
`id` int(11) NOT NULL auto_increment,
`ip` VARCHAR(15) NOT NULL,
`moment` timestamp NOT NULL default CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
}
Gewijzigd op 01/01/1970 01:00:00 door Mitchelp
Tobias schreef op 24.04.2007 20:01:
Met cookies doe je zo
Maar op IP is in het algemeen sterker. Want wat wil je met gebruikers die (net zoals ik) een addon hebben waarmee ze in 2 klikken de cookies gewist hebben?
Dit is op IP wat het opslaat in een tabel
Eerst de tabel
Dan de code
Ps. Dit is niet getest
Remco van Lent schreef op 24.04.2007 19:50:
Met cookies doe je zo
Maar op IP is in het algemeen sterker. Want wat wil je met gebruikers die (net zoals ik) een addon hebben waarmee ze in 2 klikken de cookies gewist hebben?
Dit is op IP wat het opslaat in een tabel
Eerst de tabel
Code (php)
1
2
3
4
5
6
2
3
4
5
6
CREAT TABLE `credits` {
`id` int(11) NOT NULL auto_increment,
`ip` VARCHAR(15) NOT NULL,
`moment` timestamp NOT NULL default CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
}
`id` int(11) NOT NULL auto_increment,
`ip` VARCHAR(15) NOT NULL,
`moment` timestamp NOT NULL default CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
}
Dan de code
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?
$toegestaan = false; //of de link mag
$query = "SELECT id, moment FROM credits WHERE ip=".$_SERVER['REMOTE_ADDR']." LIMIT 1";
$result = mysql_fetch_array(mysql_query($query));
if($result['ip'] == $_SERVER['REMOTE_ADDR']){
if($result['moment']<(time()-86400)){ //60*60*24=86400
$toegestaan = true;
$query = "UPDATE credits SET `moment`=".time()." WHERE id=".$result['id']." LIMIT 1";
mysql_query($query);
}
}else{
$toegestaan = true;
$query = "INSERT INTO credits VALUES(``,`".$_SERVER['REMOTE_ADDR']."`,`".time()."`)";
mysql_query($query);
}
if($toegestaan){
//hier dan het ophogen van de credits
}
?>
$toegestaan = false; //of de link mag
$query = "SELECT id, moment FROM credits WHERE ip=".$_SERVER['REMOTE_ADDR']." LIMIT 1";
$result = mysql_fetch_array(mysql_query($query));
if($result['ip'] == $_SERVER['REMOTE_ADDR']){
if($result['moment']<(time()-86400)){ //60*60*24=86400
$toegestaan = true;
$query = "UPDATE credits SET `moment`=".time()." WHERE id=".$result['id']." LIMIT 1";
mysql_query($query);
}
}else{
$toegestaan = true;
$query = "INSERT INTO credits VALUES(``,`".$_SERVER['REMOTE_ADDR']."`,`".time()."`)";
mysql_query($query);
}
if($toegestaan){
//hier dan het ophogen van de credits
}
?>
Ps. Dit is niet getest
Ik heb een config gemaakt
en ingevoegd met require.
maar ik krijg deze error
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\Program Files\xampp\htdocs\mitchel\index.php on line 4
Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in C:\Program Files\xampp\htdocs\mitchel\index.php on line 4
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Program Files\xampp\htdocs\mitchel\index.php on line 4
Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\Program Files\xampp\htdocs\mitchel\index.php on line 14
Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in C:\Program Files\xampp\htdocs\mitchel\index.php on line 14
Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in C:\Program Files\xampp\htdocs\mitchel\index.php on line 4
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Program Files\xampp\htdocs\mitchel\index.php on line 4
Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\Program Files\xampp\htdocs\mitchel\index.php on line 14
Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in C:\Program Files\xampp\htdocs\mitchel\index.php on line 14
Code (php)
1
Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\Program Files\xampp\htdocs\mitchel\index.php on line 4
De bovenstaande warning laat zien dat je geen connectie hebt met je database. Of in ieder geval dat je user/password combinatie niet goed is
Das gek want het klopt wel:S
je vult je password niet in blijkbaar
ik gebruik dit script nu ook even om te testen, en ik denk dat ik hem verkeerd gebruik want hij voegt niks toe in de db en ik krijg een error voor datetime fout
ik heb de sql precies als de sql code die jullie hebben gemaakt, naja de typfouten eruit gehaald zoals CREAT TABLE inplaats van CREATE :P
maar dit is de error:
Incorrect datetime value: '1177531288' for column 'moment' at row 1
Owja, dit is de eerste keer dat ik met timestamp enzo werkt dus ik zoek ook nog goede tut maar dat is ook nog moeilijk :P maja ik blijf zoeken
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?
$toegestaan = false; //of de link mag
$query = mysql_query("SELECT * FROM stemmen WHERE ip='".$_SERVER['REMOTE_ADDR']."' LIMIT 1")or die(mysql_error());
$result = mysql_fetch_assoc($query);
if($result['ip'] == $_SERVER['REMOTE_ADDR']){
if($result['moment']<(time()-86400)){ //60*60*24=86400
$toegestaan = true;
$query = "UPDATE stemmen SET `moment`=".time()." WHERE id=".$result['id']." LIMIT 1";
mysql_query($query);
}
}else{
$toegestaan = true;
$query = "INSERT INTO stemmen VALUES(``,`".$_SERVER['REMOTE_ADDR']."`,`".time()."`)";
mysql_query($query);
}
if($toegestaan){
$sql_select_stemmen = "SELECT * FROM leden WHERE naam='".$_GET['m']."'";
$res_select_stemmen = mysql_query($sql_select_stemmen) or die (mysql_error());
$row_select_stemmen = mysql_fetch_assoc($res_select_stemmen);
$nieuw_aantal = $row_select_stemmen['punten'] + $_GET['s'];
$update_stemmen = "UPDATE leden SET punten='".$nieuw_aantal."' WHERE naam='".$_GET['m']."'";
mysql_query($update_stemmen)or die (mysql_error());
$query1 = "INSERT INTO stemmen (ip,moment) VALUES('".$_SERVER['REMOTE_ADDR']."','".time()."')";
mysql_query($query1)or die(mysql_error());
echo "Je hebt succesvol op ".$_GET['m']." gestemd, zijn punten zijn nu ".$nieuw_aantal."";
}
?>
$toegestaan = false; //of de link mag
$query = mysql_query("SELECT * FROM stemmen WHERE ip='".$_SERVER['REMOTE_ADDR']."' LIMIT 1")or die(mysql_error());
$result = mysql_fetch_assoc($query);
if($result['ip'] == $_SERVER['REMOTE_ADDR']){
if($result['moment']<(time()-86400)){ //60*60*24=86400
$toegestaan = true;
$query = "UPDATE stemmen SET `moment`=".time()." WHERE id=".$result['id']." LIMIT 1";
mysql_query($query);
}
}else{
$toegestaan = true;
$query = "INSERT INTO stemmen VALUES(``,`".$_SERVER['REMOTE_ADDR']."`,`".time()."`)";
mysql_query($query);
}
if($toegestaan){
$sql_select_stemmen = "SELECT * FROM leden WHERE naam='".$_GET['m']."'";
$res_select_stemmen = mysql_query($sql_select_stemmen) or die (mysql_error());
$row_select_stemmen = mysql_fetch_assoc($res_select_stemmen);
$nieuw_aantal = $row_select_stemmen['punten'] + $_GET['s'];
$update_stemmen = "UPDATE leden SET punten='".$nieuw_aantal."' WHERE naam='".$_GET['m']."'";
mysql_query($update_stemmen)or die (mysql_error());
$query1 = "INSERT INTO stemmen (ip,moment) VALUES('".$_SERVER['REMOTE_ADDR']."','".time()."')";
mysql_query($query1)or die(mysql_error());
echo "Je hebt succesvol op ".$_GET['m']." gestemd, zijn punten zijn nu ".$nieuw_aantal."";
}
?>
Gewijzigd op 01/01/1970 01:00:00 door menno
ff script op zoeken
edit:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
-- phpMyAdmin SQL Dump
-- version 2.9.0.1
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generatie Tijd: 26 Apr 2007 om 13:22
-- Server versie: 5.0.24
-- PHP Versie: 5.1.6
--
-- Database: `mitchel`
--
-- --------------------------------------------------------
--
-- Tabel structuur voor tabel `credits`
--
CREATE TABLE `credits` (
`id` int(11) NOT NULL,
`ip` varchar(15) collate latin1_general_ci NOT NULL,
`moment` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
--
-- Gegevens worden uitgevoerd voor tabel `credits`
--
-- version 2.9.0.1
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generatie Tijd: 26 Apr 2007 om 13:22
-- Server versie: 5.0.24
-- PHP Versie: 5.1.6
--
-- Database: `mitchel`
--
-- --------------------------------------------------------
--
-- Tabel structuur voor tabel `credits`
--
CREATE TABLE `credits` (
`id` int(11) NOT NULL,
`ip` varchar(15) collate latin1_general_ci NOT NULL,
`moment` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
--
-- Gegevens worden uitgevoerd voor tabel `credits`
--
Gewijzigd op 01/01/1970 01:00:00 door Remco van Lent