Script sondaggio

Ciao a tutti, ho inserito nel mio sito uno script per far visualizzare un sondaggio:

<?php
// En: Begin PHP Code / Fr: Debut code PHP
/******************************************************************************\
* PHP Poll                                     Version 1.0                     *
* Copyright 2000 Frederic TYNDIUK (FTLS)       All Rights Reserved.            *
* E-Mail: tyndiuk@ftls.org                     Script License: GPL             *
* Created  02/28/2000                          Last Modified 02/28/2000        *
* Scripts Archive at:                          http://www.ftls.org/php/        *
*******************************************************************************/
// Necessary Variables:

$RESULT_FILE_NAME = "poll_data.txt";
   // En: Absolute path and name to file contain poll data.
   // Fr: Chemin absolu (complet) et Nom du fichier contenant les donne.

$QUESTION = "Chi puzza di piu?";
   // En: Question Text.
   // Fr: Texte de la question.
$ANSWER = array("Gianni", "Andrea", "Luca");
   // En: All answer.
   // Fr: Reponses possibles

$IMG_DIR_URL = "./vote";
   // En: URL Directory of poll graphs.
   // Fr: URL du repertoire des images.

$REVOTE_TIME = 3600;
   // En: Time (second) after people can revote, use cookies.
   // Fr: Temps en second apres lequel une personne peut revoter.

// End  Necessary Variables section
/******************************************************************************/

if (! $vote && ! $result) {
   echo "<FORM METHOD=\"POST\">\n";
   echo "<TABLE BORDER=0 class=\"space\><TR><TD><TABLE BORDER=\"0\" class=\"space\">\n";
   echo "<TR><TH>$QUESTION</TH></TR>\n";
   while (list($key, $val) = each($ANSWER)) {
      echo "<TR><TD align=\"center\"><br><INPUT TYPE=\"radio\" NAME=\"answer\" VALUE=\"$key\"> $val<br></TD></TR>\n";
   } 
   echo "<TR><TD align=\"center\"><br><INPUT TYPE=\"Submit\" NAME=\"vote\" VALUE=\" Vota \"><br><br></TD></TR>\n";
   echo "</TABLE></TD></TR></TABLE></FORM>";
} else {

   $file_array = file($RESULT_FILE_NAME); // or error("Can not open \$RESULT_FILE_NAME");

   // En: Save result
   // Fr: Enregistre le resultat
   if ($answer < count($ANSWER) && $vote) {
      if (count($file_array) < count($ANSWER))  {
         $file_array = array("0\n", "0\n", "0\n", "0\n", "0\n", "0\n", "0\n", "0\n", "0\n", "0\n");
      }
      $old_answer = $file_array[$answer];
      $old_answer = preg_replace("/\n\r*/", "", $old_answer);
      $file_array[$answer] = ($old_answer + 1)."\n";

      $file = join('', $file_array);
      $fp = fopen("$RESULT_FILE_NAME", "w"); //or error("Can not write \$RESULT_FILE_NAME");
      flock($fp, 1);
      fputs($fp, $file);                                                     
      flock($fp, 3);
      fclose($fp);
   }

   // En: Display result
   // Fr: Affiche le resultat
   while (list($key, $val) = each($file_array)) {
      $total += $val;
   }
   echo "<TABLE CELLSPACING=2 CELLPADDING=1 BORDER=0>";
   echo "<tr><th></th><th>Percentuale</th><th>Voti</th></tr>";

   while (list($key, $val) = each($ANSWER)) {
      $percent =  $file_array[$key] * 100 / $total;
      $percent_int = floor($percent);
      $percent_float = number_format($percent, 1);
      $tp += $percent_float;
      echo "<tr><td> $ANSWER[$key] </td><td><img height=9 src=\"$IMG_DIR_URL/vote_left.gif\"><img height=9 width=\"$percent_int\" src=\"$IMG_DIR_URL/vote_middle.gif\"><img height=9 src=\"$IMG_DIR_URL/vote_right.gif\"> $percent_float % </td><td>$file_array[$key]</td></tr>";
   }

   echo "</TABLE><br>";
}

?>

Questo file chiamato poll.php risiede nella dir /poll/ del mio sito assieme al file poll_data.txt

Se provo lo script in locale questo va, mettendolo invece nel sito mi da un errore di questo tipo

Warning: file(poll_data.txt) [function.file]: failed to open stream: No such file or directory in /web/htdocs/www.milan1899.it/home/poll/poll.php on line 45

Warning: Variable passed to each() is not an array or object in /web/htdocs/www.milan1899.it/home/poll/poll.php on line 67

Warning: Division by zero in /web/htdocs/www.milan1899.it/home/poll/poll.php on line 74

Warning: Division by zero in /web/htdocs/www.milan1899.it/home/poll/poll.php on line 74

Warning: Division by zero in /web/htdocs/www.milan1899.it/home/poll/poll.php on line 74
   Percentuale   Voti
Gianni    0.0 %    
Andrea    0.0 %    
Luca    0.0 %    

Cosa puņ essere  :buck:

inviato 9 anni fa
bububu
X 0 X

a prima vista sembra che l'errore sia a questa riga (se non err, sembra l'unica divisione)

$percent =  $file_array[$key] * 100 / $total;

dice che c'č una divisione per zero, controlla queste variabili, prova a stamparle e vedi se ci sono dei dati dentro.

risposto 9 anni fa
Markomyx
X 0 X

Ho abbandonato quello script per varii motivi... Chi mi sa consigliarmene uno semplice (anche senza pannello di configurazione online) e che non disponga di database per funzionare? (filtrasse anche gli ip o utilizzasse i cookies per non far rivotare sarebbe il top) :D

ciao e grazie

risposto 9 anni fa
bububu
X 0 X

purtroppo non ce ne sono di semplice con tutte le cose che cerchi... ti consiglio di vedere su html.it nella sezione php, vedi qualche script per i sondaggi

risposto 9 anni fa
Markomyx
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda