<?php
session_start();
error_reporting(E_ALL);
//Database gegevens.
$db_host = ''; // je eigen server
$db_user = ''; // je eigen gebruikersnaam
$db_pass = ''; // je eigen password
$db_name = ''; // je eigen database naam
mysql_connect($db_host, $db_user, $db_pass) or die('Er kon geen verbinding met de server worden gemaakt.');
mysql_select_db($db_name) or die('Ik kon de juiste database niet vinden.');
//Functie om random nummers te genereren.
function randomgenerator()
{
//Eerst maken we 3 arrays met gegevens.
$kleineletters = range('a','z');
$groteletters = range('A','Z');
$cijfers = range(0,9);
//Prop ze bij elkaar en tel ze.
$karakters = array_merge($kleineletters, $groteletters, $cijfers);
$aantal = count($karakters)-1;
$random = null;
//Voor ieder teken dat we willen maken pakken we een random nummertje.
for($i=0; $i < 10; $i++) {
$random .= $karakters[mt_rand(0, $aantal)];
}
return $random;
}
$query = "SELECT (UNIX_TIMESTAMP(now()) - UNIX_TIMESTAMP(datum)) AS seconden FROM tabel WHERE id = 1";
$resultaat = mysql_query($query);
if ($resultaat)
{
$aantal = mysql_num_rows($resultaat);
}else{
$aantal = 0;
}
if($aantal == 1)
{
while($rij = mysql_fetch_array($resultaat))
{
$seconden = $rij['seconden'];
}
}
echo $seconden.'<br>';
if(isset($seconden))
{
if($seconden >= 60)
{
$random = sha1(randomgenerator());
$query = "UPDATE tabel SET code = '".$random."', datum = now() WHERE id = 1";
$resultaat = mysql_query($query);
if (mysql_affected_rows() == 1)
{
//U mag nu een hele minuut met de knopjes spelen!
$_SESSION['code'] = $random;
}
}
}
if(isset($_SESSION['code']))
{
$query = "SELECT * FROM tabel WHERE code = '".$_SESSION['code']."' and id = 1";
$resultaat = mysql_query($query);
$aantal = mysql_num_rows($resultaat);
if($aantal == 1)
{
echo 'U heeft nu de besturing!';
}else{
echo 'Sorry, iemand anders heeft op dit moment de besturing overgenomen!';
}
}else{
echo 'Ey, dit kan niet!';
}
?>
Helaas moest ik weg, en ga ik nu weer weg dus zo'n efficient is bovenstaande code ook niet ,maarja.. moet iemand anders maar ff naar kijken.
CREATE TABLE tabel (
id tinyint(4) NOT NULL auto_increment,
code varchar(40) NOT NULL,
datum datetime NOT NULL,
PRIMARY KEY (id)
)
INSERT INTO tabel VALUES (1, 0, NOW());