José Nunes Postado Fevereiro 18, 2008 Denunciar Share Postado Fevereiro 18, 2008 Oi galéra!Tenho uma enquete muito boa e simples, mas só fuciona em PHP 4.Queria saber se sabem de alguma enquete simples que funcione em php 5?Obrigado!Saudações,José Nunes Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Fevereiro 18, 2008 Denunciar Share Postado Fevereiro 18, 2008 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 José Nunes Postado Fevereiro 18, 2008 Autor Denunciar Share Postado Fevereiro 18, 2008 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] Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 José Nunes Postado Março 11, 2008 Autor Denunciar Share Postado Março 11, 2008 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Março 11, 2008 Denunciar Share Postado Março 11, 2008 Eu quase descartei o que pensava, troque:$PHP_SELF por $_SERVER['PHP_SELF']$REMOTE_ADDR por $_SERVER['REMOTE_ADDR'] Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 José Nunes Postado Março 11, 2008 Autor Denunciar Share Postado Março 11, 2008 Eu quase descartei o que pensava, troque:$PHP_SELF por $_SERVER['PHP_SELF']$REMOTE_ADDR por $_SERVER['REMOTE_ADDR']Não mudou nada. :) Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
José Nunes
Oi galéra!
Tenho uma enquete muito boa e simples, mas só fuciona em PHP 4.
Queria saber se sabem de alguma enquete simples que funcione em php 5?
Obrigado!
Saudações,
José Nunes
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
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.