Ciljam na što jednostavnije sa malo koda, a što funkcionalnije i da bude lagano za implementaciju.
Ovo što sam uradio, ponaša se fino i čini mi se kao dobro rešenjce.
U pitanju je sinhronizovani mt_random na 3 različita mesta.
Ako je neko voljan da proba pa da mi kaže šta bi moglo ili ne mora više ništa da se odradi/doradi.
Hvala unapred.
PS: Setovano je d se menja na svakih 5 minuta (prva linija) .
<?php
mt_srand(floor(time() / (300)));
$obavestenje = "";
$broj = "";
$broj2 = mt_rand(101, 999);
function rndChars() {
$chars = array("+","-","+","-");
return $chars[mt_rand(0, 3)];
}
$operacija = rndChars();
$rezultat = mt_rand(1500, 11979);
if (isset($_POST['submit'])) {
$broj = $_POST['broj'];
$broj2 = $_POST['broj2'];
switch($operacija) {
case "-" : $case=("$broj"-"$broj2");break;
case "+" : $case=("$broj"+"$broj2");break;
}
if($broj == '')
{$obavestenje = 'Prazno ti je prvo polje, ne mož\' to tako...';}
else if ($case<>$rezultat)
{$obavestenje = 'Netačno. Digitron će ti pomoći. Pokušaj ponovo.';}
if ($obavestenje=='' && $case==$rezultat) {
$obavestenje = '☺ ☺ ☺ Yeeeey! ☺ ☺ ☺ ';}
}
echo
'<!DOCTYPE html>
<html lang="en">
<head><meta charset="utf-8">
<title>Anti-bot</title>
<style>body {margin:40px auto;width:600px;}
h1, h2, p {text-align:center;}
h2 {color:Red;} input.m {width:30px;}</style>
</head>
<body>
<h1>Antibot</h1>
<h2>'.$obavestenje.'</h2>
<form method="POST">
<p><b>Prosta matematika:</b>
<input name="broj" class="m" type="text" value="'.$broj.'" />
<b>'.$operacija.'</b>
<input readonly name="broj2" class="m" type="text" value="'.$broj2.'" />
<b> = '.$rezultat.'</b>
<input name="submit" type="submit" value="Proveri" /></p>
</form>
<p><a href="'.$_SERVER['REQUEST_URI'].'">Reset</a></p>
</body>
</html>';
?>