Ir para conteúdo
Fórum Script Brasil
  • 0

Enquete em PHP 5


José Nunes

Pergunta

5 respostass a esta questão

Posts Recomendados

  • 0

Coloca um pedaço do código da enquete aqui... provavelmente ela precise de register_globals ON para funcionar e no seu host ela está OFF... ai é mais fácil fazer uma gambiarra para ela voltar a funcionar, já que você já está acostumado com ela.

Link para o comentário
Compartilhar em outros sites

  • 0

ESTA PARTE É O ADMIN.PHP


<?php



//

// password do administrador

//

$password="123456";



//

// se o password está errado ou ainda não foi digitado

//



$passwd = $_POST['passwd'];



if(!isset($passwd) or $passwd!=$password)

{

echo "<table width=\"303\" border=\"0\" cellspacing=\"1\" cellpadding=\"0\" height=\"169\" bgcolor=\"#ffffff\" align=\"center\"><tr><td bgcolor=\"#ffffff\" height=\"110\">

<table width=\"311\" border=\"0\" cellspacing=\"1\"

cellpadding=\"0\" bgcolor=\"#f7f7f7\" height=\"136\">

<tr><td height=\"175\"><div align=\"center\"><font

face=\"Verdana, Arial, Helvetica, sans-serif\"><b>

<font size=\"2\">

Entrar com a password!

</font></b></font><br>

</div><form name=\"form1\" method=\"post\" action=\"admin.php\"><div align=\"center\">

<input type=\"password\" name=\"passwd\"><br><input type=\"submit\" name=\"Submit\" value=\"Entrar\">

</div></form></td></tr></table></td></tr></table>";

} // fim do if

//

// se o password digitado for correto

//

elseif ($passwd==$password)

{

//

// se o password esta correto e foi submetido as novas configurações

//

if (isset($submit))

{

$fp=fopen($datafile, "w"); // abre arquivo para escrita

fputs($fp, $questao."\n"); // envia a questão para a 1ª linha

for($i=1; $i <=10; $i++)

{

if($opcao[$i]=="") // se não possui mais opção para

{

break;

}



$input=$opcao[$i]."][".$imagem[$i]."][".$votos[$i]."\n";

fputs($fp, $input); // envia cada linha para o arquivo

}

fclose($fp); // fecha o arquivo



$config="<?php\n";

$config.="\$textcolor='$textcolor';\n";

$config.="\$linkcolor='#FFFFFF';\n";

$config.="\$bgcolor='$bgcolor';\n";

$config.="\$tableborder='$tableborder';\n";

$config.="\$timeout='$timeout';\n";

$config.="\$ip_file='$ip_file';\n";

$config.="\$font='$font';\n";

$config.="\$fontsize='$fontsize';\n";

$config.="\$datafile='$datafile';\n";

$config.="?>";



$fp=fopen($ip_file, "w"); // abre o arquivo para escrita

fclose($fp); // fecha o arquivo



$fp=fopen("config.php", "w"); // abre o arquivo para escrita

fputs($fp, $config); //envia as configurações para o arquivo

fclose($fp); // fecha o arquivo



echo "<div align=\"center\"><b><font face=\"Verdana, Arial, Helvetica, sans-serif\" color=\"#00CC00\">

Configurações alteradas com sucesso</font></b></div>";

}



include('config.php');

$data=file($datafile);

$nb=count($data);

?>



<html>

<head>

<title>Panel de administração - José Nunes</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>



<body bgcolor="#FFFFFF" text="#000000" link="#FFFFFF" vlink="#CCCCCC" alink="#CCCCCC">



<table width="760" border="0" cellspacing="1" cellpadding="0" align="center" height="566">

<tr>

<td bgcolor="#ffffff" height="6"><font face="Verdana, Arial,

Helvetica, sans-serif" size="2" color="#000000"> <b><a href="http://www.josenunes.net"><img src="logo_jn.png" width="280" height="100" border="0"></a></b></font></td>

</tr>

<tr>

<td bgcolor="#" height="221">

<table width="768" border="0" cellspacing="1" cellpadding="5" height="634">

<tr>

<td bgcolor="#f7f7f7" height="463" valign="top">

<form name="APP" method="post" action="">

<p><font face="Verdana, Arial, Helvetica, sans-serif"

size="2"><b><i>Campos do inquérito:

</i></b><br>

<br>

</font></p>

<table width="753" border="0" cellspacing="1" cellpadding="3" height="396" align="center">

<tr>

<td width="116" height="15"><font face="Verdana, Arial,

Helvetica, sans-serif" size="2">

<b>Pergunta</b></font></td>

<td colspan="3" height="15"> <font face="Verdana, Arial, Helvetica, sans-serif" size="2">

<input type="text" name="questao" size="100" maxlength="150"

value="<?php echo $data[0]; //primeira linha do arquivo

?>">

</font></td>

</tr>

<tr>

<td colspan="4" height="10"> </td>

</tr>

<tr>

<td colspan="4"><font face="Verdana, Arial, Helvetica,

sans-serif" size="2">

Entre com as modificações nos campos abaixo.</font></td>

</tr>

<tr>

<td width="116"> </td>

<td width="246">

<div align="center"><font face="Verdana, Arial,

Helvetica, sans-serif" size="2">

<b>Opções</b></font>

</div>

</td>

<td width="181">

<div align="center"><font face="Verdana, Arial,

Helvetica, sans-serif" size="2">

<b>Arquivo de imagem</b></font>

</div>

</td>

<td>

<div align="center"><font face="Verdana, Arial,

Helvetica, sans-serif" size="2">

<b>Votos</b></font>

</div>

</td>



<?

for($i=1; $i<=10; $i++)

{

//

// subdata recebe três valores, o php determina

// o fim de uma variável a cada ][, subdata[0] corresponde

// as opções, subdata[1] ao arquivo de imagem e subdata[2]

// ao número de votos

//

$subdata=explode("][",$data[$i]);

echo "<tr><td width=\"116\">

<font face=\"Verdana, Arial, Helvetica,

sans-serif\" size=\"2\">

<b>Opção $i</b></font></td>

<td width=\"246\">

<div align=\"center\">

<font face=\"Verdana, Arial, Helvetica,

sans-serif\" size=\"2\">

<input type=\"text\" name=\"opcao[$i]\"

size=\"40\" maxlength=\"40\" value=\"$subdata[0]\"></font></div>

</td><td width=\"181\">

<div align=\"center\">

<font face=\"Verdana, Arial, Helvetica,

sans-serif\" size=\"2\" >

<input type=\"text\" name=\"imagem[$i]\"

size=\"25\" maxlength=\"50\"

value=\"$subdata[1]\">

</font></div></td><td width=\"181\">

<div align=\"center\">

<font face=\"Verdana, Arial, Helvetica,

sans-serif\" size=\"2\">

<input type=\"text\" name=\"votos[$i]\"

size=\"4\" maxlength=\"4\"

value=\"$subdata[2]\">

</font></div></td></tr>";

}// fim do for

?>



</table>

<hr width="95%" size="1" align="center" noshade>

<table width="753" border="0" cellspacing="1" cellpadding="1">

<tr bgcolor="#f7f7f7">

<td width="154" height="22"><font face="Verdana, Arial,

Helvetica, sans-serif"

size="2"><b>Cores</b></font>

</td>

<td width="148" height="22"> </td>

<td width="22" height="22"> </td>

<td colspan="2" height="22"><font face="Verdana, Arial,

Helvetica, sans-serif" size="2">

<b>Outras configurações</b></font></td>

</tr>

<tr bgcolor="#f7f7f7">

<td width="154"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Texto</font></td>

<td width="148"> <font face="Verdana, Arial, Helvetica, sans-serif" size="2">

<input type="text" name="textcolor" maxlength="10" size="10" value="<?php echo $textcolor; ?>">

</font></td>

<td width="22"> </td>

<td width="218"><font face="Verdana, Arial, Helvetica,

sans-serif" size="2">Duração (horas)</font></td>

<td width="205"> <font face="Verdana, Arial, Helvetica, sans-serif" size="2">

<input type="text" name="timeout" size="3" maxlength="3" value="<?php echo $timeout; ?>">

</font></td>

</tr>

<tr bgcolor="#f7f7f7">

<td width="154"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Bgcolor</font></td>

<td width="148"> <font face="Verdana, Arial, Helvetica, sans-serif" size="2">

<input type="text" name="bgcolor" size="10" maxlength="10" value="<?php echo $bgcolor; ?>">

</font></td>

<td width="22"> </td>

<td width="218"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">

Arquivo que armazena os dados</font></td>

<td width="205"> <font face="Verdana, Arial, Helvetica, sans-serif" size="2">

<input type="text" name="datafile" size="25" maxlength="50" value="<?php echo $datafile; ?>">

</font></td>

</tr>

<tr bgcolor="#f7f7f7">

<td width="154"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Border</font></td>

<td width="148"> <font face="Verdana, Arial, Helvetica, sans-serif" size="2">

<b>

<input type="text" name="tableborder" size="10" maxlength="10" value="<?php echo $tableborder; ?>">

</b> </font></td>

<td width="22"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"> </font></td>

<td width="218"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">

Arquivo que armazena os IP</font></td>

<td width="205"> <font face="Verdana, Arial, Helvetica, sans-serif" size="2">

<input type="text" name="ip_file" size="25" maxlength="50" value="<?php echo $ip_file; ?>">

</font></td>

</tr>

<tr bgcolor="#f7f7f7">

<td width="154"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Font</font></td>

<td width="148"> <font face="Verdana, Arial, Helvetica, sans-serif" size="2">

<input type="text" name="font" size="20" maxlength="100" value="<?php echo $font; ?>">

</font></td>

<td width="22"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"> </font></td>

<td width="218"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Font-Size</font></td>

<td width="205"> <font face="Verdana, Arial, Helvetica, sans-serif" size="2">

<input type="text" name="fontsize"

value="<?php echo $fontsize; ?>"

size="1" maxlength="1">

</font></td>

</tr>

</table>

<div align="center">

<input type="hidden" name="passwd"

value="<?php echo $password; ?>">

<hr width="95%" size="1" align="center" noshade>

<input type="submit" name="submit"

value="Salvar as modificações">

<input type="reset" name="Submit2" value="Limpar">

</div>

</form>

<p> </p>

</td>

</tr>

</table>

</td>

</tr>

</table>

</body>

</html>

<?php

}

