Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Ajax и IE
 
 автор: Desh   (22.07.2008 в 12:08)   письмо автору
 
 

Здравствуйте,
Сразу извиняюсь, если задал вопрос не в тот раздел форума и за довольно большое сообщение)

Проблема такова:
Имеется функция, которая выводит из БД вопрос и варианты ответов (скрипт голосования, короче говоря):

<?
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 всё работает без ошибок (а принцип заложен в обоих случаях один). Всё, что знал перепробывал, но не помогло.

Заранее спасибо)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования