За последние 24 часа нас посетили 31063 программиста и 1788 роботов. Сейчас ищут 877 программистов ...

Не сохраняет результаты голосования =(

Тема в разделе "PHP для новичков", создана пользователем TROODON, 11 янв 2008.

  1. TROODON

    TROODON Активный пользователь

    С нами с:
    4 ноя 2007
    Сообщения:
    112
    Симпатии:
    0
    скачал с воувеба скрипт kvPoll столкнулся с проблемой....первые голоса он не сохраняет в файлы..тоесть один не сохраняет (как првавило первый) потом сохраняет потом снова не сохраняет О_О

    что это может быть?
    ЗЫ скрипт кода которое управляет этим

    PHP:
    1. function run_poll($data_file, $HTTP_POST_VARS, $opt){
    2.    
    3.          global $title, $border_size, $border_color, $table_width, $font_size, $font_face, $font_color, $table_bgcolor, $table_bgcolor1, $table_bgcolor2, $entries_dir, $body_tag, $start_html, $end_html, $Poll_Vote_Cookie_Name;
    4.          $holder = a; $no_choose = 1; $array_ct = 0; //echo("$entries_dir/$data_file");
    5.          if($data_file == "" || !$file_exist = file_exists("$entries_dir/$data_file") ){// IF file called is invalid or blank - picks Random
    6.                   if(!($dp = opendir("$entries_dir")))die("Failed");
    7.                   while($file = readdir($dp)){ $filenames []=$file; }
    8.                   closedir($dp);
    9.                   foreach($filenames as $value){
    10.                         if(ereg("^[[:digit:]]", $value)){
    11.                            $active_polls_array[$array_ct] = $value;
    12.                            $array_ct++;
    13.                         }
    14.                   }
    15.                   if( sizeof($active_polls_array) > 1 ){ $data_file = $active_polls_array[rand(0, (sizeof($active_polls_array)-1) )];
    16.                   }elseif( sizeof($active_polls_array) == 1){ $data_file = $active_polls_array[0];
    17.                   }else{ $data_file = 0;  }
    18.          }//End Pick Random
    19.          $cookie_name = "$Poll_Vote_Cookie_Name${data_file}";
    20.          global $$cookie_name;
    21.     if(!isset($$cookie_name)){//Cookie Check
    22.  
    23.         if($opt=="enter"){
    24.             if(!$old_file=file("$entries_dir/$data_file")){ echo("Open Poll File Failed"); }
    25.             while(list($key, $value)=each($HTTP_POST_VARS))
    26.                {//HTTP While
    27.                   if($key=="choose"){
    28.                      $no_choose = 1;
    29.                      $ct = 0;
    30.                            while(list($ev, $ec)=each($old_file)){
    31.                                 if($value==$ec){ $old_file [$ct+1]="".($old_file[$ct+1]+1)."\n"; }
    32.                                  $ct ++;
    33.                            }
    34.                      $ct = 2;
    35.                            while(!$total_votes){
    36.                                   if((chop($old_file[$ct])!="*****")){
    37.                                   $ct ++;
    38.                                   }else { $total_votes =($old_file[$ct+1]+1); $old_file [$ct+1]="".$total_votes."\n"; }
    39.                            }
    40.                   }
    41.                }//HTTP While
    42.             reset($old_file); //Reset Index
    43.             if(!$fp=fopen("$entries_dir/$data_file", "w")){ echo("Open Poll File Failed"); }   //Empties Poll
    44.             fclose($fp);
    45.             while(list($ev, $ec)=each($old_file)){ //Re Populates Poll
    46.                   $fp =fopen("$entries_dir/$data_file", "a");
    47.                   fwrite($fp, "$ec");
    48.                   fclose($fp);
    49.             }
    50.         if($no_choose){//Check to see if a choose was made - display results if choose was made.
    51.             if($new_results = new poll("$data_file")){ $poll_obj =$new_results->show_results(); }else{ echo("Failed to Create Show Results Poll"); }
    52.             }else{ echo("".$start_html."".$body_tag.">
    53.                        <font size='".$font_size."' color='".$font_color."' face='".$font_face."'>
    54.                             <B>
    55.                             Voting works better if you make a selection...
    56.                             </B>
    57.                             <BR>
    58.                         </font>
    59.                        <script language='JavaScript' type='text/javascript'>
    60.                                <!--
    61.                                 function kill_pop_up_reload_main(){
    62.                                  opener.location.reload(true);
    63.                                 self.close();
    64.                                 }
    65.                                // -->
    66.                        </script>
    67.                        <div align='center'>
    68.                             <font size='".$font_size."' color='".$font_color."' face='".$font_face."'>
    69.                                 <a href='#' onclick='javascript: kill_pop_up_reload_main()'>Close</a> |v2.0
    70.                             </font>
    71.                         </div>
    72.            ".$end_html.""); }
    73.          //End $opt == "Enter" if Statement
    74.          }elseif( $data_file == 0){ echo("<TABLE border='".$border_width."' width='".$table_width."' bordercolor='".$border_color."'>
    75.                                             <TR bgcolor='".$table_bgcolor1."'>
    76.                                                 <TD>".$start_html."".$body_tag.">
    77.                                                     <div align='center'>
    78.                                                         <B>
    79.                                                             <font size='".($font_size + 1)."' color='".$font_color."' face='".$font_face."'>
    80.                                                             No Active Polls
    81.                                                             </font>
    82.                                                         </B>
    83.                                                     </div>
    84.                                                 </TD>
    85.                                             </TR>
    86.                                          </TABLE>
    87.                                          ".$end_html."");
    88.          }else{//End $opt = "ENTER" If Statement
    89.                if($new_poll = new poll($data_file)){ $poll_obj = $new_poll->cast_vote(); }else { echo("Failed to Create Vote Poll"); }   echo("$datafile");
    90.          }
    91. }else{  if($new_results = new poll($data_file)){ $poll_obj = $new_results->show_results2(); }else{ echo("Failed to Create Show Results Poll"); }  }//If voted Cookie is set
     
  2. Ti

    Ti Активный пользователь

    С нами с:
    3 июл 2006
    Сообщения:
    2.378
    Симпатии:
    1
    Адрес:
    d1.ru, Екатеринбург
    Сперва дайте список того что Вы сами сделали что бы найти ошибку, проблему?
    Ну и погуглите что следовало бы сделать.

    тут не СТП _всего_программного_кода_мира_

    P.S. перед листенгом PHP добавьте <?