Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 10 postagens
Mais de 10 postagens
Tópico Autor
Mensagens: 19

Contador de downloads Php mysql

07-08-2009 19:05

Olá pessoal, :cool

eu fiz um script com a ajuda de um plugin do dreamweaver para fazer a contagem de downloads atraves do banco de dados. Na tabela do banco de dados tem 3 campos: 'id', 'link' e 'counter'. Eu testei localmente e deu tudo certo. Cliquei no link e fiz o download do arquivo que já estava hospedado no servidor, mas quando eu joguei as páginas no servidor e cliquei no link para fazer o download, não aconteceu nada.

Eu não uso o PhpMyAdmin local para criar as tabelas, eu configuro o arquivo de conexão para ele se conectar direto com PhpMyAdmin Online, então como ele faz o download no teste local e online não?

<?php $hostname_Downloads_DB = "exemple.myserver.com"; $database_Downloads_DB = "Downloads_DB"; $username_Downloads_DB = "MyUser"; $password_Downloads_DB = "********"; $Downloads_DB = mysql_pconnect($hostname_Downloads_DB, $username_Downloads_DB, $password_Downloads_DB) or trigger_error(mysql_error(),E_USER_ERROR); ?>

O arquivo de conexão também já está no servidor e mesmo assim não faz o download. O servidor não relata nenhum problema de conexão.

Esse é o script que só funciona localmente.

mysql_select_db($database_Downloads_DB, $Downloads_DB); $query_crysis_download = "SELECT * FROM crysis"; $crysis_download = mysql_query($query_crysis_download, $Downloads_DB) or die(mysql_error()); $row_crysis_download = mysql_fetch_assoc($crysis_download); $totalRows_crysis_download = mysql_num_rows($crysis_download); // Contador de cliques $urlparam = "download"; $ckrs = "crysis_download"; //Usado para identificação if (!isset($HTTP_SERVER_VARS["QUERY_STRING"])) { $HitLink = $HTTP_SERVER_VARS["PHP_SELF"] . "?" . $urlparam . "="; } else { $HitLink = $HTTP_SERVER_VARS["PHP_SELF"] . "?" . $HTTP_SERVER_VARS["QUERY_STRING"] . "&" . $urlparam . "="; } if (isset($HTTP_GET_VARS[$urlparam])) { $tableName = "crysis"; $fieldName = "id"; $hitsfield = "counter"; $urlfield = "link"; //atualiza a contagem $rsCon = "Downloads_DB"; $IdSource = "select * from " . $tableName . " where " . $fieldName . " = " . $HTTP_GET_VARS[$urlparam] . ""; $rsId = mysql_query($IdSource, $$rsCon) or die(mysql_error()); $row_rsId = mysql_fetch_assoc($rsId); $hiturl = $row_rsId[$urlfield]; $next = $row_rsId[$hitsfield] + 1; $upd = "update " . $tableName . " set " . $hitsfield . " = " . $next . " where " . $fieldName . " = " . $HTTP_GET_VARS[$urlparam] . ""; $rsId = mysql_query($upd, $$rsCon) or die(mysql_error()); $rsId = null; header("Location: " . $hiturl); }

E o link:

<a href="<?php echo $HitLink . $row_crysis_download["id"] ?>"><img src="../../AllImages/Windows/Jogos/Game_Content/download.png" alt="Fa&ccedil;a o download" width="128" height="128" border="0" /></a>

Então alguém pode me ajudar a fazer isso funcionar online e também me falar como fazer para ele buscar um segundo registro, por que o plugin diz que eu preciso fazer uma nova tabela para cada arquivo ou seja, parece que o script funciona apenas com um registro??? :unsure:

Muito obrigado...
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17619
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Contador de downloads Php mysql

07-08-2009 19:44

MOVIDO: de PHP para MySQL
Use a tag Code para scripts

O fórum não é para reperar scripts pronto, é para tirar dúvidas. Qual o problema está encontrando no script?

Lembrando que no fórum tem um contador de cliques que também pode ser usado como contador de downloads, e não usa MySQL
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 10 postagens
Mais de 10 postagens
Tópico Autor
Mensagens: 19

Contador de downloads Php mysql

07-08-2009 20:27

Eu especifiquei bem o problema, o script só funciona localmente. Talvez se você realmente ler o meu post você poderá me ajudar :reading .

Obrigado.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17619
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Contador de downloads Php mysql

07-08-2009 20:47

Eu lí, mas entendi errado. :D

Então o script é para funcionar online?

Troca os dados de conexão para seu servidor online

exemple.myserver.com = localhost
ai seu username, senha e banco de dados criados no Gerenciados de banco de dados.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 10 postagens
Mais de 10 postagens
Tópico Autor
Mensagens: 19

Contador de downloads Php mysql

07-08-2009 21:00

Os dados de conexão, tanto nos testes locais quanto no servidor são os mesmos... eu não uso PhpMyAdmin local, somente online. :(
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17619
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Contador de downloads Php mysql

07-08-2009 21:43

Teria que estudar todo o script. Mesmo funcionando, essa forma está errada $HTTP_GET_VARS quando se usa PHP5

Tem que ser $_GET, $_POST, $_COOKIE ou $_SESSION

Pode ser que em uma dessas passagens de forma que é incompátivel com o PHP5 pode estar gerando o erro, ai você tem que fazer essas correções, verificando os valores, por que método são passados.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 10 postagens
Mais de 10 postagens
Tópico Autor
Mensagens: 19

Contador de downloads Php mysql

07-08-2009 23:52

Muito obrigado. :;)

Eu troquei a forma de envio de $HTTP_GET_VARS para $_GET como você disse e deu certo. E graças a você consegui resolver esse problema. VLW :cool
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17619
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Contador de downloads Php mysql

08-08-2009 08:27

Boa :;-)
0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado