Irá precisar utilizar de Ajax. No onclick haverá um método Javascript que irá receber a requisição do evento e irá via Ajax enviar uma requisição para o PHP.
Abraço!
Como posso fazer isso?
There have been 37 items by Jola (Search limited from 29/03/2023)
Posted by Jola on 17/10/2008, 11:04 in PHP
<?php //nome do arquivo $arquivo = "nota.txt"; // arquivo do contador $arquivo2 = "conta.txt"; $arquivo3 = "divide.txt"; //se existe o arquivo de texto ele lê e incrementa if(file_exists($arquivo)) { //'r+' Abre para leitura e escrita; coloca o ponteiro do arquivo no começo do arquivo. $ponteiro = fopen ($arquivo , "r+" ); $ponteiro2 = fopen ($arquivo2 , "r+" ); $ponteiro3 = fopen ($arquivo3 , "r+" ); //le o conteúdo do arquivo $contador = fread($ponteiro, filesize($arquivo)); $contador2 = fread($ponteiro2, filesize($arquivo)); $contador3 = fread($ponteiro3, filesize($arquivo)); //fecha o arquivo fclose($ponteiro); fclose($ponteiro2); fclose($ponteiro3); //média e soma $contador +=5; $contador2 +=1; $contador3 = ($contador/$contador2); //'w+' Abre o arquivo para leitura e escrita; coloca o ponteiro do arquivo no começo $ponteiro = fopen($arquivo,"w+"); $ponteiro2 = fopen($arquivo2,"w+"); $ponteiro3 = fopen($arquivo3,"w+"); //grava no arquivo o valor fwrite($ponteiro, $contador); fwrite($ponteiro2, $contador2); fwrite($ponteiro3, $contador3); //fecha o arquivo fclose($ponteiro); fclose($ponteiro2); fclose($ponteiro3); // mostra o numero contador echo $contador3; } ?>
<td width="24" onmouseover="vota('5')" onmouseout="retira('5')"><img id="5" src="image/gold_star.png" border="0"></a></td>
<td width="24" onmouseover="vota('5')" onmouseout="retira('5')"><img id="5" src="image/gold_star.png" border="0" onclick="comando php"></a></td>
Posted by Jola on 16/10/2008, 18:15 in PHP
Cara, eu não conheço nenhum mas eu acho que é bem simples de se fazer um...
Se quiser fazer um do 0, podemos trocar umas idéias aqui e certamente o pessoal aqui do fórum vai ajudar muito também!
Flws!
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Votação</title> </head> <style> .ajax{ font-family:Tahoma; font-size:10pt; color:#333333; } </style> <script> function cache() { imagens = new Image(); imagens.src='image/silver_star.png'; imagens.src='image/gold_star.png'; } function vota(id) { if(id==1) { document.getElementById('nota').innerHTML="<font class='ajax'>Ruím</font>"; } if(id==2) { document.getElementById('nota').innerHTML="<font class='ajax'>Regular</font>"; } if(id==3) { document.getElementById('nota').innerHTML="<font class='ajax'>Bom</font>"; } if(id==4) { document.getElementById('nota').innerHTML="<font class='ajax'>Muito bom</font>"; } if(id==5) { document.getElementById('nota').innerHTML="<font class='ajax'>Ótimo</font>"; } for(i = 0; i < id; i++) { document.getElementById(i+1).src="image/gold_star.png"; } } function retira(id) { for(i = 5; i > id; i--) { document.getElementById(i).src="image/silver_star.png"; } } </script> <body> <body onLoad="cache()"> <table cellspacing=2 cellpading=2> <tr> <td width="16" onmouseover="vota('1')" onmouseout="retira('1')"><img id="1" src="image/gold_star.png" border="0"></td> <td width="16" onmouseover="vota('2')" onmouseout="retira('2')"><img id="2" src="image/gold_star.png" border="0"></a></td> <td width="16" onmouseover="vota('3')" onmouseout="retira('3')"><img id="3" src="image/gold_star.png" border="0"></a></td> <td width="16" onmouseover="vota('4')" onmouseout="retira('4')"><img id="4" src="image/gold_star.png" border="0"></a></td> <td width="24" onmouseover="vota('5')" onmouseout="retira('5')"><img id="5" src="image/gold_star.png" border="0"></a></td> <td id="nota" width="65"></td> </tr> </table> </body> </html>
Posted by Jola on 16/10/2008, 17:33 in PHP
Posted by Jola on 15/10/2008, 13:30 in MySQL
Dependendo do formato, você pode até executar o seu conteúdo como query normal... como se fosse um SELECT, saca?
#
# Estrutura da table `counter`
#
CREATE TABLE counter (
id int(3) NOT NULL auto_increment,
nom varchar(30) NOT NULL default '',
cat varchar(30) NOT NULL default '',
url varchar(70) NOT NULL default '',
target varchar(20) NOT NULL default '',
clic int(5) NOT NULL default '0',
PRIMARY KEY (id)
) TYPE=MyISAM;
#
# Estrutura da table `counter_detail`
#
CREATE TABLE counter_detail (
id varchar(20) NOT NULL default '',
agent varchar(100) NOT NULL default '-',
ip varchar(20) NOT NULL default '-',
date varchar(25) NOT NULL default '',
KEY id (id)
) TYPE=MyISAM;
Posted by Jola on 15/10/2008, 12:46 in MySQL
Posted by Jola on 15/10/2008, 01:35 in PHP
Eita contador de visitas por arquivos, dependendo do site pode "sobrecarregar" o servidor, mas se você não usar banco de dados, (recomendo usar), uma sugestão seria a pessoa ao visitar uma página, o script pegar e gravar a URL da página como nome do arquivo tipo:
"site.com+categoria+link.txt"
depois substituiria os sinais positivos por barras para ficarem como links:
"site.com/categoria/link"
E ele gravaria naquele TXT com nome do link atual que a pessoa está, gravaria o valor atual dele +1 (como um contador igual ao seu mesmo).
Para fazer um ranking, pdoeria varrer a pasta em busca desses TXT's como se fosse cada TXT um link de uma página, e pegaria o valor deles e mostraria a quantidade de visitas que cada link/página teve.
Ou seja, simples de se fazer na prática provavelmente, mas algo não recomendado mesmo, já que com banco de dados seria mais simples, gravando o site atual em um registro da tabela, e em outra coluna desse registro gravava +1 sempre que alguem acessava determinada página.
Posted by Jola on 12/10/2008, 20:23 in PHP
<?php //nome do arquivo $arquivo = "contador.txt"; // arquivo do contador //se existe o arquivo de texto ele lê e incrementa if(file_exists($arquivo)) { //'r+' Abre para leitura e escrita; coloca o ponteiro do arquivo no começo do arquivo. $ponteiro = fopen ($arquivo , "r+" ); //le o conteúdo do arquivo $contador = fread($ponteiro, filesize($arquivo)); //fecha o arquivo fclose($ponteiro); //soma 0 valor + 1 $contador +=1; //'w+' Abre o arquivo para leitura e escrita; coloca o ponteiro do arquivo no começo $ponteiro = fopen($arquivo,"w+"); //grava no arquivo o valor fwrite($ponteiro, $contador); //fecha o arquivo fclose($ponteiro); // mostra o numero contador echo $contador; } ?>
Posted by Jola on 12/10/2008, 13:40 in Artigos, Dicas e Tutoriais de PHP
if(strlen($_POST['mensagem']) > 1000){
Warning: mail() [function.mail]: Safety Restriction in effect. The mail() command is not allowed, contact the admin. in /www/110mb.com/t/e/s/t/s/i/t/e/testesite20/htdocs/contato/enviar.php on line 59
Posted by Jola on 12/10/2008, 13:01 in Artigos, Dicas e Tutoriais de PHP
Ola amigo...
Eu tive alguns certos problemas neste "Sistema de Contato"
EU fiz tudo como esta no tutorial criei uma pagina chamada "index.php" e inceri o primeiro Condigo ( que tem as barras para por a informações email , assunto , Mensagem e etc )
e depoiis criei outra pagina com o nome "enviar.php" e coloquei o Segundo condigo citado !
e depois configurei os emails o qual serão enviados e depois fiz o teste na "Internet Explorer".
Assim que que informei o os requisitos necessarios, e puz em enviar, ocorreu este seguinte Erro:Parse error: parse error in c:\appserv\www\enviar.php on line 25
Que seria nesta Seguinte área:// verifica se a mensagem tem mais de 1000 caracteres
// para evitar muitas besterias...
// voce pode mudar a quantidade, ou retirar esta
// verificação
if(strlen($_POST[mensagem] > 1000){
$verifica = false;
$msg = "Erro: Sua mensagem pode conter no máximo 1000 caracteres.";
$url = "java script:history.go(-1);";
}
Caso venha à dúvida, eu uso o AppServ!
E se puder me ajudar ficarei EXTREMAMENTE Grato!
Muito Obrigado ( MSN: ericandradegt@hotmail.com )
Community Forum Software by IP.Board
Licensed to: Webmasters Online