sonda-v2
Publicado por luca 10/05/2005
[ Hits: 4.358 ]
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)
<!=====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;
?>
Cotação do Dólar (segunda edição)
Nenhum comentário foi encontrado.
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Jogar games da Battle.net no Linux com Faugus Launcher
Como fazer a Instalação de aplicativos para acesso remoto ao Linux
Como fazer a instalação do Samba
Como fazer a conversão binária e aplicar as restrições no Linux
Duas Pasta Pessoal Aparecendo no Ubuntu 24.04.3 LTS (19)
Formas seguras de instalar Debian Sid (13)
Malware encontrado em extensões do Firefox. (0)
Fiz uma pergunta no fórum mas não consigo localizar [RESOLVIDO] (21)









