Buon giorno a tutti.
Creo il form per il riconoscimento del codice captcha fin qui tutto ok, ma quando dovrebbe eseguire la delete questa
Codice PHP:
$stmt = $pdo->prepare("DELETE FROM validation WHERE url_key = ?");
$stmt->execute(array($_POST['token']));
dei codici scaduti si blocca.
Codice PHP:
if(isset($_POST['validate_token'])){
// Qui esegue la convalida
$stmt = $pdo->prepare("SELECT * FROM validation WHERE url_key = ? AND expire_date > NOW()"); $stmt->execute(array($_POST['token']));
$row = $stmt->fetch(PDO::FETCH_ASSOC);
if($row && ($row['captcha'] == $_POST['validate_token'])){
//echo "<script>alert('token corretto');< /script>";
}
else{
echo "<script>alert('caratteri validate NON corretti');
$('#reloadCaptcha').load(location.href+' #reloadCaptcha>*',''); </script>";
exit;
}
$stmt = $pdo->prepare("DELETE FROM validation WHERE url_key = ?");
$stmt->execute(array($_POST['token']));
}
// Elimino tutti i form dal database scaduti
$pdo->query("DELETE FROM validation WHERE expire_date <= NOW()");
// Genero casualmente un form per la tabella validation
$url_key = sha1(uniqid(rand(), true));
$captcha = random_string(6);
$stmt = $pdo->prepare("INSERT INTO validation (id, url_key, captcha, expire_date) VALUES ('', ?, ?, DATE_ADD(NOW(), INTERVAL 5 MINUTE))");
$stmt->execute(array($url_key, $captcha));
Dov'è il problema?
Grazie mille.