|
|
|
| Здравствуйте,
Сразу извиняюсь, если задал вопрос не в тот раздел форума и за довольно большое сообщение)
Проблема такова:
Имеется функция, которая выводит из БД вопрос и варианты ответов (скрипт голосования, короче говоря):
<?
function voteviewfunc()
{
$votequest = mysql_fetch_row(mysql_query("SELECT id, quest FROM VOTE_QUEST WHERE active='1' ORDER BY RAND() LIMIT 1"));
$voteantwortsql = mysql_query("SELECT id, antwort FROM VOTE_ANTWORT WHERE id_vote='".$votequest[0]."'");
echo "<table id=\"votetable\" class=\"votetable\" onclick=\"chkvoteradio()\"><tr><td colspan=\"2\"><span class=\"votequest\">".$votequest[1]."</span><br>";
while($voteantwort = mysql_fetch_row($voteantwortsql))
{
echo "<span class=\"voteantwort\"><input type=\"radio\" name=\"voteantwort\" value=\"".$voteantwort[0]."\">".$voteantwort[1]."<br>";
}
echo "<tr>
<td><input type=\"hidden\" name=\"vote_id\" value=\"".$votequest[0]."\"><input type=\"hidden\" name=\"user_ip\" value=\"".$_SERVER["REMOTE_ADDR"]."\">
<img src=\"temp/im/voteresult.jpg\" class=\"voteresult\" onclick=\"javascript: $('#votetable').load('ajax/voteresultajax.php', { vote_id: document.voteform.vote_id.value }); \"></td>
<td><img src=\"temp/im/votesubmit.jpg\" class=\"voteresult\" onclick=\"javascript: $('#votetable').load('ajax/voteaddajax.php', { vote_id: document.voteform.vote_id.value, voteantwort: valueradio, user_ip: document.voteform.user_ip.value }); \"></td>
</tr></table>";
}
?>
|
И имеется соответствующий обработчик (ajax/voteaddajax.php):
<?
/* ДОБАВЛЕНИЕ ГОЛОСА К ГОЛОСОВАНИЮ */
// Подключаем конфигурационный файл
require_once("../config.php");
require_once("../lang/ru/main.php");
// Проверка на безопасность полученного ответа
$voteantwort = mysql_escape_string($_POST['voteantwort']);
$voteantwort = htmlspecialchars($voteantwort);
$vote_id = mysql_escape_string($_POST['vote_id']);
$vote_id = htmlspecialchars($vote_id);
$user_ip = mysql_escape_string($_POST['user_ip']);
$user_ip = htmlspecialchars($user_ip);
// Выбираем записи, где есть нужный IP
$useripsql = mysql_query("SELECT ip FROM VOTE_IP WHERE id_vote='".$vote_id."' AND ip='".$user_ip."'");
// Проверяем на наличия такого IP в базе данных
if(mysql_num_rows($useripsql))
{
echo "<table class=\"votetable\"><tr><td class=\"votewarring\">".$voteblock[0]."</td></tr></table>";
}
else
{
$votecount = mysql_fetch_row(mysql_query("SELECT id_vote, count FROM VOTE_ANTWORT WHERE id='".$voteantwort."'"));
$votecount[1]++;
// Добавляем в базу данных IP и обновляем сосотояние голосования
mysql_query("UPDATE VOTE_ANTWORT SET count='".$votecount[1]."' WHERE id='".$voteantwort."'");
mysql_query("INSERT INTO VOTE_IP SET id_vote='".$vote_id."', ip='".$user_ip."'");
echo "<table class=\"votetable\">";
$voteantwortsql = mysql_query("SELECT antwort, count FROM VOTE_ANTWORT WHERE id_vote='".$votecount[0]."'");
$votesummacount = mysql_fetch_row(mysql_query("SELECT SUM(count) FROM VOTE_ANTWORT WHERE id_vote='".$votecount[0]."'"));
$oneproz = $votesummacount[0] / 100;
while($voteantwort = mysql_fetch_row($voteantwortsql))
{
$votegistogramma = $voteantwort[1] / $oneproz;
echo "<tr><td class=\"voteantwort\">".$voteantwort[0]."</td><td class=\"voteantwortcount\">".$voteantwort[1]."</td></tr>
<tr><td colspan=\"2\"><table width=\"".$votegistogramma."px\" class=\"gistogramms\"><tr><td></td></tr></table></td></tr>";
}
echo "</table>";
}
?>
|
На деле при нажатии на картинку temp/im/votesubmit.jpg (листинг 1) данные отправляются к обработчику ajax/voteaddajax.php, от него получает данные и выводит их в таблице с id равным votetable. В Firefox и Opera всё работает так, как надо, а вот с IE (стоит 6-ая версия, как в 7-ой работает, увы, пока не знаю) проблема. Данные от обработчика не выводятся. Причём к самому обработчику они от скрипта уходят без проблем (т.к. данные голосования при клике меняются). Где находится ошибка, ума не приложу, т.к. к примеру при клике на картинку с адресом temp/im/voteresult.jpg (листинг 1, вывод результатов голосования) в том же IE всё работает без ошибок (а принцип заложен в обоих случаях один). Всё, что знал перепробывал, но не помогло.
Заранее спасибо) | |
|
|