?>
[/codebox]

============================

ESTA É 0 VOTE.PHP

[codebox]
<?php

// ########################### head ###################################
// head: função que configura a página e inicializa a tabela
//
function head()
{
include('config.php');
echo "<BODY bgcolor=\"$bgcolor\" link=\"#CCCC00\"";
echo "vlink=\"#808080\"";
echo "alink=\"#808080\">";
echo "<table align=\"center\" width=\"-1\" height=\"-1\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" valign=\"top\">
<tr><td bgcolor=\"$tableborder\">
<table width=\"137\" height=\"-1\" border=\"0\" valign=\"top\"
cellpadding=\"0\" cellspacing=\"0\" align=\"center\" valign=\"top\">
<tr><td bgcolor=\"$bgcolor\">";
} // head

// ########################### foot ###################################
// foot: função que finaliza a tabela
//
function foot ()
{
echo "</td></tr></table></td></tr></table>";
} // foot

// ########################### record #################################
// record: grava o endereço ip no arquivo $ip_file
//
function record($REMOTE_ADDR)
{
include('config.php');

// abre o arquivo para escrita após a última linha.
$fp=fopen("$ip_file", "a+");

// envia para o arquivo o ip e a hora
fputs ($fp,$REMOTE_ADDR."][".time()."\n");
fclose($fp); // fecha o arquivo
} // record

// ########################### chech #################################
// check: função que checa se o ip já está gravado
//
function check($REMOTE_ADDR)
{
include('config.php');
global $valid;
$ip=$REMOTE_ADDR;
$data=file("$ip_file");
$now=time();
foreach ($data as $record)
{
$subdata=explode("][",$record);
if ($now < ($subdata[1]+3600*$timeout))
{
if ($ip == $subdata[0])
{
$valid=0;
break;
}
}
}
}// check

// ########################### save ##################################
// save: função que computa o voto
//
function save($opcao)
{
global $opcao;
include('config.php');
$data=file($datafile);
$subdata=explode("][",$data[$opcao]);
$subdata[2]+=1;
$data[$opcao]=implode("][", $subdata);
$data[$opcao]=$data[$opcao]."\n";
$fp=fopen($datafile,"w+");
$a=0;

do {
fputs($fp,$data[$a]);
$a++;
} while($a<count($data));

fclose($fp);
}// fim save

