Jump to content


Photo

Quero Abrir Enquete Em Pop-up!


  • Faça o login para participar
7 replies to this topic

#1 JAL_RS

JAL_RS

    Novato no fórum

  • Usuários
  • 17 posts
  • Sexo:Não informado

Posted 03/02/2005, 23:38

Olá, td bem?
seguinte...
eu montei um sistema de enquete p/ meu site...

ela entra na página principal do site pelo "include"... até aí tudo bem...
só q eu gostaria de fazer com q ela abrisse em forma de pop-up, não a enquete, mas sim seus resultados...

tipo, a enquete aparece assim na página principal:

qual é seu nome?
1-bla
2-bla
3-bla

VOTAR / RESULTADOS

então, o caboclo marca a opção e a partir do momento q confirma seu voto no botãozinha, abre uma pop-up com os resultados, ao invés de abrir na mesma página... esse esquema de abrir na mesma página tá bagunçando todo meu site...

vou mandar o código p/ vcs, aí quem puder me ajudar, já altera p/ mim de maneira q fique como gostaria...

Valeu galera!
Um abração à todos!

<LINK href="estilo.css" type=text/css rel=stylesheet>
<body topmargin="0" leftmargin="4">
<?php

// ###########################  head  ###################################
// head: função que configura a página e inicializa a tabela
//
function head()
{
	include('enquete_config.php');
	echo "<BODY bgcolor=\"$bgcolor\" link=\"#CCCC00\"";
	echo "vlink=\"#808080\"";
	echo "alink=\"#808080\">";
	echo "<table align=\"\" width=\"148\" height=\"\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" valign=\"top\">
  <tr><td bgcolor=\"$tableborder\">
  <table width=\"148\" height=\"0\" border=\"0\" valign=\"top\"
  cellpadding=\"0\" cellspacing=\"0\" align=\"\" 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('enquete_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('enquete_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('enquete_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('enquete_config.php');
    head(); //inicializa a tabela
    echo "<font size=\"$fontsize\" face=\"$font\" color=\"$textcolor\"><form method=\"post\" action=\"vote.php\"><p align=\"left\">";
    $data=file($datafile);
	$question=$data[0];
  $nb_options=count($data)-1;
    echo "<b>$question<img border=\"0\" src=\"imgs/espaco.gif\" width=\"1\" height=\"1\"></b></p><img border=\"0\" src=\"imgs/imgs/espaco.gif\" width=\"1\" height=\"1\"><br>";
    for($nb=1;$nb <= $nb_options; $nb++)
	{
  $option=explode("][","$data[$nb]");
  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=\"imgs/bot_votar.gif\">";
    echo "<font size=\"$fontsize\" face=\"$font\" color=\"$textcolor\">
  <img border=\"0\" src=\"imgs/espaco.gif\" width=\"5\" height=\"25\">
  <a href=\"vote.php?action=results\">
  <img border=\"0\" src=\"imgs/bot_result.gif\"></font></p>";
	foot();// fecha a tabela
}// form

// ###########################  results  ##################################
// results: função que imprime os resultados
//
function results()
{
	include('enquete_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=\"imgs/bar_sep.gif\" width=\"100%\" height=\"5\">Resultado da enquete.
  </b><br><img border=\"0\" src=\"imgs/bar_sep.gif\" width=\"100%\" height=\"5\"><br>";

	do {
  $subdata=explode("][",$data[$a]);
  $av = $subdata[2] * $v; // calcula a porcentagem de cada opção
        $p2v = 100-$av;
        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\"><img src=\"imgs/imgfund.gif\" width=\"$p2v\" height=\"10\">";
        printf(" %01.1f", $av);
  echo"%<br>";
  $a++;
	} while ($a < $nb_answers);

	echo "<img border=\"0\" src=\"imgs/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
//
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);
}

?>


#2 bimonti

bimonti

    Super Veterano

  • Usuários
  • 2654 posts
  • Sexo:Masculino

Posted 04/02/2005, 08:02

Mamá na vaca você num qué né ???

Os cara chega pedindo código prontinho na cara dura. Além de pedir na seção errada, isso aqui é php, abrir pop up seria em Javascript, mas vamo lá:

Vamos fazer assim, te dou o código e você monta pra pelo menos aprender a identificar as funções do php, já é um começo:

<script language="javascript">
  function Open(pagina,janela) {
  window.open(pagina,janela,'menubar=no,toolbar=no,status=no,left=50,top=50,width=300,height=300,resizable=no')
}
</script>

Analisando o código você verá que criei uma função para abrir uma página e embaixo declaro os atributos como tamanho e menus que aparecem. Esse código fica entre as tags <head></head> da sua página.

Ae onde você quer que aparece o link parar abrir em nova janela você coloca este código.

<a href="javascript:Open('resultados.php','Resultados')">Votar</a>

Agora é só colocar no seu código.

E da próxima vez use a busca:

http://forum.wmonlin...p?act=Search&f=

Valeu...
WebFórum - Equipe de Desenvolvimento - Monitor
Posted Image
Yeah I do have some stories, and it's true I want all the glory ...

#3 Rodrigo

Rodrigo

    oi!

  • Usuários
  • 995 posts
  • Sexo:Não informado
  • Interesses:Diretório de sites - http://www.acheinobrasil.com.br

Posted 04/02/2005, 08:10

eh simples... html básico

muda isso:

<form method=\"post\" action=\"vote.php\">

para isso:

<form method=\"post\" action=\"vote.php\" target=\"_blank\">

isso ja vai mandar para outra janela, la vc pode fecha-la e abrir em uma popup, assim nao ira estragar nada no seu layout... ou como o amigo de cima ai disse... soh nao acho muito bom o uso de popups atualmente devido a grande quatidade de pessoas q usam anti-popup...

#4 H3NR!QU3

H3NR!QU3

    Progamador PHP!

  • Usuários
  • 1032 posts
  • Sexo:Não informado
  • Localidade:cuiaba MT
  • Interesses:programação... PHP,JAVA,C++ ,c,c# asp, asp.net e delph

Posted 04/02/2005, 08:19

os anti-poups so bloqueia a pop-up que nao vem atrazvez de link .

movido : javascript/html/dhtml

#5 Célio-Ctba

Célio-Ctba

    12 Horas

  • Usuários
  • 293 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR

Posted 04/02/2005, 09:08

Sabem me dizer se com ASP também é possível fazer esta tarefa exatamente assim?

Abraços!
- Jesus -

#6 netho

netho

    Novato no fórum

  • Usuários
  • 21 posts
  • Sexo:Não informado

Posted 04/02/2005, 10:00

Porque vc simplesmente nao vai no www.enquetes.com.br e faz sua enquete la?, ja tem tudo pronto! No stress (y) :lol:
Eu queria ter nascido rico, em vez de bonito! =)

#7 Célio-Ctba

Célio-Ctba

    12 Horas

  • Usuários
  • 293 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR

Posted 04/02/2005, 10:06

Valeu mesmo, esse eu nunca tinha visto falar, vou dar uma olhada agora.


Abraços!!
- Jesus -

#8 JAL_RS

JAL_RS

    Novato no fórum

  • Usuários
  • 17 posts
  • Sexo:Não informado

Posted 04/02/2005, 15:22

Vlw aí rapaziada!!!!!!
vou testar o código aqui, mas acho q vai dar certo!





2 user(s) are reading this topic

0 membro(s), 2 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq