Я не могу правильно запустить свой сайт по адресу http://www.enbloc.sg.
Это потому, что мой программист не может решить проблему. Любая помощь приветствуется.
Посетители голосуют, нажимая на один цвет на светофоре. У них должен быть только один голос.
Сайт сначала проверяет файлы cookie, а затем IP-адрес избирателя. Если 2 идентичны предыдущему посетителю, то голосование не допускается. Если повторяется только один из 2-х, то голосование разрешается.
Идея двойного ограничения состоит в том, чтобы позволить голосовать разным избирателям за фиксированным IP-адресом. Например. сотрудники компании не смогут голосовать, так как они, вероятно, будут заходить на сайт через фиксированный IP-адрес.
Однако в настоящее время посетители могут щелкнуть ВСЕ 3 цвета, чтобы зарегистрировать 3 голоса при первом посещении сайта. Мой кодер не может решить эту проблему и бросил меня.
Буду очень признателен, если кто-то сможет помочь. Я считаю, что соответствующие коды приложены ниже.
Извиняюсь, если мое сообщение неправильно оформлено.
Большое спасибо, Лин Эн
Извлечено из http://www.enbloc.sg/js/functions.js.
//update dashboard when vote by user
function vote_update(ip_address, issue_num, vote_status){
var vote_cookie = document.getElementById('vote_cookie').value;
if(vote_cookie != '')
{
if(document.getElementById('thanks').style.display == "none")
{
$("#multi_error").fadeIn("slow");
}
else
{
document.getElementById("thanks").style.display = "none";
$("#multi_error").fadeIn("slow");
}
}
else
{
if(ip_address != ' ' && issue_num != ' ')
{
http.open("POST", "update_vote.php"); // true
http.onreadystatechange = update_vote;
http.setRequestHeader("Content-Type", "application/x-www-form- urlencoded;charset=UTF-8");
http.send("ip="+ ip_address +"&issue_num="+ issue_num + "&vote_status=" + vote_status);
}
else
{
alert("Occur Error for IP or ISSUE!");
}
}
}
// ajax response function
function update_vote(){
if (http.readyState == 4)
{
if (http.status == 200)
{
var xmlDoc = http.responseXML;
var listElements = xmlDoc.getElementsByTagName("list");
var result = listElements[0].getElementsByTagName("total") [0].childNodes[0].nodeValue;
if (result == 1)
{
var issue_num = listElements[0].getElementsByTagName("issue")[0].childNodes[0].nodeValue;
var vote = listElements[0].getElementsByTagName("vote") [0].childNodes[0].nodeValue;
$("#thanks").fadeIn("slow");
load(issue_num, vote);
}
else if (result == 'Multi')
{
if(document.getElementById('thanks').style.display == "none")
{
$("#multi_error").fadeIn("slow");
}
else
{
document.getElementById("thanks").style.display = "none";
$("#multi_error").fadeIn("slow");
}
}
else
{
alert("error");
}
}
}
}