← PHP

[Ajuda] script php não quer funcionar...

Lida 3014 vezes

Offline

Pedro Lopes 
Beta tester
Mensagens 3568 Gostos 18
Feedback +6

Troféus totais: 32
Trófeus: (Ver todos)
Level 6 Windows User Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Level 5 Level 4 Level 3

Desde já peço desculpa pelo titulo ser um pouco para o vago, lol, mas não sabia o que meter.

Fiz este codigo a baixo com php.

O script está a verificar se já existe algum entry com o mesmo ip do que esta a entrar pelo link, se já existe aparece que já cliquei naquele link, senão faz uma entry na database.

O problema é que mesmo que não exista nenhuma entry na database com o mesmo ip do user, ele diz sempre "Já clicas-te neste link"

Código: [Seleccione]
<?php // 17:23 5-2-2009
/** 
 * @author ORiOn
 * @copyright 2009
 * @website http://LibertyTuga.info
 */

mysql_connect("localhost""******""******") or die(mysql_error());
mysql_select_db("******") or die(mysql_error());




if (isset(
$_GET['id'])) {

$id $_GET["id"];
$ip getenv("REMOTE_ADDR");
$referer $_SERVER['HTTP_REFERER'];
$data date('H:i.s - d/m/Y');

$count mysql_query("SELECT COUNT(*) FROM clicks WHERE ip = '$ip'");

if ($count 0) {

echo 'Já clicas-te neste link';
 
} else {

echo 'pode enviar';

$envia mysql_query("INSERT INTO `clicks` (`id`, `ip`, `referer`, `data`) VALUES ('$id', '$ip', '$referer', '$data');") or die(mysql_error());

}

} else {
    
header("Location: http://www.LibertyTuga.info");
}

?>

Offline

anjo2 
Membro
Mensagens 3020 Gostos 0
Troféus totais: 31
Trófeus: (Ver todos)
Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Poll Starter Level 5 Level 4 Level 3 Level 2

Desde já peço desculpa pelo titulo ser um pouco para o vago, lol, mas não sabia o que meter.

Fiz este codigo a baixo com php.

O script está a verificar se já existe algum entry com o mesmo ip do que esta a entrar pelo link, se já existe aparece que já cliquei naquele link, senão faz uma entry na database.

O problema é que mesmo que não exista nenhuma entry na database com o mesmo ip do user, ele diz sempre "Já clicas-te neste link"

Código: [Seleccione]
<?php // 17:23 5-2-2009
/** 
 * @author ORiOn
 * @copyright 2009
 * @website http://LibertyTuga.info
 */

mysql_connect("localhost""******""******") or die(mysql_error());
mysql_select_db("******") or die(mysql_error());




if (isset(
$_GET['id'])) {

$id $_GET["id"];
$ip $_SERVER["REMOTE_ADDR"];
$referer $_SERVER['HTTP_REFERER'];
$data date('H:i.s - d/m/Y');

$qry mysql_query("SELECT id, ip FROM clicks WHERE ip = '$ip' AND id='$id'");
$count = @mysql_num_rows($qry);
if ($count) {

echo 'Já clicas-te neste link';
 
} else {

echo 'pode enviar';

$envia mysql_query("INSERT INTO `clicks` (`id`, `ip`, `referer`, `data`) VALUES ('$id', '$ip', '$referer', '$data');") or die(mysql_error());

}
        while(
$result = @mysql_fetch_array($qry)) echo $result['ip']." - ".$result['id']."<br />\n";

} else {
    
header("Location: http://www.LibertyTuga.info");
}

?>

O getenv nem sempre funciona, e nem estás a ver se o ip é válido...

Usa: $_SERVER["REMOTE_ADDR"]

De qualquer forma, o erro é que tens de fazer diferente, deixo a solução no que quote
Offline

Pedro Lopes 
Beta tester
Mensagens 3568 Gostos 18
Feedback +6

Troféus totais: 32
Trófeus: (Ver todos)
Level 6 Windows User Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Level 5 Level 4 Level 3

O getenv nem sempre funciona, e nem estás a ver se o ip é válido...

Usa: $_SERVER["REMOTE_ADDR"]

De qualquer forma, o erro é que tens de fazer diferente, deixo a solução no que quote

É igual porque se eu tirar o if e meter só o query funciona na mesma com o getenv
Offline

anjo2 
Membro
Mensagens 3020 Gostos 0
Troféus totais: 31
Trófeus: (Ver todos)
Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Poll Starter Level 5 Level 4 Level 3 Level 2

já foste ver à base de dados se estão lá os ips todos bem?
vê os resultados que dá, exporta-os (sem o count).
Offline

Pedro Lopes 
Beta tester
Mensagens 3568 Gostos 18
Feedback +6

Troféus totais: 32
Trófeus: (Ver todos)
Level 6 Windows User Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Level 5 Level 4 Level 3

já foste ver à base de dados se estão lá os ips todos bem?
vê os resultados que dá, exporta-os (sem o count).

Ya, já meti varias entradas na database, já apaguei tudo, já só meti uma, é tudo igual :/
Offline

anjo2 
Membro
Mensagens 3020 Gostos 0
Troféus totais: 31
Trófeus: (Ver todos)
Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Poll Starter Level 5 Level 4 Level 3 Level 2

complicado ajudar sem saber qual é o output da query... Copia e cola o meu e depois diz-me o que dá.
Offline

Pedro Lopes 
Beta tester
Mensagens 3568 Gostos 18
Feedback +6

Troféus totais: 32
Trófeus: (Ver todos)
Level 6 Windows User Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Level 5 Level 4 Level 3

complicado ajudar sem saber qual é o output da query... Copia e cola o meu e depois diz-me o que dá.

A query não faz nada!, porque aquilo aparece o echo 'Já clicas-te neste link'; por isso não faz mais nada...
Offline

Pedro Lopes 
Beta tester
Mensagens 3568 Gostos 18
Feedback +6

Troféus totais: 32
Trófeus: (Ver todos)
Level 6 Windows User Super Combination Combination Topic Starter 10 Poll Votes Poll Voter Level 5 Level 4 Level 3

Desculpa anjo2, já está a funcionar, lol, não tinha visto as tuas modificações xD