// ########################### form ##################################
// form: função que cria a tabela para votação
//
function form($PHP_SELF)
{
include('config.php');
head(); //inicializa a tabela
echo "<font size=\"$fontsize\" face=\"$font\" color=\"$textcolor\"><form method=\"post\" action=\"vote.php\"><p align=\"justify\">";
$data=file($datafile);
$question=$data[0];
$nb_options=count($data)-1;
echo "<b>$question<img border=\"0\" src=\"espaco.gif\" width=\"1\" height=\"1\"></b></p><img border=\"0\" src=\"espaco.gif\" width=\"1\" height=\"1\"><br>";
for($nb=1;$nb <= $nb_options; $nb++)
{
$option=explode("][","$data[$nb]");
if($nb == 1)
{
echo "<input type=\"radio\" name=\"opcao\" value=\"$nb\" checked>";
}
else{
echo "<input type=\"radio\" name=\"opcao\" value=\"$nb\">";
}
echo "$option[0]<br>";
}

echo "<input type=\"hidden\" name=\"save\" value=\"yes\">";
echo "<input name=\"I7\" type=\"image\" id=\"ok\" src=\"bot_votar.gif\">";
echo "<font size=\"$fontsize\" face=\"$font\" color=\"$textcolor\">
<img border=\"0\" src=\"espaco.gif\" width=\"15\" height=\"30\"></font></p>";
foot();// fecha a tabela
}// form

// ########################### results ##################################
// results: função que imprime os resultados
//
function results()
{
include('config.php');

head();

$data=file($datafile);
$nb_answers=count($data);
$votes=0;
$a=1;

do { // calcula o total de votos
$subdata=explode("][",$data[$a]);
$votes += $subdata[2];
$a++;
} while($a < $nb_answers);

$a=1;
$b="answerv";
if($votes!=0)
$v=100/$votes; //descobre o valor de 1 voto em %
echo "<p><font size=\"$fontsize\" face=\"$font\"
color=\"$textcolor\"><b>$data[0]<br><img border=\"0\" src=\"bar_sep.gif\" width=\"100%\" height=\"5\">Resultado do Inquérito
</b><br><img border=\"0\" src=\"bar_sep.gif\" width=\"100%\" height=\"5\"><br>";

do {
$subdata=explode("][",$data[$a]);
$av = $subdata[2] * $v; // calcula a porcentagem de cada opção
echo "<font size=\"$fontsize\" face=\"$font\" color=\"$textcolor\">$subdata[0] ";
echo " - $subdata[2] votos<br>";
echo "<img src=\"$subdata[1]\" border=\"0\" width=\"$av\"
height=\"10\">";
printf(" %01.1f", $av);
echo"%<br>";
$a++;
} while ($a < $nb_answers);

echo "<img border=\"0\" src=\"bar_sep.gif\" width=\"100%\" height=\"5\"><br><font size=\"$fontsize\">
Total: $votes votos!";
echo "<br>";
foot(); //fecha a tabela
}// results

// ########################### execução ################################
// execução da página
//

$action = $_POST['action'];
$save = $_POST['save'];
$opcao = $_POST['opcao'];



check($REMOTE_ADDR);

if ($valid=="0")// se já votou, mostra somente os resultados
{
results();
}
elseif ($action=="results") // se clicar para ver os resultados
{
results();
}
elseif ($save=="yes" && $valid!="0") // se votou e o ip ainda não foi gravado
{
save($opcao); // computa o voto
record($REMOTE_ADDR); // grava o ip
results(); // mostra os resultados
}
elseif ($action=="save" && !empty($valid)) // se enviou o voto, sem
// marcar uma opção
{
results();
}
elseif ($action!="save" && $valid!="0") // se ainda não enviou o voto,
// mas uma opção está marcada
{
form($PHP_SELF);
}

?>

=====================

ESTE É O CONFIG.PHP


<?php
$textcolor='black';
$linkcolor='#FFFFFF';
$bgcolor='#f7f7f7';
$tableborder='#f7f7f7';
$timeout='999';
$ip_file='ip.txt';
$font='Tahoma';
$fontsize='1';
$datafile='dados.txt';
?>
[/codebox]

Link para o comentário
Compartilhar em outros sites

  • 0
Coloca um pedaço do código da enquete aqui... provavelmente ela precise de register_globals ON para funcionar e no seu host ela está OFF... ai é mais fácil fazer uma gambiarra para ela voltar a funcionar, já que você já está acostumado com ela.

você pode ajudar nessa enquete, ela é muito boa e simples é pena não funcionar em PHP5.

Saudações,

José Nunes

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...