Bonjour, voilà je cherche à bloquer l'action d'un membre jusqu'a minuit passé, en bloquant l'ip.
Mais voila je ne sais pas du tout comment faire.
Enfait actuelement le membre peut voter mais lors du rafraichissement de la page il peut a de nouveau voté.
Comment faire cela? merci beaucoup.
je n'arrive pas à inserer la date du vote dans la table membre lors du vote.
Enfait, je ne comprends pas comment inséré cette date, voici mon script php qui incrémente le vote dans une table vote et devrais mettre la date du vote dans la table membre.
<?php
// Traitement des POST
if(!isset($_POST['cle'])) {
header('Location: ./');
die('-1');
}
$cle = get_magic_quotes_gpc() ? $_POST['cle'] : addslashes($_POST['cle']);
$vote = isset($_POST['vote']);
$derniere_ip = isset($_SERVER['REMOTE_ADDR']) ? (int)ip2long($_SERVER['REMOTE_ADDR']) : -1;
$datevote1= isset( // ligne vide, je devrais indiqué la varible de la date, mais comment?
// Connexion a la DB
$mysqli = new mysqli('***************', '*****', '*****', '**********');
if($mysqli->connect_error) {
die('Erreur de connexion (' . $mysqli->connect_errno . ') ' . $mysqli->connect_error);
}
// Traitement en DB
$vote_votes = 0;
if($result = $mysqli->query("SELECT * FROM vote WHERE cle = '{$cle}' LIMIT 1 ")) {
if($result->num_rows) {
// Mise a jour
$obj = $result->fetch_object();
$vote_votes = (int)$obj->votes;
if($vote) {
if (isset($_SESSION['login'])) {
$req = $bdd->prepare('INSERT INTO membres (datevote1) VALUES (?, ?, NOW())');}
// if($vote && $obj->derniere_ip != $derniere_ip) {
$vote_votes++;
$mysqli->query(
"UPDATE vote SET
votes = votes + 1 ,
dernier_vote = NOW() ,
derniere_ip = {$derniere_ip}
WHERE cle = '{$cle}' "
);
}
} else {
// Inserer
if($vote) {
$vote_votes++;
$mysqli->query(
"INSERT INTO vote SET
cle = '{$cle}' ,
votes = 1 ,
dernier_vote = NOW() ,
derniere_ip = {$derniere_ip} "
);
}
}
}
// Afficher de retour
echo $vote_votes;
?>
Autre solution :
effacer les votes jusqu'à minuit passer, voici la page de vote:
<?php if (isset($_SESSION['login'])) { ?>