Jump to content
Fórum Script Brasil
  • 0

Enquete em PHP 5


José Nunes

Question

5 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152k
    • Total Posts
      651.5k
×
×
  • Create New...