Flown Flown  • 27.06.15 17:51

[Syn] - Arruma esse código? Empty [Syn] - Arruma esse código? 27.06.15 17:51

Olá gente, eu fiz um código php para dar emblema ao clicar. O código está funconando e tals só que o meu problema é que o usuário recebe mais que um emblema quando clica. Tem vezes que recebe 7, outras recebe 2..
Enfim, se podessem ajeitar ele para receber apenas 1, agradecia.
Disponibilizei ele abaixo para arrumarem.

CÓDIGO:
<?php
// Função Anti SQL Injection
function anti_injection($sql){
// remove palavras que contenham sintaxe sql
$sql = preg_replace(sql_regcase("/(from|select|insert|delete|where|drop table|show tables|#|\*|--|\\\\)/"),"",$sql);
$sql = trim($sql);//limpa espaços vazio
$sql = strip_tags($sql);//tira tags html e php
$sql = addslashes($sql);//Adiciona barras invertidas a uma string
return $sql;
}
$usuario = $_SESSION['usr_name'];
$sql = "SELECT * FROM usr_users WHERE username='$usuario'";
$exe2 = mysql_query($sql) or die (mysql_error());
$mostra = mysql_fetch_array($exe2);
?>
<form action="" method="post" name="gerei">
<input type="submit" style="background: url("http://www.freewebs.com/habbozudo/badges/badges/ADM.gif"); background-repeat: repeat;" />
</form>
<?php
date_default_timezone_set('Brazil/East');
$data_sistema = date('d/m/Y');
// PEGA AS DATAS //
$action = $_GET['action'];
$reason = "Madruguei com a kihabbo";
$badge = "http://www.freewebs.com/habbozudo/badges/badges/ADM.gif";
$gerei = mysql_query("INSERT INTO usr_badge (user, reason, badge) VALUES ('$usuario', '$reason', '$badge')");
if($action == "gerar"){
}
?>

LøTøS LøTøS  • 27.06.15 18:13

[Syn] - Arruma esse código? Empty teste 27.06.15 18:13

Ta aqui
OBS: essa função ant-sql está inútil no seu código
Código:

<?php
// Função Anti SQL Injection
function anti_injection($sql){
// remove palavras que contenham sintaxe sql
$sql = preg_replace(sql_regcase("/(from|select|insert|delete|where|drop tab[b][/b]le|show tables|#|\*|--|\\\\)/"),"",$sql);
$sql = trim($sql);//limpa espaços vazio
$sql = strip_tags($sql);//tira tags html e php
$sql = addslashes($sql);//Adiciona barras invertidas a uma string
return $sql;
}
$usuario = $_SESSION['usr_name'];
$sql = "SELECT * FROM usr_users WHERE username='$usuario'";
$exe2 = mysql_query($sql) or die (mysql_error());
$mostra = mysql_fetch_array($exe2);
?>
<form action="" method="post" name="gerei">
<input type="submit" style="background: url(http://www.freewebs.com/habbozudo/badges/badges/ADM.gif); background-repeat: repeat">
</form>
<?php
date_default_timezone_set('Brazil/East');
$data_sistema = date('d/m/Y');
// PEGA AS DATAS //
if(isset($_POST['gerei'])){
$usuario = $_SESSION['usr_name'];
$reason = "Madruguei com a kihabbo";
$badge = "http://www.freewebs.com/habbozudo/badges/badges/ADM.gif";
$verifica = mysql_query("SELECT * FROM usr_badge WHERE user = '".$usuario."' AND badge = '".$badge."'")or die(mysql_error());
if(mysql_num_rows($verifica) == 0){
$gry = mysql_query("INSERT INTO usr_badge (user, reason, badge) VALUES ('$usuario', '$reason', '$badge')");
}else{
   echo "<script>alert('Este usuário já possui este emblema')</script>"
}
?>

Flown Flown  • 27.06.15 18:34

[Syn] - Arruma esse código? Empty teste 27.06.15 18:34

Faltou ai um ";" depois do script. Enfim, eu coloquei ele e funcionou. Obg
EDITADO:
Você entende bem php né? Se sim, então podia ajudar nesse tópico (https://www.power-pixel.net/t66947-syn-formulario-de-registro-nao-envia-os-dados).

Visi0n Visi0n  • 27.06.15 21:11

[Syn] - Arruma esse código? Empty teste 27.06.15 21:11

Alerta - Moderação:

O autor do tópico tem 48 horas para,
Informar se está satisfeito para que possamos fechar o tópico!

Flown Flown  • 28.06.15 6:04

[Syn] - Arruma esse código? Empty teste 28.06.15 6:04

Satisfeito, pode fechar

Visi0n Visi0n  • 28.06.15 12:52

[Syn] - Arruma esse código? Empty teste 28.06.15 12:52

Alerta - Moderação:

Tópico sendo Fechado ou Movido,
Estaremos fechando/movendo seu tópico..
Permissões neste sub-fórum
Não podes responder a tópicos

BH Servers

Recomendamos a BH Servers com proteção DDOS gratuita em Cloud Server de alta performance. Entrega imediata.