View Full Version : (flash) como adicionar um contador de visitas?
rm_fontes 03-01-2007, 20:43 estou a criar um site em flash e tenho mais uma duvida.
quero adicionar um contador de visitas... ja vi um exemplo em que eram precisos um ficheiro txt e um php junto ao ficheiro do flash.
sei que o ficheiro txt tem de ter permiçoes 777 senao n escreve as visitas e o servidor para onde tenho k mandar a pagina nao da essa permissao.
+reciso entao de um contador k nao use o txt.
é possivel aplicar um contador tipo do bravenet???
quero tb criar um guestbook mas tb tem k ser armazenada a info notro tipo de ficheiro.
bem o ideal para fazeres um script deste género é guardares os dados numa base de dados...é mais fácil ( o php oferece-te dezenas de funções para manipulares os dados em Base de dados, especialmente Mysql) e seguro
rm_fontes 07-01-2007, 15:09 bem o ideal para fazeres um script deste género é guardares os dados numa base de dados...é mais fácil ( o php oferece-te dezenas de funções para manipulares os dados em Base de dados, especialmente Mysql) e seguro
deste genero como? sei que da para usar como banco de dados um documento do access mas nao sei como o fazer...
o teu servidor está preparado para rodar PHP e tem servidor de Base de dados Mysql??é que com Access é mais complicado pelo menos para mim)
o teu servidor está preparado para rodar PHP e tem servidor de Base de dados Mysql??é que com Access é mais complicado (pelo menos para mim)
rm_fontes 08-01-2007, 00:00 eta preparado para php e suporta mysql... uma ajudinha era bem vinda...
bem este apesar de simples funciona:
Primeiro tens de criar uma nova base de dados de nome visitas
de seguida crias uma tabela com dois campos (id,ip) com o seguinte código sql;
CREATE TABLE `visitas` (
`id` INT( 50 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`ip` VARCHAR( 250 ) NOT NULL
) TYPE = innodb;
e depois inseres este script php dentro do html da página que pretendes que se conte as visitas:
<?php
# tira o ip do utilizador
$ip=getenv("REMOTE_ADDR");
#abre a ligação á base de dados, por norme o host é localhost, o user é root , tens de inserir
nas terceiras aspas a tua password de acesso ao teu servidor Mysql
$abrir=mysql_connect("localhost","root","") or die ("impossivel ligar á base de dados");
#escolhe a base de dados dentro do servidor
mysql_select_db(visitas,$abrir);
#contabiliza uma nova visita
mysql_query('INSERT INTO visitas (id,ip) values("","'.$ip.'")');
#Visualiza o número de visitas
$total=mysql_num_rows(mysql_query("SELECT * FROM visitas"));
#escreve na página o número de visitas, se quiseres que as visitas fiquem só para ti guarda esta página num local do servidor que só tu tenhas acesso....
echo"Você é o visitante número $total";
?>
Não te esqueças de salvar a página com a extensão .php
rm_fontes 09-01-2007, 15:41 ta a dar...
eu quero fazer a pagina toda em flash por isso tenho k quardar o codigo num php e atraves do flash chamar esse codigo. mas como faço isso? sei que para ser enviada a contagem no final tenho k alterar a parte final do codigo (vi noutro exemplo).
se quiseres que os dados fiquem só para ti podes criar este script e guardas num local restrito do servidor...se quiseres que a contagem fique disponivel para todos tens de juntar actionscript com php....usas a classe loadvars do actionscript no teu site flash, que serve para "ir buscar variáveis externas" e mostrá-las no flash
rm_fontes 10-01-2007, 00:11 ja puz o contador... ta a funcionar as mil maravinhas... como tinha dito do 1º post tb queria por um livro de visitas... sabes como fazer?
1ºfazes um form em html
2ªrecebes os dados num script php
por exemplo:
Tens os campos de formulário nome e mensagem
a)transformas as variáveis carregadas no html(post) para novas variáveis
$nome=$_POST['nome'];
$msg=$_POST['mensagem'];
$data=date("d-m-Y");
$hora=date("H:i:s");
depois fazers o mesmo procedimento para as visitas...
crias uma base de dados com uma tabela com os quatro campos
ligas-te á base de dados
$abrir=mysql_connect("localhost","root","") or die ("impossivel ligar á base de dados");
#escolhes a base de dados
mysql_select_db(guestbook,$abrir);
#e inseres os valores
$resultado=mysql_query('INSERT INTO visitas (nome,mensagem,data,hora) values("'.$nome.'","'.$mensagem.'","'.$data.'","'.$hora.'")');
#para visualizares os valores podes usar a seguinte função:
while ($registo=mysql_fetch_array($resultado)){
$nomedoutilizador=$registo["nome"];
$mensagem=$registo["msg"];
$dat=$registo["data"];
$hor=$registo["hora"];
/*já tens aqui os resultados num array...depois se quiseres e para ficar mai atraente colocas os resultados numa tabela:*/
<table width=202 border=3 cellspacing=0 cellpadding=0>
<tr>
<td width=194>$mensagem</td>
</tr>
<tr>
<td>$nomedoutilizador<br>$dat<br>$hor</td>
</tr>
</table>
<br>
espero que tenhas percebido a ideia:)
rm_fontes 10-01-2007, 11:14 vou ver...
este é só um exemplo que fiz á pressão somente para tu perceberes...não tes esqueças que tens de criar uma validação para o teu formulário HTML para não se inserir campos vazios....
rm_fontes 10-01-2007, 15:33 ainda nao testei...
no flash nao consigo criar hiperligações... lembrei-me que podia chamar um ficheiro php e esse fazer a hiperligação... como fazer a hiperligação no php?
tentei
<?php
$abrir="www.google.pt";
?>
mas nao da...
ainda nao testei...
no flash nao consigo criar hiperligações... lembrei-me que podia chamar um ficheiro php e esse fazer a hiperligação... como fazer a hiperligação no php?
tentei
<?php
$abrir="www.google.pt";
?>
mas nao da...
<?php
echo"<a href=link.php>Link</a>";
?>
rm_fontes 11-01-2007, 15:27 <?php
echo"<a href=link.php>Link</a>";
?>
nao consegui... se calhar nao me expliquei bem.
segundo o que percebi o comando echo é para aparecer alguma coisa na pagina. nao quero isso quero ao clicar no link no flash ele abra este ficheiro e este automaticamente re-encaminhe para um site. nao deve aparecer nada na janela de visualização... podes colocar o ex com o site do google para eu perceber melhor?
o exeplo de cima é assim:
<?php
echo"<a href=http://www.google.com>Ir para google</a>";
?>
Como dizes isto apenas cria um script em que aparece uma hiperligação na pa´gina, não vai abrir nada....
o que tu pretendes é isto:
actionscript:
escreves isto nas actions do teu botão:
on(release){
getURL(http://www.google.com (http://www.google.com/));
}
rm_fontes 12-01-2007, 12:54 esse codigo ja tentei a muito. era o normal mas com o ie7 e firefox 2.0 existem bloqueios que impedem a hiperligação. se conseguisse fazer a hiperligação para um ficheiro alojado no servidor e esse fazer para o site que quaria é que tornava possivel as hiperligações... e kk coisa com o comando $abrir??? tem k ser alguma coisa que logo que o ficheiro seja executado faça...
<?php
header("Location: link.php");
?>
rm_fontes 19-02-2007, 01:10 tudo bem?
estive um tempo ausente...
ja ando a dar uns toques em myskl e agora as minha duvidas sao mais concretas.
qual o comando para retornar o ultimo valor de uma tabela. o k quero é o ultimo ip da base de dados visitas (esta em cima)
tens um campo 'id' auto_increment? caso afirmativo usa a seguinte função Mysql:
last_insert_id()
rm_fontes 21-02-2007, 12:49 tenho mas o k quero nao é o valor no id, quero o valor ip.
estou a criar uma daquelas questoes de escolha multipla co 4 hipoteses de resposta. tenho k armazenar as opcoes em 4 tabelas diferentes? a forma de armazenamento pode ser id auto increment, pois quero criar um grafico com as percentagens de cada resposta... ao fim é so ir buscar o total de cada resposta.
tentei usar o seguinte:
$abrir=mysql_connect("localhost","root","") or die ("impossivel ligar á base de dados");
mysql_select_db(visitas,$abrir);
$ip=last_insert_id(mysql_query("SELECT * FROM visitas");
echo "o ip é $ip";
e tentei tb com $ip=mysql_query(last_insert_id("SELECT * FROM visitas"));
mas da erro na linha do $ip
faz desta maneira:
fazes um primeiro select á base de dados para saber o número total de registos usando a sentença "select max(id) from tabela;"guardas este resultado numa variável($v) e fazes uma nova query para ir buscar o ultimo ip da base de dados :"select ip from tabela where (id=$v);"...espero que tenhas percebido:)
rm_fontes 21-02-2007, 19:19 eu penso k percebi mas n deu.
eu puz assim:
$abrir=mysql_connect("localhost","root","") or die ("impossivel ligar á base de dados");
mysql_select_db(visitas,$abrir);
$v=mysql_query("select max(id) from visitas");
$ip=mysql_query("select (ip) from visitas where (id=$v)");
echo "o id é $v e o ip é $ip";
o k aparece é "o id é Resource id #2 e o ip é "
em $v era suposto aparecer prai 150, no ip nao aparece nada.
e diz-me se este codigo esta certo:
<?php
$ip=getenv("REMOTE_ADDR");
$abrir=mysql_connect("localhost","root","") or die ("impossivel ligar á base de dados");
mysql_select_db(visitas,$abrir);
$ip2= ---------------------------------------------------
mysql_select_db(visitas,$fechar);
$abrir=mysql_connect("localhost","root","") or die ("impossivel ligar á base de dados");
mysql_select_db(questao,$abrir);
if ($ip != $ip2) {
switch (opcao) {
case 1:
mysql_query('INSERT INTO 1 (id) values("")');
print "questao=Votaste com sucesso."
case 2:
mysql_query('INSERT INTO 2 (id) values("")');
print "questao=Votaste com sucesso."
case 3:
mysql_query('INSERT INTO 3 (id) values("")');
print "questao=Votaste com sucesso."
case 4:
mysql_query('INSERT INTO 4 (id) values("")');
print "questao=Votaste com sucesso."
otherwise print "questao=Só podes votar uma vez em cada secção."
}
}
$total1=mysql_num_rows(mysql_query("SELECT * FROM 1"));
$total2=mysql_num_rows(mysql_query("SELECT * FROM 2"));
$total3=mysql_num_rows(mysql_query("SELECT * FROM 3"));
$total4=mysql_num_rows(mysql_query("SELECT * FROM 4"));
$total=$total1+$total2+$total3+$total4
$op1=$total1/$total*100
$op2=$total2/$total*100
$op3=$total3/$total*100
$op4=$total4/$total*100
print "op1=$op1&op2=$op2&op3=$op3&op4=$op4"
ao executar da erro na $op1
é feito em flash e é enviado para o php um valor opcao que pode tomar valores de 1 a 4.
depois é enviado de volta ao flash uma mensagem e as variaveis op1,op2,op3,op4.
tenho uma base de dados com nome 'questao' com 4 tabelas
e ja agora '!=' é 'diferente' certo?
Boas!
Começa a usar as tags CÓDIGO ou CÓDIGO quando quiseres meter código, ajuda e muito quem te quer ajudar..., eu perco-me no meio de tanta linha :X
abraços, HecKel
rm_fontes 22-02-2007, 22:06 alguma ajuda?
tenta antes usar o mysql_num_rows
rm_fontes 25-02-2007, 23:54 mas eu preciso do valor da 2ª coluna. e esse comando nao vai dar o ultimo valor...
esse comando da um valor prai 120 e o id da ultima é prai 160
mas eu preciso do valor da 2ª coluna. e esse comando nao vai dar o ultimo valor...
esse comando da um valor prai 120 e o id da ultima é prai 160
como assim...se o campo id é auto-increment o mysql_num_rows dá-te o número total de id´s ou seja o número de registos da tabela
rm_fontes 28-02-2007, 14:51 é k eu apaguei uns valores porque aquilo estava a contar a mais ao inicio mas ja consigo ter o ultimo valor. mas no ip não aparece o k devia.
o codigo esta assim:
<?php
$abrir=mysql_connect("localhost","root","") or die ("impossivel ligar á base de dados");
mysql_select_db(visitas,$abrir);
$total=mysql_num_rows(mysql_query("SELECT * FROM visitas"));
$id = $total + 76;
$ip=mysql_query("SELECT ip FROM `visitas` WHERE `id` = $id");
echo "id é $id e o ip é $ip";
?>
o k aparece é "id é 200 e o ip é Resource id #3 "
na base de dados o comando da mas por php aparece "Resource id #3"
pela lógica julgo que devia dar...vou averiguar e logo te digo qq coisa
faz antes assim:
<?php
$abrir=mysql_connect("localhost","root","") or die ("impossivel ligar á base de dados");
mysql_select_db(visitas,$abrir);
$total=mysql_num_rows(mysql_query("SELECT * FROM visitas"));
$id = $total + 76;
$ip = $_SERVER['REMOTE_ADDR'];
echo "id é $id e o ip é $ip";
?>
Braz I Braz 28-02-2007, 20:31 fill ,tu és um mestre ,
quem me dera estar ja no teu nivel ,mas temo q o caminho seja longo ainda
por mais que desbrave livros e livros parece q so aprendo a mexer o rato :-D uma piada seca
acho que quando tiver duvidas ,vou te chatear um buca
ja agora ,vives onde ?
pa te cravar umas explicaçoes..
cumprimentos
rm_fontes 02-03-2007, 16:17 faz antes assim:
<?php
$abrir=mysql_connect("localhost","root","") or die ("impossivel ligar á base de dados");
mysql_select_db(visitas,$abrir);
$total=mysql_num_rows(mysql_query("SELECT * FROM visitas"));
$id = $total + 76;
$ip = $_SERVER['REMOTE_ADDR'];
echo "id é $id e o ip é $ip";
?>
quero comparar o ip k esta a aceder no momento com o ultimo k acedeu...
para ir buscar o ip do k esta a aceder é mt facil mas preciso do ultimo tb
é que quero fazer uma daquelas questoes tipo se esta a gostar do site mas quero impedir que votem 2 vezes seguidas...
colocando:
$total1=mysql_num_rows(mysql_query("SELECT * FROM `questao`.`1`"));
$total=$total1+$total2+$total3+$total4; estando todas as variaveis definidas
$op = $total1 / $total porque da erro isto? (Parse error)
a minha ideia aqui é colocar em percentagem, por isso ainda é preciso multiplicar por 100
mas se fizeres assim o mesmo IP pode votar mais do que uma vez...apenas estás a comparar com o último ip visitado...podes fazer assim: crias uma nova tabela na bd (votos) onde guardas os IP's que votaram...ao chegar um novo utilizador para votar fazes uma busca á tabela votos e comparas com o ip do utilizador...se esse ip existir na tabela não deixa votar, caso contrário pode votar...para cada ip um voto...espero que tenhas percebido
rm_fontes 04-03-2007, 16:19 mas se fizeres assim o mesmo IP pode votar mais do que uma vez...apenas estás a comparar com o último ip visitado...podes fazer assim: crias uma nova tabela na bd (votos) onde guardas os IP's que votaram...ao chegar um novo utilizador para votar fazes uma busca á tabela votos e comparas com o ip do utilizador...se esse ip existir na tabela não deixa votar, caso contrário pode votar...para cada ip um voto...espero que tenhas percebido
penso k percebi.
mas como faço para comparar com todos os valores da tabela?
colocando:
$total1=mysql_num_rows(mysql_query("SELECT * FROM `questao`.`1`"));
$total=$total1+$total2+$total3+$total4; estando todas as variaveis definidas
$op = $total1 / $total porque da erro isto? (Parse error)
a minha ideia aqui é colocar em percentagem, por isso ainda é preciso multiplicar por 100
penso k percebi.
mas como faço para comparar com todos os valores da tabela?
ex:
$ip = $_SERVER['REMOTE_ADDR'];
$query=mysql_query("select ip from votos where ip='$ip'");
$verifica=mysql_num_rows($query);
if($verifica=="0"){
//pode votar
}else{
//não pode votar
?>
em relação ao erro que dá, o raciocinio parece-me correcto....já verificaste se tem o ;?
rm_fontes 07-03-2007, 00:54 faltava o ;...
como faço para enviar varias variaveis para o flash?
nao é assim:
print "op1=$op1&op2=$op2&op3=$op3&op4=$op4&total=$total"
em actionscript usa a função LoadVarsNum
rm_fontes 07-03-2007, 22:11 em actionscript usa a função LoadVarsNum
a parte em flash eu sei mas nao aparecem os valores no flash. se eu executar o php com o comando ao fom 'echo' aparecem os valores, ao executar o php pelo flash e com o comando 'print' nao aparece nada...
chiaretto 18-12-2007, 15:34 Nesse link aqui
Contador de visitas (http://blog.c4midia.com.br/?p=14)
Tem um contador de visitas feito em flash.
Ele explica como foi feito e tem o arquivo .fla para estudo.
Se alguem quizer usar o contador é só colocar o codigo
Do jeito que esta nao precisa programar nada, nem de banco de dados.
Só ler e colocar no site.
<script src="http://www.c4midia.com.br/acessorios/contador/contador.js" type="text/javascript"></script>
E pronto.
É simples mas é legal.
Devil_Angel100 26-01-2008, 14:38 alguem me sabe dixer como faxo para numa pagina html por as letras a rodar em cirulo tipo paxo com o rato numa letra e a que esta na direita vem para a frente como ta neste site...
http://www.alvinandthechipmunksmovie.com/
espero ke me poxam ajudar cumprimentos
|