sonda-v2

Publicado por luca 10/05/2005

[ Hits: 4.042 ]

Download sonda-v2.tar.gz




esse è um script php criado para sondagens em sitos web.
- nao ha limitacoes por numero de perguntas!
- se pode adicionar qualquer sondagem!
- se pode votar tambem para sondegens velhos!
- ainda nao esta implementado o controlo de votacao. (um usuario pode re-votar)!
- è free software!
foi criado para um meu amigo, agora è de todos! obrigado.
brainstabber (italy)

  



Esconder código-fonte

<!=====sonda-v2.php===============>
<html>
<head>
</head>
<body style="background: #6686c2; text-align: center; color: #e2f4fe ">


<?php

include "sonda-v2.conf.php";
/*=================================================================================*/
/*====================sonda-v2====distribuito sotto licenza gpl====================*/
/*====tutti i diritti rivendicati, melegnano maggio 2005, brainstabber [27e½]======*/
/*=================================================================================*/

/*=============script pagina==================*/   
$nomePagina="sonda-v2.php";

$racco= new raccoltaSondaggi();
$sonda=new sondaggio();

$racco->carica();



if($crea)
{
   $racco->aggiungi_sondaggio($idEnv,$domandaEnv,$opzioniEnv);
   $racco->salva();
}

if(empty($id))
{
   $id=$racco->get_ultimo();
}


$sonda->carica($id);

if($login)
{
   if($password==$passwordEnv&&$user==$userEnv)
   {
      echo "<div style=\" color:#e2f4fe; text-align:left; width: 500px; margin: 0 auto;  \">";
      echo "<br>autenticazione effettuata<br>";
      echo "<h3>creazione nuovo sondaggio</h3>";
      echo "<form method=post action=\"sonda-v2.php?crea=true\">";
      echo "<table>";
      echo "<tr><td>nome sondaggio:</td><td><input type=\"text\" name=\"idEnv\"></td></tr>";
      echo "<tr><td>domanda:</td><td><input type=\"text\" name=\"domandaEnv\"></td></tr>";
      echo "<tr><td>opzioni:</td><td><input type=\"text\" name=\"opzioniEnv\"></td></tr>";
      echo "<tr><td></td><td> <input type=\"submit\" name=\"crea\" value=\"invia\"> </td></tr>";                 
      echo "</table>";   
      echo "per inserire più opzioni separarle con \"&&\".<br>";
      echo "esempio: opzione_uno&&opzione_due&&opzione_tre";
      echo "</form></div>";
   }
   else
   {
   echo "<div style=\" color:#e2f4fe; text-align:left; width: 500px; margin: 0 auto;  \">";
   echo "<br><br><form method=post action=\"".$nomePagina."?login=true\">";
   echo "<table align=\"center\">";
   echo "<tr><td>nome utente:</td> <td><input type=\"text\" name=\"userEnv\"> </td></tr>";
   echo "<tr><td>password:</td><td> <input type=\"password\" name=\"passwordEnv\"> </td></tr>";
   echo "<tr><td></td><td><input type=\"submit\" name=\"logga\" value=\"invia\"> </td></tr>";
   echo "</table></form>";
   echo "</div>";
   }
}
else
{
if($vota)
{
   if(isset($risposta))
   {
      $sonda->incrementa($risposta);
      $sonda->salva($id);
      echo "<div style=\" color:#e2f4fe; text-align:left; width: 500px; margin: 0 auto;  \">";
      echo "<br><br>grazie per aver votato<br> <a href=\"".$nomePagina."?id=".$id."&&risultati=true\">visuliazza risultati</a>";
      echo "</div>";
   }
   else
   {
      echo "<br><br>devi scegliere un opzione prima di votare<br> <a href=\"".$nomePagina."?id=".$id."\">torna votare</a>";
   }
}
else
{
   if($risultati)
   {
      echo "<div style=\" color:#e2f4fe; text-align:left; width: 500px; margin: 0 auto;  \">";
      echo "<h2> risultati del sondaggio $id </h2>";
      echo $sonda->get_domanda();
      $sonda->stampa();
      
      echo "<a href=\"".$nomePagina."?id=".$id."\"> torna a votare</a><br><br>visualizza altri sondaggi";
      $vecchi=$racco->get_sondaggi($id);
      for($i=0;$i<count($vecchi); $i++)
      {
         echo "<a href=\"".$nomePagina."?id=".$vecchi[$i]."&&risultati=true\">".$vecchi[$i]."</a><br>";
      }
      
      echo "</div>";
   }
   else
   {
   
      echo "<div style=\"color:#e2f4fe; text-align:left; width: 400px; margin: 0 auto;\">";
      echo "<h2>sondaggio ".$id."</h2>";

      echo "<form method=post action=\"".$nomePagina."?id=".$id."\">".$sonda->get_domanda()."<br>";
      
      $elementi=$sonda->get_elementi();
      $vecchi=$racco->get_sondaggi($id);
      for($i=0;$i<count($elementi);$i++)
      {
         echo "<input type=\"radio\" name=\"risposta\" value=\"".$elementi[$i]."\">".$elementi[$i]." <br>";
      }
      echo ("
            <input type=\"submit\" name=\"vota\" value=\"invia\"> 

            </form>
            vecchi sondaggi:<br>");
      for($i=0;$i<count($vecchi); $i++)
      {
         echo "<a href=\"".$nomePagina."?id=".$vecchi[$i]."\">".$vecchi[$i]."</a><br>";
      }
      echo ("
            </div>
            <a href=\"".$nomePagina."?login=true\">nuovo sondaggio</a>
            ");
   }
}
}

/*==========fine script pagina================================*/


/*==============classe raccolta sondaggi====================*/
class raccoltaSondaggi
{
   var $sondaggi;
   
   function get_ultimo()
   {
      $ultimo=array_pop($this->sondaggi);
      $this->sondaggi[]=$ultimo;
      return $ultimo;
   }
   
   /* riceve id per eliminare il sondaggio corrente e restituire solo i mancanti! */
   function get_sondaggi($id)
   {
      for ($i=count($this->sondaggi);$i>=0;$i--)
      {
         if($this->sondaggi[$i]!=$id)
         {
            $elenco[]=$this->sondaggi[$i];
         }
      }
      return $elenco;
   }
   
   function aggiungi_sondaggio($id,$domanda,$opzioni)
   {
      $opzioni=explode("&&",$opzioni);
      
      $sonda=new sondaggio();
      $sonda->inserisci_domanda($domanda);
      
      for($i=0;$i<count($opzioni);$i++)
      {
         $sonda->inizializza_elemento($opzioni[$i]);
      }
      
      $sonda->salva($id);
      $this->sondaggi[]=$id;
   }
   function stampa()
   {
      for ($i=count($this->sondaggi);$i>=0;$i--)
      {
         echo $this->sondaggi[$i]."<br>";
      }
   }
   
   function salva()
   {
      $dati=implode("(&sep)",$this->sondaggi);
      $file=fopen("dati/sondaggi.list","w");
      fwrite($file,$dati);
      fclose($file);
   }
   
   function carica()
   {
      $dati=@file("dati/sondaggi.list");
      $dati=explode("(&sep)",$dati[0]);

      for ($i=0;$i<count($dati);$i++)
      {
         $this->sondaggi[]=$dati[$i];
      }
   }
}


/*==================classe sondaggio=================================*/
class sondaggio
   {
      var $domanda;
      var $elementi;
      var $numero;
      
      function inserisci_domanda($domanda)
      {
         $this->domanda=$domanda;
      }
      function get_domanda()
      {
         return $this->domanda;
      }
      function get_elementi()
      {
         return $this->elementi;
      }
      function get_numeri()
      {
         return $this->numeri;
      }
      
      function inizializza_elemento($elemento)
      {
         $this->elementi[]=$elemento;
         $this->numero[]=0;
      }
      
      function aggiungi($nome)
      {
         $this->elementi[]=$nome;
         $this->numero[]=1;
      }
      
      
      function incrementa($nome)
      {
         $dim=count($this->elementi);
         
         for ($i=0;$i<$dim;$i++)
         {
            if($this->elementi[$i]==$nome)
            {
            $pos=$i;
            break;
            }
         }
         
         if(isset($pos))
         {
            $this->numero[$pos]++;
         }
         else
         {
            $this->aggiungi($nome);
         }
      }
      
      function get_percentuali()
      {
         for($i=0;$i<count($this->elementi); $i++)
         {
            $somma=$somma+$this->numero[$i];
         }
         for($i=0;$i<count($this->elementi); $i++)
         {
            $percentuali[]=($this->numero[$i]/$somma)*100;
         }
         return $percentuali;
      }
      
      function stampa()
      {
         $percentuali=$this->get_percentuali();
         echo "<table cellpadding=3>";
         echo "<tr><td><b>risposte</b></td><td><b>voti</b></td><td><b>percentuali</b></td></tr>";
         for ($i=0; $i < count($this->elementi); $i++)
         {
            echo "<tr>";
            echo "<td>".$this->elementi[$i]."</td>";
            echo "<td align=\"center\">".$this->numero[$i]."</td>";
            echo "<td> <table height=\"15\"><tr><td bgcolor=\"#e2f4fe\" width=\"".$percentuali[$i]."\"></td><td></td></tr></table></td>";
            echo "<td>".(int)$percentuali[$i]."%</td>";
            echo "</tr>";
         }
         echo "</table>";
      }
      
      function stampa_elementi()
      {
         for($i=0;$i<count($this->elementi);$i++)
         {
            echo "<b>".$this->elementi[$i]."</b><br>";
         }
      }
      
      function stampa_numeri()
      {
         for($i=0;$i<count($this->numero);$i++)
         {
            echo "<b>".$this->numero[$i]."</b><br>";
         }
      }
      
      function salva($sondaggio)
      {
         for($i=0;$i<count($this->elementi);$i++)
         {
            $stringa[$i] = $this->elementi[$i]."=".$this->numero[$i];
         }
         $dati=$this->domanda."(&tit)".implode("(&sep)",$stringa);
         
         $file=fopen("dati/$sondaggio.dat","w");
         fwrite($file,$dati);
         fclose($file);
      }
      
      function carica($sondaggio)
      {
         $dati=@file("dati/$sondaggio.dat");
         $dati=explode("(&tit)",$dati[0]);
         $this->domanda=$dati[0];
         if($dati)
         {
            $stringhe=explode("(&sep)",$dati[1]);
            for($i=0;$i<count($stringhe);$i++)
            {
               $temp=explode("=",$stringhe[$i]);
               $this->elementi[]=$temp[0];
               $this->numero[]=$temp[1];
            }
            return true;
         }
         else
         {
            return false;
         }
      }
   }
   
?>

</body>
</html>




<!=======sonda-v2.conf.php===============>
<?php
/*=================================================================================*/
/*======configurazione sonda-v2===distribuito sotto licenza gpl====================*/
/*====tutti i diritti rivendicati, melegnano maggio 2005, brainstabber [27e½]======*/
/*=================================================================================*/
   $user=root;
   $password=root;
?>

Scripts recomendados

Geração de códigos captcha em formulários HTML com PHP e PostgreSQL

SERVER PARA EDITAR GRATUITAMENTE MU-ONLINE

Chat Open Source.

Consultar Cep

Cotação do Dólar (segunda edição)


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts