iets 1x per 24 uur mogelijk maken

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Remco van Lent

Remco van Lent

24/04/2007 18:47:00
Quote Anchor link
Hallo,

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
 
PHP hulp

PHP hulp

29/04/2024 05:44:34
 
Benny Lava

Benny Lava

24/04/2007 18:52:00
Quote Anchor link
Ja het is mogelijk, maar wil je dat de credits automatich per 1/24 worden geupdate of pas als iemand op een link klikt en controlleerd of het na de 24 uur is?

Iets meer informatie graag, maar weet niet of iemand het voor je gaat programeren gratis of je moet zelf al iets hebben.
 
Remco van Lent

Remco van Lent

24/04/2007 19:11:00
Quote Anchor link
Oke iets meer info.
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
 
TJVB tvb

TJVB tvb

24/04/2007 19:19:00
Quote Anchor link
1 keer voor die user of 1 keer vanaf een bepaalde pc (waarbij 1 user dus vanaf verschillende pc's die credits kan krijgen)
 
Remco van Lent

Remco van Lent

24/04/2007 19:27:00
Quote Anchor link
1x van een PC idd

Dus eigenlijk een soort IP Ban van 24 uur
Gewijzigd op 01/01/1970 01:00:00 door Remco van Lent
 
Leroy Boerefijn

Leroy Boerefijn

24/04/2007 19:48:00
Quote Anchor link
je kunt het denk ik beter op de pagina in het spel doen..

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
 
Remco van Lent

Remco van Lent

24/04/2007 19:50:00
Quote Anchor link
Ik heb al dit
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
setcookie ("Credits", $value,time()+86400;  /* verloopt in 24 uur */
?>
Maar nou moet er een bericht komen als die cookie er nog is iemand een idee?
 
TJVB tvb

TJVB tvb

24/04/2007 20:01:00
Quote Anchor link
Remco van Lent schreef op 24.04.2007 19:50:
Ik heb al dit
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
setcookie ("Credits", $value,time()+86400;  /* verloopt in 24 uur */
?>
Maar nou moet er een bericht komen als die cookie er nog is iemand een idee?

Met cookies doe je zo
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?
if($_COOKIE['Credits'] < time()){
     //hier de rest van je credits
}
?>

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)
PHP script in nieuw venster Selecteer het PHP script
1
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`)
}


Dan de code
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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
}
?>


Ps. Dit is niet getest
 
Cake Masher

Cake Masher

24/04/2007 20:18:00
Quote Anchor link
Remco van Lent schreef op 24.04.2007 19:50:
Ik heb al dit
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
setcookie ("Credits", $value,time()+86400;  /* verloopt in 24 uur */
?>
Maar nou moet er een bericht komen als die cookie er nog is iemand een idee?


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

Remco van Lent

24/04/2007 20:24:00
Quote Anchor link
Het is gelukt
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?
/* Created By Remco for Mitchel */
setcookie ("habbocredits", true, time()+86400);  /* verloopt in 24 uur */
if ($_COOKIE["habbocredits"] != "")
{

    echo "<h3>Error</h3>";
    echo "U hebt de afgelopen 24 uur al een keer credits gehad. Probeer u het later nog eens.";
}

?>
Dank jullie voor jullie hulp
Gewijzigd op 01/01/1970 01:00:00 door Remco van Lent
 
TJVB tvb

TJVB tvb

24/04/2007 20:40:00
Quote Anchor link
Remco van Lent schreef op 24.04.2007 20:24:
Het is gelukt
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?
/* Created By Remco for Mitchel */
setcookie ("habbocredits", true, time()+86400);  /* verloopt in 24 uur */
if ($_COOKIE["habbocredits"] != "")
{

    echo "<h3>Error</h3>";
    echo "U hebt de afgelopen 24 uur al een keer credits gehad. Probeer u het later nog eens.";
}

?>
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
 
GaMer B

GaMer B

24/04/2007 20:46:00
Quote Anchor link
Je kunt ook een combinatie maken van database en session... Zo heb je redelijke fool-proof systeempjes.
 
Leroy Boerefijn

Leroy Boerefijn

24/04/2007 20:54:00
Quote Anchor link
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
 
Martijn B

Martijn B

24/04/2007 21:30:00
Quote Anchor link
Als je de beschikking hebt over MySQL 5.2 probeer het dan eens met events ongeveer dezelfde dingen als cronjobs.
 
Mitchelp

Mitchelp

25/04/2007 20:10:00
Quote Anchor link
Tobias schreef op 24.04.2007 20:01:
Remco van Lent schreef op 24.04.2007 19:50:
Eerst de tabel
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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`)
}


Wat is er MIS met deze .sql????
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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`)
}
Gewijzigd op 01/01/1970 01:00:00 door Mitchelp
 
Remco van Lent

Remco van Lent

25/04/2007 20:56:00
Quote Anchor link
Tobias schreef op 24.04.2007 20:01:
Remco van Lent schreef op 24.04.2007 19:50:
Ik heb al dit
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
setcookie ("Credits", $value,time()+86400;  /* verloopt in 24 uur */
?>
Maar nou moet er een bericht komen als die cookie er nog is iemand een idee?

Met cookies doe je zo
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?
if($_COOKIE['Credits'] < time()){
     //hier de rest van je credits
}
?>

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)
PHP script in nieuw venster Selecteer het PHP script
1
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`)
}


Dan de code
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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
}
?>


Ps. Dit is niet getest

Ik heb een config gemaakt
en ingevoegd met require.
maar ik krijg deze error
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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
 
TJVB tvb

TJVB tvb

25/04/2007 21:01:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
 
Remco van Lent

Remco van Lent

25/04/2007 21:16:00
Quote Anchor link
Das gek want het klopt wel:S
 
Hipska BE

Hipska BE

25/04/2007 21:42:00
Quote Anchor link
je vult je password niet in blijkbaar
 
Menno

menno

25/04/2007 22:03:00
Quote Anchor link
Naja ik zit eigenlijk ook een beetje vast
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)
PHP script in nieuw venster Selecteer het PHP script
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
<?
$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
 
Remco van Lent

Remco van Lent

26/04/2007 13:21:00
Quote Anchor link
ik heb het met de hand ingevoegd:P

ff script op zoeken


edit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
-- 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`
--
Gewijzigd op 01/01/1970 01:00:00 door Remco van Lent
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.