Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Скрипт голосования

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
vlom
Отправлено: 28 Ноября, 2011 - 14:05:11
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 681
Дата рег-ции: Окт. 2010  
Откуда: Екатеринбург


Помог: 4 раз(а)




есть такой вот скрипт
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. function vote_quest()
  3. {
  4.    var radios = document.getElementsByName('voteanswer');
  5.    var radio_select = false;
  6.    var voteval = 0;
  7.    for(var i=0; i<radios.length; i++)
  8.       if(radios[i].checked)
  9.       {
  10.         radio_select = true;
  11.         voteval = radios[i].value;
  12.       }
  13.    if(radio_select)
  14.    {
  15.     var dt=(new Date()).getTime();
  16.        jQuery.get('/js/vote.php',{val:voteval, id:document.getElementById('voteid').value, rnd:dt},function(rs){
  17.             var r=rs.split(',');
  18.             if (r.length==4){
  19.                 for (var i=0;i<r.length;i++){
  20.                     var rr=r[i].split("-");
  21.                     var percent_bari='#percent_bar'+rr[0];
  22.                     var percent_counti='#percent_count'+rr[0];
  23.                     var vote_counti='#vote_count'+rr[0];
  24.                     var p_b= jQuery(percent_bari);
  25.                     var p_c=jQuery(percent_counti);
  26.                     var v_c=jQuery(vote_counti);
  27.                     var rrr=rr[1].split(":");
  28.                     if (rrr.length==2){
  29.                         p_b.width(rrr[0]+'%');
  30.                         p_c.html(rrr[0]);
  31.                         v_c.html(rrr[1]);
  32.  
  33.                       jQuery('.vote_ratio').hide();
  34.                       jQuery('.vote_button').hide();
  35.                     }
  36.                 }
  37.                 alert('Ваш голос принят! Спасибо за участие в опросе!');
  38.             }else{
  39.                 var rr=r[0].split("-");
  40.                 alert(rr[1]);
  41.             }
  42.        });
  43.    }
  44.    else
  45.    {
  46.       alert('Не выбран вариант ответа!');
  47.    }
  48. }
  49.  


работает почти так как надо, голос принимает
но в браузер в место вывода модального окошка с
текстом 'Ваш голос принят! Спасибо за участие в опросе!'
получаю '38:65' ну или другие цифры, когда как
подскажите где ошибка, скрипт писал не я.
(Добавление)
листинг vote.php
PHP:
скопировать код в буфер обмена
  1. header("Content-type: text/html; charset=utf-8");
  2. include "../manag/connect.php";
  3. require '../funcs.php';
  4. $id = (int)$_GET['id'];
  5. if (!isset($_GET['val']))$_GET['val']=-1;
  6. $val = (int)$_GET['val'];
  7.  
  8.     function j_encode($arr){
  9.         foreach ($arr as $k=>$v) {
  10.         if (is_array($v)) $v=implode(":",$v);
  11.         $new[]=$k."-".$v;
  12.         }
  13.         return implode(",",$new);
  14.     }
  15.  
  16. if ($val!=-1){
  17. $query = @mysql_query("select * from votes where show_on_main=1 and active=1 and vote_id=".$id." LIMIT 1;");
  18.     if(check_answer($id,true) && mysql_num_rows($query)==1)
  19.     {
  20.         $res = @mysql_fetch_object($query);
  21.            if($res->vote_id > 0)
  22.            {
  23.                     $arr_votes_num = explode("}{", $res->answer_nums);
  24.                     $arr_votes_num[$val]++;
  25.                     $str_answer_nums = @join("}{", $arr_votes_num);
  26.                     @mysql_query("update votes set answer_nums='".$str_answer_nums."' where vote_id=".$res->vote_id.";");
  27.                     $total=$arr_votes_num[0] + $arr_votes_num[1] + $arr_votes_num[2] + $arr_votes_num[3];
  28.                     if($total){
  29.                         for($i = 0; $i < count($arr_votes_num); $i++) {
  30.                             $arrs[$i]['percent'] = round(($arr_votes_num[$i]*100)/$total);
  31.                             $arrs[$i]['count'] = $arr_votes_num[$i];
  32.                         }
  33.                     }else{
  34.                         for($i = 0; $i < count($arr_nums); $i++){
  35.                          $arrs[$i]['percent'] = 0;
  36.                          $arrs[$i]['count'] = 0;
  37.                         }
  38.                     }
  39.                     echo j_encode($arrs);
  40.                     die();
  41.            }else{
  42.                $err=array('err'=>"Неверно составлен запрос!");
  43.                echo j_encode($err);
  44.                die();
  45.            }
  46.     }else{
  47.         $err=array('err'=>"Вы уже принимали участие в данном опросе. Спасибо!");
  48.         echo j_encode($err);
  49.         die();
  50.     }
  51. }
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB