1
0
This repository has been archived on 2023-11-30. You can view files and clone it, but cannot push or open issues or pull requests.
dtux__serveur-vote-lalis/vote.php
2022-10-19 15:51:41 +02:00

71 lines
1.9 KiB
PHP

<?php
require "session_init.php";
require "config.inc.php";
require "db.class.php";
require_once 'entete.php';
if (array_key_exists("id", $_GET)) $idVotant = $_GET["id"];
if (array_key_exists("v", $_GET)) $votation = $_GET["v"];
if (array_key_exists("vote", $_GET)) $vote = $_GET["vote"];
function voter($idVotant, $votation, $vote)
{
foreach ($vote as $key => $value)
{
$result = $db->vote($votation, $idVotant, $key, $value );
if ($result == '')
{
$idVote = array_search($key, array_column($listeVotes, 'id'));
echo '<h4>' . $listeVotes[$idVote]['libelle'] . ' : vote pris en compte</h4>' .EOLH;
log_write($idVotant . ' a voté');
}else
{
print ('<h4>ERREUR: vote non pris en compte</h4>') . EOLH;
if (strpos($result, 'Duplicate') !== false)
{
print ("<h5>L'erreur est normale si vous avez essayé de recharger la page");
}
print("<h5>Adressez-vous aux responsables de l'association, ils ont déjà été averti de l'erreur</h5>" . EOLH);
log_error( "vote non pris en compte : idVotant=$idVotant, id_Votation=$votation, key=$key, value=$value");
}
//echo "$key => $value";
}
}
$db = new db();
print('<br><br>
<!-- lalis Grid Section -->
<section id="content">
<div class="container">
<div class="row">
<div class="col-lg-12 text-center">
<h3>VOTE</h3>');
$query = 'SELECT * FROM liste_votes WHERE idVotation="' . $db->protect( $votation) .'"';
$result = $db->query($query);
$listeVotes = $db->result->fetch_all(MYSQLI_ASSOC);
voter($idVotant, $votation, $vote);
$query = "SELECT idprocurant FROM procurations WHERE idvotant='" . $db->protect(idVotant) . "' AND idvotation=" . $db->protect(idVotation);
$result = $db->query($query);
$listProcurants = $db->result->fetch_all(MYSQLI_ASSOC);
if (count($listProcurants) != 0)
{
foreach($listProcurants as $procurant)
{
voter($procurant, $votation, $vote);
}
}
$db->close();
print(' </div>
</div>
</div>
</section>');
?>