1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
| <?php
$connexion = mysql_connect("SECRET", "SECRET", "SECRET") or die(mysql_error());
mysql_select_db("webdujousql") or die(mysql_error());
$moisavectiret = $_POST['moisduvote'];
$moissanstiret = str_replace("-","",$_POST['moisduvote']);
if(!isset($_POST['votepour'])) //Vérifie que la page n'a pas été chargée directement
{
print "Vous n'avez pas accès à cette page.<br />Retour sur <a href=http://www.monsite.fr>Webdujour</a>";
}
elseif ($_COOKIE['dejavote'] == $moisavectiret) //Vérifie que n'a pas déjà voté
header("Location: http://www.monsite.fr/vote/?erreur=dejavote");
else
{
//Fonction générale servant à tester si la table SQL des votes pour ce mois existe
function mysql_table_exists($db, $table){
$query = "SHOW TABLES FROM $db";
$runQuery = mysql_query($query);
$tables = array();
while($row = mysql_fetch_row($runQuery)){
$tables[] = $row[0];
}
if(in_array($table, $tables)){
return TRUE;
}
}
//Si la table de vote pour ce mois n'existe pas encore...
if(! mysql_table_exists('webdujousql','vote_'.$moissanstiret)){
// ...la créer
mysql_query('CREATE TABLE vote_'.$moissanstiret.' (id INT not null AUTO_INCREMENT, idsite INT not null, titresite VARCHAR(100) not null, nbvotes INT, PRIMARY KEY (id))') or die('ERREUR : Impossible de créer une nouvelle table pour ce mois.<br />'.mysql_error());
// puis la remplir avec tous les sites du mois
$sql1 = "SELECT ID,post_title FROM wp_posts WHERE post_date LIKE '".$moisavectiret."-%' AND post_status='publish' AND post_type='post'";
$req1 = mysql_query($sql1) or die('ERREUR : Impossible de récupérer les sites du mois pour les ajouter dans la table de vote');
while($data = mysql_fetch_assoc($req1))
{
mysql_query("INSERT INTO vote_".$moissanstiret."(idsite,titresite,nbvotes) Values('".$data['ID']."','".addslashes($data['post_title'])."','0')") or die(mysql_error());
}
}
//On passe au vote pour le site choisi
mysql_query("UPDATE vote_".$moissanstiret." SET nbvotes = nbvotes + 1 WHERE idsite='".$_POST['votepour']."'") or die("ERREUR : Impossible d'incrémenter le compteur de votes pour ce site.<br />".mysql_error());
//Création du cookie
$endTime = mktime(23, 59, 59, date('m'), date("t",time()), date('Y')); // jusqu'à la fin du mois
setcookie ("dejavote", $moisavectiret, $endTime); // C'EST LA LIGNE 57
//Redirection
header("Location: http://www.monsite.fr/vote/? voteok=".$_POST['votepour']); // C'EST LA LIGNE 61
} //fin du premier IF de tout en haut
?> |
Partager