Voilà enfait j'ai crée un système de vote et de "like".
Mais vous vous en douté le membre ne peux pas voté ni "liké" quand il veut
Donc enfait j'aimerais bloquer les "like" à 1 seul clic par ip et les votes par 1 seul clic par membre par jour.
Après plusieur jour de recherche je ne parviens même pas à enregistrer la date d'un vote.
Mais ici nous allons nous intéresser en premier en like, les votes devrais s'en suivre.
Bref, j'aimerais bloquer le like a 1 seul fois par ip ( puisque les non membres peuvent "liker" les news...)
voici le code actuel des likes :
<p><a href="#" title="New" class="jaime" >J’aime</a><p>
pas besoin du javascript ici, et voici l'exectution php :
<?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;
// Connexion a la DB
$mysqli = new mysqli('mysql.alwaysdata.com', '*****', '03/06/1994', '*****');
if($mysqli->connect_error) {
die('Erreur de connexion (' . $mysqli->connect_errno . ') ' . $mysqli->connect_error);
}
// Traitement en DB
$jaime_votes = 0;
if($result = $mysqli->query("SELECT * FROM jaimes WHERE cle = '{$cle}' LIMIT 1 ")) {
if($result->num_rows) {
// Mise a jour
$obj = $result->fetch_object();
$jaime_votes = (int)$obj->votes;
if($vote) {
// if($vote && $obj->derniere_ip != $derniere_ip) {
$jaime_votes++;
$mysqli->query(
"UPDATE jaimes SET
votes = votes + 1 ,
dernier_vote = NOW() ,
derniere_ip = {$derniere_ip}
WHERE cle = '{$cle}' "
);
}
} else {
// Inserer
if($vote) {
$jaime_votes++;
$mysqli->query(
"INSERT INTO jaimes SET
cle = '{$cle}' ,
votes = 1 ,
dernier_vote = NOW() ,
derniere_ip = {$derniere_ip} "
);
}
}
}
// Afficher de retour
echo $jaime_votes;
?>
Donc comme vous pouvez le voir, dans la base de donné j'enregistre le nom donné au like (la cle), l'id, la date du dernier like et du dernier ip.
Mais voila je ne sais pas comment bloquer les ip, je doit les enregistrer dans la base de donné? ça ferais bcp! sachant que chaque like utilise le même php et javascript, il ne faut pas bloquer l'ip pour tout les like mais que pour celui clicer par l'utilisateur.
Bref, quelqu'un serrait cappable de m'aidé? merci